On Tue, 13 Feb 2024 14:16:47 +0100 Alexander Lobakin wrote: > > Fix softirq's not being handled during napi_schedule() call when > > receiving marker packets for queue disable by disabling local bottom > > half. > > BTW, how exactly does this help? > > __napi_schedule() already disables interrupts (local_irq_save()). > napi_schedule_prep() only has READ_ONCE() and other atomic read/write > helpers. > > It's always been safe to call napi_schedule() with enabled BH, so I > don't really understand how this works.
Sorry for late reply. IIRC the problem isn't a race but the fact that local_irq_restore() does not have a hook for BH. IOW we may just set the bit that the BH is pending but never call into softirq.c to run it.
