Messages in this thread | | | From | Måns Rullgård <> | Subject | Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller | Date | Wed, 11 Nov 2015 12:22:28 +0000 |
| |
David Miller <davem@davemloft.net> writes:
> From: Måns Rullgård <mans@mansr.com> > Date: Wed, 11 Nov 2015 00:40:09 +0000 > >> When the DMA complete interrupt arrives, the next chain should be >> kicked off as quickly as possible, and I don't see why that would >> benefit from being done in napi context. > > NAPI isn't about low latency, it's about fairness and interrupt > mitigation. > > You probably don't even realize that all of the TX SKB freeing you do > in the hardware interrupt handler end up being actually processed by a > scheduled software interrupt anyways. > > So you are gaining almost nothing by not doing TX completion in NAPI > context, whereas by doing so you would be gaining a lot including > more simplified locking or even the ability to do no locking at all.
TX completion is separate from restarting the DMA, and moving that to NAPI may well be a good idea. Should I simply napi_schedule() if the hardware indicates TX is complete and do the cleanup in the NAPI poll function?
-- Måns Rullgård mans@mansr.com
| |