Message ID | 20190903073748.25214-1-mst@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [net-next] vsock/virtio: a better comment on credit update | expand |
On Tue, Sep 03, 2019 at 03:38:16AM -0400, Michael S. Tsirkin wrote: > The comment we have is just repeating what the code does. > Include the *reason* for the condition instead. > > Cc: Stefano Garzarella <sgarzare@redhat.com> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > --- > net/vmw_vsock/virtio_transport_common.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c > index 94cc0fa3e848..5bb70c692b1e 100644 > --- a/net/vmw_vsock/virtio_transport_common.c > +++ b/net/vmw_vsock/virtio_transport_common.c > @@ -307,8 +307,13 @@ virtio_transport_stream_do_dequeue(struct vsock_sock *vsk, > > spin_unlock_bh(&vvs->rx_lock); > > - /* We send a credit update only when the space available seen > - * by the transmitter is less than VIRTIO_VSOCK_MAX_PKT_BUF_SIZE > + /* To reduce the number of credit update messages, > + * don't update credits as long as lots of space is available. > + * Note: the limit chosen here is arbitrary. Setting the limit > + * too high causes extra messages. Too low causes transmitter > + * stalls. As stalls are in theory more expensive than extra > + * messages, we set the limit to a high value. TODO: experiment > + * with different values. > */ > if (free_space < VIRTIO_VSOCK_MAX_PKT_BUF_SIZE) { > virtio_transport_send_credit_update(vsk, Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
From: "Michael S. Tsirkin" <mst@redhat.com> Date: Tue, 3 Sep 2019 03:38:16 -0400 > The comment we have is just repeating what the code does. > Include the *reason* for the condition instead. > > Cc: Stefano Garzarella <sgarzare@redhat.com> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Applied.
diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c index 94cc0fa3e848..5bb70c692b1e 100644 --- a/net/vmw_vsock/virtio_transport_common.c +++ b/net/vmw_vsock/virtio_transport_common.c @@ -307,8 +307,13 @@ virtio_transport_stream_do_dequeue(struct vsock_sock *vsk, spin_unlock_bh(&vvs->rx_lock); - /* We send a credit update only when the space available seen - * by the transmitter is less than VIRTIO_VSOCK_MAX_PKT_BUF_SIZE + /* To reduce the number of credit update messages, + * don't update credits as long as lots of space is available. + * Note: the limit chosen here is arbitrary. Setting the limit + * too high causes extra messages. Too low causes transmitter + * stalls. As stalls are in theory more expensive than extra + * messages, we set the limit to a high value. TODO: experiment + * with different values. */ if (free_space < VIRTIO_VSOCK_MAX_PKT_BUF_SIZE) { virtio_transport_send_credit_update(vsk,
The comment we have is just repeating what the code does. Include the *reason* for the condition instead. Cc: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- net/vmw_vsock/virtio_transport_common.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)