[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <OF65D855C9.D3C88167-ON65257359.0014901D-65257359.0015059F@in.ibm.com>
Date: Mon, 17 Sep 2007 09:19:36 +0530
From: Krishna Kumar2 <krkumar2@...ibm.com>
To: Evgeniy Polyakov <johnpol@....mipt.ru>
Cc: davem@...emloft.net, gaagaan@...il.com,
general@...ts.openfabrics.org, hadi@...erus.ca,
herbert@...dor.apana.org.au, jagana@...ibm.com, jeff@...zik.org,
kaber@...sh.net, kumarkr@...ux.ibm.com, mcarlson@...adcom.com,
mchan@...adcom.com, netdev@...r.kernel.org,
peter.p.waskiewicz.jr@...el.com, randy.dunlap@...cle.com,
rdreier@...co.com, rick.jones2@...com, Robert.Olsson@...a.slu.se,
shemminger@...ux-foundation.org, sri@...ibm.com, tgraf@...g.ch,
xma@...ibm.com
Subject: Re: [PATCH 3/10 REV5] [sched] Modify qdisc_run to support batching
Hi Evgeniy,
Evgeniy Polyakov <johnpol@....mipt.ru> wrote on 09/14/2007 05:45:19 PM:
> > + if (skb->next) {
> > + int count = 0;
> > +
> > + do {
> > + struct sk_buff *nskb = skb->next;
> > +
> > + skb->next = nskb->next;
> > + __skb_queue_tail(dev->skb_blist, nskb);
> > + count++;
> > + } while (skb->next);
>
> Could it be list_move()-like function for skb lists?
> I'm pretty sure if you change first and the last skbs and ke of the
> queue in one shot, result will be the same.
I have to do a bit more like update count, etc, but I agree it is do-able.
I had mentioned in my PATCH 0/10 that I will later try this suggestion
that you provided last time.
> Actually how many skbs are usually batched in your load?
It depends, eg when the tx lock is not got, I get batching of upto 8-10
skbs (assuming that tx lock was not got quite a few times). But when the
queue gets blocked, I have seen batching upto 4K skbs (if tx_queue_len
is 4K).
> > + /* Reset destructor for kfree_skb to work */
> > + skb->destructor = DEV_GSO_CB(skb)->destructor;
> > + kfree_skb(skb);
>
> Why do you free first skb in the chain?
This is the gso code which has segmented 'skb' to skb'1-n', and those
skb'1-n' are sent out and freed by driver, which means the dummy 'skb'
(without any data) remains to be freed.
Thanks,
- KK
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists