Subject: Re: [RFC] [PATCH] Avoid enqueuing skb for default qdiscs

From: Jarek Poplawski <[email-masked]>
Date: Mon, 3 Aug 2009 07:15:39 +0000

On Sun, Aug 02, 2009 at 02:21:30PM +0530, Krishna Kumar2 wrote:
> Krishna Kumar2/India/IBM@IBMIN wrote on 07/28/2009 09:20:55 PM:
> 
> > Subject [RFC] [PATCH] Avoid enqueuing skb for default qdiscs
> >
> > From: Krishna Kumar <[email-masked]>
> >
> > dev_queue_xmit enqueue's a skb and calls qdisc_run which
> > dequeue's the skb and xmits it. In most cases (after
> > instrumenting the code), the skb that is enqueue'd is the
> > same one that is dequeue'd (unless the queue gets stopped
> > or multiple cpu's write to the same queue and ends in a
> > race with qdisc_run). For default qdiscs, we can remove
> > this path and simply xmit the skb since this is a work
> > conserving queue.
> 
> Any comments on this patch?

Maybe I missed something, but I didn't get this patch, and can't see
it e.g. in the patchwork.

Jarek P.

> Thanks,
> 
> - KK
> 
> > The patch uses a new flag - TCQ_F_CAN_BYPASS to identify
> > the default fast queue. I plan to use this flag for the
> > previous patch also (rename if required).  The controversial
> > part of the patch is incrementing qlen when a skb is
> > requeued, this is to avoid checks like the second line below:
> >
> > +    } else if ((q->flags & TCQ_F_CAN_BYPASS) && !qdisc_qlen(q) &&
> > >> THIS LINE:   !q->gso_skb &&
> > +               !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) {
> >
> > Results of a 4 hour testing for multiple netperf sessions
> > (1, 2, 4, 8, 12 sessions on a 4 cpu system-X and 1, 2, 4,
> > 8, 16, 32 sessions on a 16 cpu P6). Aggregate Mb/s across
> > the iterations:
> >
> > -----------------------------------------------------------------
> >      |         System-X          |               P6
> > -----------------------------------------------------------------
> > Size |  ORG BW          NEW BW   |      ORG BW          NEW BW
> > -----|---------------------------|-------------------------------
> > 16K  |  154264          156234   |      155350          157569
> > 64K  |  154364          154825   |      155790          158845
> > 128K |  154644          154803   |      153418          155572
> > 256K |  153882          152007   |      154784          154596
> > -----------------------------------------------------------------
> >
> > Netperf reported Service demand reduced by 15% on the P6 but
> > no noticeable difference on the system-X box.
> >
> > Please review.
> >
> > Thanks,
> >
> > - KK
>