Re: [PATCH net 1/3] virtio-net: make refill work a per receive queue work
From: Bui Quang Minh
Date: Wed Dec 24 2025 - 11:45:31 EST
On 12/24/25 07:52, Jason Wang wrote:
On Tue, Dec 23, 2025 at 11:27 PM Bui Quang Minh
<minhquangbui99@xxxxxxxxx> wrote:
Currently, the refill work is a global delayed work for all the receiveI may miss something but I think this patch is sufficient to fix the problem?
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 <minhquangbui99@xxxxxxxxx>
---
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.