All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Stefano Garzarella <sgarzare@redhat.com>
Cc: virtio-comment@lists.oasis-open.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: [virtio-comment] Re: vsock: device expects at least 4 KB buffers in the rx virtqueue
Date: Fri, 15 Nov 2019 09:06:36 -0500	[thread overview]
Message-ID: <20191115085838-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20191115113117.kwegz2adjd7rl6km@steredhat>

On Fri, Nov 15, 2019 at 12:31:17PM +0100, Stefano Garzarella wrote:
> Hi,
> following the discussion with Michael [1], the device emulation
> implemented in vhost-vsock made an assumption on buffers at least 4 KB
> in the rx virtqueue.
> 
> This patch [2] removed the assumption unintentionally, but vhost-vsock
> modules released before Linux v5.4 still have this limitation.
> 
> The current implementation continues to use 4 KB buffers, so for now, we
> are backward compatible, but we should add something in the
> specifications.
> 
> I'm not sure how to proceed, my ideas are the following:
> 
> 1. Add a note like this:
>     diff --git a/virtio-vsock.tex b/virtio-vsock.tex
>     index da7e641..4c8f65d 100644
>     --- a/virtio-vsock.tex
>     +++ b/virtio-vsock.tex
>     @@ -198,6 +198,9 @@ \subsubsection{Receive and Transmit}\label{sec:Device Types / Socket Device / De
>      Virtqueue buffers for outgoing packets are read-only. Virtqueue buffers for
>      incoming packets are write-only.
>      
>     +Note: The device implementation (vhost-vsock) in Linux prior to v5.4 requires
>     +that the receive buffers in the rx virtqueue MUST be at least 4KBytes.
>     +

Question is how big a fix it is for all devices?
It is attractive to fix it in the correct place, which is host kernel.
If we are to fix it I'd start with putting the patch in stable,
and red hat kernels over which we have control.

Also, there are implementations outside vhost. Can you check these
please? Did they make the 4K buffer assumption too?

>      \drivernormative{\paragraph}{Device Operation: Receive and Transmit}{Device Types / Socket Device / Device Operation / Receive and Transmit}
>      
>      The \field{guest_cid} configuration field MUST be used as the source CID when
> 
> 2. Add a new feature to tell that the device supports any buffer size in
>    the rx queue
> 
> 3. Add a new feature to support mergeable buffers (in my plans),
>    avoiding the feature at point 2

Assuming we make it a new feature, I think either 2 or 3.


> Any suggestion?
> 
> Thanks,
> Stefano
> 
> [1] https://lkml.org/lkml/2019/9/2/676
> [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6dbd3e66e7785a2f055bf84d98de9b8fd31ff3f5 


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


  reply	other threads:[~2019-11-15 14:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-15 11:31 [virtio-comment] vsock: device expects at least 4 KB buffers in the rx virtqueue Stefano Garzarella
2019-11-15 14:06 ` Michael S. Tsirkin [this message]
2019-11-18 11:28   ` [virtio-comment] " Stefano Garzarella

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191115085838-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=sgarzare@redhat.com \
    --cc=stefanha@redhat.com \
    --cc=virtio-comment@lists.oasis-open.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.