Re: [PATCH 0/2] Get rid of ndo_xmit_flush
From: Hannes Frederic Sowa <hidden>
Date: 2014-09-01 22:31:12
On Mo, 2014-09-01 at 14:56 -0700, David Miller wrote:
From: Hannes Frederic Sowa <redacted> Date: Mon, 01 Sep 2014 22:05:42 +0200quoted
But as soon as we try to make Qdiscs absolutely lockless, we don't have any guard that we don't concurrently dequeue skbs from it and suddenly one Qdisc dequeue processing entity couldn't notify the driver that the end of the batching was reached. I think this could become a problem depending on how much of the locking is removed?I am certain that batching will require taking the device transmit lock over the ->ndo_start_xmit() invocations, and therefore the deferral decisions must atomically be made inside of that context.
I'll stop to throw doubt into this discussion now. ;) I am afraid that TX-lock is per nic-queue and it won't work out that easy because skbs for different queues can reside in a Qdisc. Bye, Hannes