On Wed, 2016-04-13 at 06:43 -0700, Eric Dumazet wrote: > On Wed, 2016-04-13 at 16:17 +0300, Michael S. Tsirkin wrote: > > On Wed, Apr 13, 2016 at 06:09:26AM -0700, Eric Dumazet wrote: > > > You really need to convince John Fastabend to work full time on the real > > > thing > > > > Meaning making all qdiscs themselves lockless? With complex policies > > like codel I can see how that might be challenging ... > > Codel is a fifo, plus some droping capabilities at dequeue time. > > It totally can be made lockless.
By lockless, I really meant decouple the enqueue() and dequeue() phases. Both sides could use a separate exclusion mechanism. So when qdisc_run() is dequeuing a bunch of packets (owning __QDISC___STATE_RUNNING), other cpus would still be able to queue additional packets.
