All of lore.kernel.org
 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
  0 siblings, 0 replies; 52+ 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] 52+ messages in thread

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

Thread overview: 52+ 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 ` 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  6:40   ` Jason Wang
2023-04-13 16:25   ` Michael S. Tsirkin
2023-04-13 16:25     ` Michael S. Tsirkin
2023-04-14  5:04     ` Jason Wang
2023-04-14  5:04       ` Jason Wang
2023-04-14  7:21       ` Michael S. Tsirkin
2023-04-14  7:21         ` Michael S. Tsirkin
2023-04-17  3:40         ` Jason Wang
2023-04-17  3:40           ` Jason Wang
2023-05-05  3:46           ` Jason Wang
2023-05-05  3:46             ` Jason Wang
2023-05-10  5:32           ` Michael S. Tsirkin
2023-05-10  5:32             ` Michael S. Tsirkin
2023-05-15  1:05             ` Jason Wang
2023-05-15  1:05               ` Jason Wang
2023-05-15  4:45               ` Michael S. Tsirkin
2023-05-15  4:45                 ` Michael S. Tsirkin
2023-05-15  5:13                 ` Jason Wang
2023-05-15  5:13                   ` Jason Wang
2023-05-15 10:17                   ` Michael S. Tsirkin
2023-05-15 10:17                     ` Michael S. Tsirkin
2023-05-16  2:44                     ` Jason Wang
2023-05-16  2:44                       ` Jason Wang
2023-05-16  4:12                       ` Michael S. Tsirkin
2023-05-16  4:12                         ` Michael S. Tsirkin
2023-05-16  4:17                         ` Jason Wang
2023-05-16  4:17                           ` Jason Wang
2023-05-16  5:56                           ` Michael S. Tsirkin
2023-05-16  5:56                             ` Michael S. Tsirkin
2023-05-16 19:36                           ` Jakub Kicinski
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  6:40   ` Jason Wang
2023-04-13  7:27   ` Xuan Zhuo
2023-04-13  7:27     ` Xuan Zhuo
2023-04-14  5:09     ` Jason Wang
2023-04-14  5:09       ` Jason Wang
2023-04-14  5:10       ` Jason Wang
2023-04-14  5:10         ` Jason Wang
2023-05-16 20:54   ` Michael S. Tsirkin
2023-05-16 20:54     ` Michael S. Tsirkin
2023-05-17  0:50     ` Jason Wang
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:02   ` Maxime Coquelin
2023-04-13 13:05   ` Maxime Coquelin
2023-04-13 13:05     ` Maxime Coquelin
2023-04-13 14:04 ` Jakub Kicinski
2023-04-14  4:53   ` Jason Wang
2023-04-14  4:53     ` Jason Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.