On Thu, 18 May 2023 14:17:45 -0700 Stefan Roesch wrote: > unsigned long start_time = loop_end ? busy_loop_current_time() : 0; > - int (*napi_poll)(struct napi_struct *napi, int budget); > - void *have_poll_lock = NULL; > - struct napi_struct *napi; > + struct napi_busy_poll_ctx ctx = {}; > > restart: Can you refactor this further? I think the only state that's kept across "restarts" is the start_time right? So this version is effectively a loop around what ends up being napi_busy_loop_rcu(), no?