Re: [RFC] [PATCH] Don't run __qdisc_run() on a stopped TX queue
From: Jarek Poplawski <hidden>
Date: 2009-07-29 19:27:14
On Wed, Jul 29, 2009 at 06:38:36PM +0530, Krishna Kumar2 wrote:
Hi Jarek, Jarek Poplawski [off-list ref] wrote on 07/29/2009 06:17:34 PM:quoted
Re: [RFC] [PATCH] Don't run __qdisc_run() on a stopped TX queue On Wed, Jul 29, 2009 at 08:30:41PM +0800, Herbert Xu wrote:quoted
On Wed, Jul 29, 2009 at 11:26:14AM +0000, Jarek Poplawski wrote:quoted
If you mean the tx lock there should be no "real" contention: only one waiter max. qdisc lock's contention might be higher, but it's use (during contention) better: enqueue + dequeue together instead of doing it separately.Hmm, you will have contention if they're both transmitting a single flow which must always go into a single physical queue. So you'll have two CPUs doing the work of a single CPU, with one of them always spinning on the TX lock.Hmm.. I'd call it a little waiting, but OK let's call it contention;-) When tx is faster than queue operations there could be no contention at all. I'm not saying I must be right: IMHO it's only worth trying.My expectation is that tx would be much longer than a few lines of queue operation....
I meant here the case of non-default qdisc, like HTB, HFSC or CBQ, often with many classes and filters, so a few more lines than usual... Thanks, Jarek P.