On Mon, 16 Nov 2020 12:04:07 +0100 Björn Töpel wrote: > @@ -6771,6 +6806,19 @@ static int napi_poll(struct napi_struct *n, struct list_head *repoll) > if (likely(work < weight)) > goto out_unlock; > > + /* The NAPI context has more processing work, but busy-polling > + * is preferred. Exit early. > + */ > + if (napi_prefer_busy_poll(n)) { > + if (napi_complete_done(n, work)) { > + /* If timeout is not set, we need to make sure > + * that the NAPI is re-scheduled. > + */ > + napi_schedule(n); > + } > + goto out_unlock; > + } Why is this before the disabled check? > /* Drivers must not modify the NAPI state if they > * consume the entire weight. In such cases this code > * still "owns" the NAPI instance and therefore can