2016-04-01 4:30 GMT+09:00 David Miller <da...@davemloft.net>: > From: Akinobu Mita <akinobu.m...@gmail.com> > Date: Thu, 31 Mar 2016 01:38:39 +0900 > >> + struct sk_buff_head tx_queue; > > The way the queueing works in this driver is that it is only possible > to have one SKB being transmitted at one time. > > This is evident by how the driver immediately stops the TX queue when > it is given a new packet to transmit, and this is woken up by the TX > completion IRQ. > > So don't use a queue here, just use a plain single pointer. > > The SKB queue you're using here is going to also do locking which is > even more unnecessary overhead.
Thanks for spotting this. Using a single pointer works fine. Maybe we can support sending multiple packets at a time, but it should be another separated patch.