virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next V2 0/2] virtio-net: don't busy poll for cvq command
@ 2023-04-13  6:40 Jason Wang
  2023-04-13  6:40 ` [PATCH net-next V2 1/2] virtio-net: convert rx mode setting to use workqueue Jason Wang
                   ` (3 more replies)
  0 siblings, 4 replies; 25+ messages in thread
From: Jason Wang @ 2023-04-13  6:40 UTC (permalink / raw)
  To: mst, jasowang
  Cc: xuanzhuo, linux-kernel, virtualization, eperezma, edumazet,
	maxime.coquelin, kuba, pabeni, david.marchand, davem

Hi all:

The code used to busy poll for cvq command which turns out to have
several side effects:

1) infinite poll for buggy devices
2) bad interaction with scheduler

So this series tries to use sleep instead of busy polling. In this
version, I take a step back: the hardening part is not implemented and
leave for future investigation. We use to aggree to use interruptible
sleep but it doesn't work for a general workqueue.

Please review.

Thanks

Changes since V1:
- use RTNL to synchronize rx mode worker
- use completion for simplicity
- don't try to harden CVQ command

Changes since RFC:

- switch to use BAD_RING in virtio_break_device()
- check virtqueue_is_broken() after being woken up
- use more_used() instead of virtqueue_get_buf() to allow caller to
  get buffers afterwards
  - break the virtio-net device when timeout
  - get buffer manually since the virtio core check more_used() instead

Jason Wang (2):
  virtio-net: convert rx mode setting to use workqueue
  virtio-net: sleep instead of busy waiting for cvq command

 drivers/net/virtio_net.c | 76 ++++++++++++++++++++++++++++++++++------
 1 file changed, 66 insertions(+), 10 deletions(-)

-- 
2.25.1

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2023-05-17  0:50 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-13  6:40 [PATCH net-next V2 0/2] virtio-net: don't busy poll for cvq command Jason Wang
2023-04-13  6:40 ` [PATCH net-next V2 1/2] virtio-net: convert rx mode setting to use workqueue Jason Wang
2023-04-13 16:25   ` Michael S. Tsirkin
2023-04-14  5:04     ` Jason Wang
2023-04-14  7:21       ` Michael S. Tsirkin
2023-04-17  3:40         ` Jason Wang
2023-05-05  3:46           ` Jason Wang
2023-05-10  5:32           ` Michael S. Tsirkin
2023-05-15  1:05             ` Jason Wang
2023-05-15  4:45               ` Michael S. Tsirkin
2023-05-15  5:13                 ` Jason Wang
2023-05-15 10:17                   ` Michael S. Tsirkin
2023-05-16  2:44                     ` Jason Wang
2023-05-16  4:12                       ` Michael S. Tsirkin
2023-05-16  4:17                         ` Jason Wang
2023-05-16  5:56                           ` Michael S. Tsirkin
2023-04-13  6:40 ` [PATCH net-next V2 2/2] virtio-net: sleep instead of busy waiting for cvq command Jason Wang
2023-04-13  7:27   ` Xuan Zhuo
2023-04-14  5:09     ` Jason Wang
2023-04-14  5:10       ` Jason Wang
2023-05-16 20:54   ` Michael S. Tsirkin
2023-05-17  0:50     ` Jason Wang
2023-04-13 13:02 ` [PATCH net-next V2 0/2] virtio-net: don't busy poll " Maxime Coquelin
2023-04-13 13:05   ` Maxime Coquelin
     [not found] ` <20230413070408.630fa731@kernel.org>
2023-04-14  4:53   ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).