On 12/24/25 07:52, Jason Wang wrote:
On Tue, Dec 23, 2025 at 11:27 PM Bui Quang Minh
<[email protected]> wrote:
Currently, the refill work is a global delayed work for all the receive
queues. This commit makes the refill work a per receive queue so that we
can manage them separately and avoid further mistakes. It also helps the
successfully refilled queue avoid the napi_disable in the global delayed
refill work like before.
Signed-off-by: Bui Quang Minh <[email protected]>
---
I may miss something but I think this patch is sufficient to fix the problem?
Thanks
Yes, this fixes the reproducer in virtnet_rx_resume[_all] but the second
patch also fixes a bug variant in virtnet_open. After the first patch,
the enable_delayed_refill is still called before napi_enable. However,
the only possible delayed refill schedule is in virtnet_set_queues and
it can't happen between that window because during
virtnet_rx_resume[_all], we still holds the rtnl_lock. So leaving the
enable_delayed_refill before napi_enable does not cause an issue but it
feels not correct to me. But moving enable_delayed_refill after
napi_enable requires the new pending bool in the third patch.
Thanks,
Quang Minh.