Re: [RFC PATCH 0/2] net: threadable napi poll loop
From: Hannes Frederic Sowa
Date: Wed May 11 2016 - 18:47:35 EST
On 11.05.2016 16:45, Eric Dumazet wrote:
> On Wed, May 11, 2016 at 7:38 AM, Paolo Abeni <pabeni@xxxxxxxxxx> wrote:
>
>> Uh, we have likely the same issue in the net_rx_action() function, which
>> also execute with bh disabled and check for jiffies changes even on
>> single core hosts ?!?
>
> That is why we have a loop break after netdev_budget=300 packets.
> And a sysctl to eventually tune this.
>
> Same issue for softirq handler, look at commit
> 34376a50fb1fa095b9d0636fa41ed2e73125f214
>
> Your questions about this central piece of networking code are worrying.
>
>>
>> Aren't jiffies updated by the timer interrupt ? and thous even with
>> bh_disabled ?!?
>
> Exactly my point : jiffie wont be updated in your code, since you block BH.
To be fair, jiffies get updated in hardirq and not softirq context. The
cond_resched_softirq not looking for pending softirqs is indeed a problem.
Thanks,
Hannes