Re: [PATCH 0/2] Get rid of ndo_xmit_flush
From: David Miller <davem@davemloft.net>
Date: 2014-09-01 21:56:47
From: David Miller <davem@davemloft.net>
Date: 2014-09-01 21:56:47
From: Hannes Frederic Sowa <redacted> Date: Mon, 01 Sep 2014 22:05:42 +0200
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.