On Wed, 24 Feb 2021 16:44:55 -0800 Wei Wang wrote: > On Wed, Feb 24, 2021 at 4:33 PM Jakub Kicinski <k...@kernel.org> wrote: > > > > On Wed, 24 Feb 2021 16:16:58 -0800 Wei Wang wrote: > > > On Wed, Feb 24, 2021 at 4:11 PM Alexander Duyck <alexanderdu...@fb.com> > > > wrote: > [...] > > > > > > Please help hold on to the patch for now. I think Martin is still > > > seeing issues on his setup even with this patch applied. I have not > > > yet figured out why. But I think we should not merge this patch until > > > the issue is cleared. Will update this thread with progress. > > > > If I'm looking right __busy_poll_stop() is only called if the last > > napi poll used to re-enable IRQs consumed full budget. You need to > > clear your new bit in busy_poll_stop(), not in __busy_poll_stop(). > > That will fix the case when hand off back to the normal poller (sirq, > > or thread) happens without going thru __napi_schedule(). > > If the budget is not fully consumed, napi_complete_done() should have > been called by the driver which will clear SCHED_BUSY_POLL bit.
Ah, right.