Jakub Kicinski <kuba@xxxxxxxxxx> writes: > 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? I'm not sure I understand this correctly. Do you want the start time to be a parameter of the function napi_busy_poll_rcu?