[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090803.202935.221338243.davem@davemloft.net>
Date: Mon, 03 Aug 2009 20:29:35 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: krkumar2@...ibm.com
Cc: herbert@...dor.apana.org.au, jarkao2@...il.com, kaber@...sh.net,
netdev@...r.kernel.org
Subject: Re: [RFC] [PATCH] Avoid enqueuing skb for default qdiscs
From: Krishna Kumar2 <krkumar2@...ibm.com>
Date: Sun, 2 Aug 2009 14:21:30 +0530
> Krishna Kumar2/India/IBM@...IN wrote on 07/28/2009 09:20:55 PM:
>
>> Subject [RFC] [PATCH] Avoid enqueuing skb for default qdiscs
>>
>> From: Krishna Kumar <krkumar2@...ibm.com>
>>
>> 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?
Although PFIFO is not work-conserving, isn't it important to retain
ordering? What if higher priority packets are in the queue when we
enqueue? This new bypass will send the wrong packet, won't it?
I'm beginning to think, if we want to make the default case go as fast
as possible, we should just bypass everything altogether. The entire
qdisc layer, all of it.
Special casing something that essentially is unused, is in a way
a waste of time. If this bypass could be applied to some of the
complicated qdiscs, then it'd be worthwhile, but just for the
default which effectively makes it do nothing, I don't see that
value in it.
--
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