mirror of https://lore.kernel.org/lkml/
 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; 27+ messages in thread
From: Jason Wang @ 2023-04-13  6:40 UTC (permalink / raw)
  To: mst, jasowang
  Cc: davem, edumazet, kuba, pabeni, virtualization, linux-kernel,
	maxime.coquelin, alvaro.karsz, eperezma, xuanzhuo,
	david.marchand

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


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

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

Thread overview: 27+ 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-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  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
2023-04-13 14:04 ` Jakub Kicinski
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

Powered by JetHome