Re: [RFC] [PATCH] Don't run __qdisc_run() on a stopped TX queue
From: David Miller <davem@davemloft.net>
Date: 2009-08-04 03:14:56
From: David Miller <davem@davemloft.net>
Date: 2009-08-04 03:14:56
From: Herbert Xu <herbert@gondor.apana.org.au> Date: Wed, 29 Jul 2009 11:15:48 +0800
This can be done with a lockless ring buffer. Each CPU would deposit its packets in a qdisc ringer buffer assigned to it. The qdisc would then run on a single CPU harvesting all the ring buffers in some fair manner.
There was a recent posting (I think today) on lkml of a memory barrier based lockless queue, I think it was named kfifo, that could facilitate this.