OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: vsock: device expects at least 4 KB buffers in the rx virtqueue


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.
    +
     \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

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 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]