Thread (27 messages) 27 messages, 4 authors, 2025-12-31

Re: [PATCH net 1/3] virtio-net: make refill work a per receive queue work

From: Bui Quang Minh <hidden>
Date: 2025-12-24 16:43:30
Also in: bpf, lkml, virtualization

On 12/24/25 07:52, Jason Wang wrote:
On Tue, Dec 23, 2025 at 11:27 PM Bui Quang Minh
[off-list ref] wrote:
quoted
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 <redacted>
---
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help