Re: [PATCH v6 11/11] net/9p: allocate appropriate reduced message buffers

From: Jason Gunthorpe
Date: Mon Oct 17 2022 - 13:03:33 EST


On Fri, Jul 15, 2022 at 11:33:56PM +0200, Christian Schoenebeck wrote:
> So far 'msize' was simply used for all 9p message types, which is far
> too much and slowed down performance tremendously with large values
> for user configurable 'msize' option.
>
> Let's stop this waste by using the new p9_msg_buf_size() function for
> allocating more appropriate, smaller buffers according to what is
> actually sent over the wire.
>
> Only exception: RDMA transport is currently excluded from this message
> size optimization - for its response buffers that is - as RDMA transport
> would not cope with it, due to its response buffers being pulled from a
> shared pool. [1]
>
> Link: https://lore.kernel.org/all/Ys3jjg52EIyITPua@xxxxxxxxxxxxx/ [1]
> Signed-off-by: Christian Schoenebeck <linux_oss@xxxxxxxxxxxxx>
> ---
> net/9p/client.c | 42 +++++++++++++++++++++++++++++++++++-------
> 1 file changed, 35 insertions(+), 7 deletions(-)

It took me a while to sort out, but for any others - this patch is
incompatible with qemu 5.0. It starts working again after this qemu
patch:

commit cf45183b718f02b1369e18c795dc51bc1821245d
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
Date: Thu May 21 12:26:25 2020 -0700

Revert "9p: init_in_iov_from_pdu can truncate the size"

This reverts commit 16724a173049ac29c7b5ade741da93a0f46edff7.
It causes https://bugs.launchpad.net/bugs/1877688.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
Reviewed-by: Christian Schoenebeck <qemu_oss@xxxxxxxxxxxxx>
Message-Id: <20200521192627.15259-1-sstabellini@xxxxxxxxxx>
Signed-off-by: Greg Kurz <groug@xxxxxxxx>

It causes something like this:

# modprobe ib_cm
qemu-system-x86_64: VirtFS reply type 117 needs 17 bytes, buffer has 17, less than minimum

Jason