Re: [PATCH v2 net] r8169: fix NAPI handling under high load

2018-10-19 Thread Francois Romieu
Eric Dumazet : > On 10/18/2018 03:59 PM, Francois Romieu wrote: > > Eric Dumazet : > > [...] > >> One has to wonder why rtl8169_poll(), which might be called in a loop > >> under DOS, > >> has to call rtl_ack_events() ? > > > > So as to cover a wider temporal range before any event can trigger

Re: [PATCH v2 net] r8169: fix NAPI handling under high load

2018-10-18 Thread Eric Dumazet
On 10/18/2018 03:59 PM, Francois Romieu wrote: > Eric Dumazet : > [...] >> One has to wonder why rtl8169_poll(), which might be called in a loop under >> DOS, >> has to call rtl_ack_events() ? > > So as to cover a wider temporal range before any event can trigger an > extra irq. I was more wo

Re: [PATCH v2 net] r8169: fix NAPI handling under high load

2018-10-18 Thread Francois Romieu
Eric Dumazet : [...] > One has to wonder why rtl8169_poll(), which might be called in a loop under > DOS, > has to call rtl_ack_events() ? So as to cover a wider temporal range before any event can trigger an extra irq. I was more worried about irq cost than about IO cost (and I still am). --

Re: [PATCH v2 net] r8169: fix NAPI handling under high load

2018-10-18 Thread David Miller
From: Heiner Kallweit Date: Thu, 18 Oct 2018 19:56:01 +0200 > rtl_rx() and rtl_tx() are called only if the respective bits are set > in the interrupt status register. Under high load NAPI may not be > able to process all data (work_done == budget) and it will schedule > subsequent calls to the po

Re: [PATCH v2 net] r8169: fix NAPI handling under high load

2018-10-18 Thread Heiner Kallweit
On 18.10.2018 20:02, Eric Dumazet wrote: > > > On 10/18/2018 10:56 AM, Heiner Kallweit wrote: >> rtl_rx() and rtl_tx() are called only if the respective bits are set >> in the interrupt status register. Under high load NAPI may not be >> able to process all data (work_done == budget) and it will

Re: [PATCH v2 net] r8169: fix NAPI handling under high load

2018-10-18 Thread Eric Dumazet
On 10/18/2018 10:56 AM, Heiner Kallweit wrote: > rtl_rx() and rtl_tx() are called only if the respective bits are set > in the interrupt status register. Under high load NAPI may not be > able to process all data (work_done == budget) and it will schedule > subsequent calls to the poll callback.

[PATCH v2 net] r8169: fix NAPI handling under high load

2018-10-18 Thread Heiner Kallweit
rtl_rx() and rtl_tx() are called only if the respective bits are set in the interrupt status register. Under high load NAPI may not be able to process all data (work_done == budget) and it will schedule subsequent calls to the poll callback. rtl_ack_events() however resets the bits in the interrupt