Le Thu, Feb 13, 2025 at 11:04:52AM -0800, Jakub Kicinski a écrit : > On Thu, 13 Feb 2025 10:14:02 -0800 Breno Leitao wrote: > > > The problem is a bit nasty, on a closer look. We don't know if netcons > > > is called in IRQ context or not. How about we add an hrtimer to netdevsim, > > > schedule it to fire 5usec in the future instead of scheduling NAPI > > > immediately? We can call napi_schedule() from a timer safely. > > > > > > Unless there's another driver which schedules NAPI from xmit. > > > Then we'd need to try harder to fix this in netpoll. > > > veth does use NAPI on xmit but it sets IFF_DISABLE_NETPOLL already. > > > > Just to make sure I follow the netpoll issue. What would you like to fix > > in netpoll exactly? > > Nothing in netpoll, the problem is that netdevsim calls napi_schedule > from the xmit path. That's incompatible with netpoll. We should fix > netdevsim instead (unless more real drivers need napi-from-xmit to > work). Let me clarify, because I don't know much this area. If the problem is that xmit can't call napi_schedule() by design, then I defer to you. But if the problem is that napi_schedule() may or may not be called from an interrupt, please note that local_bh_enable() won't run softirqs from a hardirq and will instead defer to IRQ tail. So it's fine to do an unconditional pair of local_bh_disable() / local_bh_enable(). Thanks.