mbox series

[0/7] net/9p: remove msize limit in virtio transport

Message ID cover.1631816768.git.linux_oss@crudebyte.com (mailing list archive)
Headers show
Series net/9p: remove msize limit in virtio transport | expand

Message

Christian Schoenebeck Sept. 16, 2021, 6:26 p.m. UTC
This is an initial draft for getting rid of the current 500k 'msize'
limitation in the 9p virtio transport, which is currently a bottleneck for
performance of Linux 9p mounts.

This is a follow-up of the following series and discussion:
https://lore.kernel.org/all/28bb651ae0349a7d57e8ddc92c1bd5e62924a912.1630770829.git.linux_oss@crudebyte.com/T/#eb647d0c013616cee3eb8ba9d87da7d8b1f476f37

Known limitation: With this series applied I can run

  QEMU host <-> 9P virtio <-> Linux guest

with up to 3 MB msize. If I try to run it with 4 MB it seems to hit some
limitation on QEMU side:

  qemu-system-x86_64: virtio: too many write descriptors in indirect table

I haven't looked into this issue yet.

Testing and feedback appreciated!

Christian Schoenebeck (7):
  net/9p: show error message if user 'msize' cannot be satisfied
  9p/trans_virtio: separate allocation of scatter gather list
  9p/trans_virtio: turn amount of sg lists into runtime info
  9p/trans_virtio: introduce struct virtqueue_sg
  net/9p: add trans_maxsize to struct p9_client
  9p/trans_virtio: support larger msize values
  9p/trans_virtio: resize sg lists to whatever is possible

 include/net/9p/client.h |   2 +
 net/9p/client.c         |  18 ++-
 net/9p/trans_virtio.c   | 281 ++++++++++++++++++++++++++++++++++------
 3 files changed, 261 insertions(+), 40 deletions(-)

Comments

Jakub Kicinski Sept. 17, 2021, 2:09 a.m. UTC | #1
On Thu, 16 Sep 2021 20:26:08 +0200 Christian Schoenebeck wrote:
> This is an initial draft for getting rid of the current 500k 'msize'
> limitation in the 9p virtio transport, which is currently a bottleneck for
> performance of Linux 9p mounts.
> 
> This is a follow-up of the following series and discussion:
> https://lore.kernel.org/all/28bb651ae0349a7d57e8ddc92c1bd5e62924a912.1630770829.git.linux_oss@crudebyte.com/T/#eb647d0c013616cee3eb8ba9d87da7d8b1f476f37
> 
> Known limitation: With this series applied I can run
> 
>   QEMU host <-> 9P virtio <-> Linux guest
> 
> with up to 3 MB msize. If I try to run it with 4 MB it seems to hit some
> limitation on QEMU side:
> 
>   qemu-system-x86_64: virtio: too many write descriptors in indirect table
> 
> I haven't looked into this issue yet.
> 
> Testing and feedback appreciated!

nit - please run ./scripts/kernel-doc -none on files you're changing.
There seems to be a handful of warnings like this added by the series:

net/9p/trans_virtio.c:155: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
Christian Schoenebeck Sept. 17, 2021, 12:04 p.m. UTC | #2
On Freitag, 17. September 2021 04:09:08 CEST Jakub Kicinski wrote:
> On Thu, 16 Sep 2021 20:26:08 +0200 Christian Schoenebeck wrote:
> > This is an initial draft for getting rid of the current 500k 'msize'
> > limitation in the 9p virtio transport, which is currently a bottleneck for
> > performance of Linux 9p mounts.
> > 
> > This is a follow-up of the following series and discussion:
> > https://lore.kernel.org/all/28bb651ae0349a7d57e8ddc92c1bd5e62924a912.16307
> > 70829.git.linux_oss@crudebyte.com/T/#eb647d0c013616cee3eb8ba9d87da7d8b1f47
> > 6f37
> > 
> > Known limitation: With this series applied I can run
> > 
> >   QEMU host <-> 9P virtio <-> Linux guest
> > 
> > with up to 3 MB msize. If I try to run it with 4 MB it seems to hit some
> > 
> > limitation on QEMU side:
> >   qemu-system-x86_64: virtio: too many write descriptors in indirect table
> > 
> > I haven't looked into this issue yet.
> > 
> > Testing and feedback appreciated!
> 
> nit - please run ./scripts/kernel-doc -none on files you're changing.
> There seems to be a handful of warnings like this added by the series:
> 
> net/9p/trans_virtio.c:155: warning: This comment starts with '/**', but
> isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst

Sure, I'll take care about that in v2. Thanks!

Best regards,
Christian Schoenebeck