Re: [PATCH net-next v9 2/4] virtio/vsock: send credit update during setting SO_RCVLOWAT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 14, 2023 at 12:19:45PM +0300, Arseniy Krasnov wrote:
Send credit update message when SO_RCVLOWAT is updated and it is bigger
than number of bytes in rx queue. It is needed, because 'poll()' will
wait until number of bytes in rx queue will be not smaller than
SO_RCVLOWAT, so kick sender to send more data. Otherwise mutual hungup
for tx/rx is possible: sender waits for free space and receiver is
waiting data in 'poll()'.

Fixes: b89d882dc9fc ("vsock/virtio: reduce credit update messages")
Signed-off-by: Arseniy Krasnov <avkrasnov@xxxxxxxxxxxxxxxxx>
Reviewed-by: Stefano Garzarella <sgarzare@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
---
Changelog:
v1 -> v2:
 * Update commit message by removing 'This patch adds XXX' manner.
 * Do not initialize 'send_update' variable - set it directly during
   first usage.
v3 -> v4:
 * Fit comment in 'virtio_transport_notify_set_rcvlowat()' to 80 chars.
v4 -> v5:
 * Do not change callbacks order in transport structures.
v5 -> v6:
 * Reorder callbacks in transport structures.
 * Do to send credit update when 'fwd_cnt' == 'last_fwd_cnt'.
v8 -> v9:
 * Add 'Fixes' tag.

drivers/vhost/vsock.c                   |  1 +
include/linux/virtio_vsock.h            |  1 +
net/vmw_vsock/virtio_transport.c        |  1 +
net/vmw_vsock/virtio_transport_common.c | 30 +++++++++++++++++++++++++
net/vmw_vsock/vsock_loopback.c          |  1 +
5 files changed, 34 insertions(+)

As I already mentioned in the cover letter, this patch doesn't compile
unless we apply patch 3 before this one, so:

Nacked-by: Stefano Garzarella <sgarzare@xxxxxxxxxx>





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux