Thread (28 messages) 28 messages, 2 authors, 2022-07-14

Re: [V9fs-developer] [PATCH v5 11/11] net/9p: allocate appropriate reduced message buffers

From: Christian Schoenebeck <linux_oss@crudebyte.com>
Date: 2022-07-13 09:31:49
Also in: lkml

On Mittwoch, 13. Juli 2022 11:19:48 CEST Christian Schoenebeck wrote:
On Dienstag, 12. Juli 2022 23:11:42 CEST Dominique Martinet wrote:
quoted
Dominique Martinet wrote on Wed, Jul 13, 2022 at 04:33:35AM +0900:
quoted
Christian Schoenebeck wrote on Tue, Jul 12, 2022 at 04:31:36PM +0200:
quoted
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, as
it would not cope with it. [1]
Thinking back on RDMA:
- vs. one or two buffers as discussed in another thread, rdma will still
require two buffers, we post the receive buffer before sending as we
could otherwise be raced (reply from server during the time it'd take to
recycle the send buffer)
In practice the recv buffers should act liks a fifo and we might be able
to post the buffer we're about to send for recv before sending it and it
shouldn't be overwritten until it's sent, but that doesn't look quite
good.

- for this particular patch, we can still allocate smaller short buffers
for requests, so we should probably keep tsize to 0.
rsize there really isn't much we can do without a protocol change
though...
Good to know! I don't have any RDMA setup here to test, so I rely on what
you say and adjust this in v6 accordingly, along with the strcmp -> flag
change of course.

As this flag is going to be very RDMA-transport specific, I'm still
scratching my head for a good name though.
Or, instead of inventing some exotic flag name, maybe introducing an enum for 
the individual 9p transport types?
 
Best regards,
Christian Schoenebeck


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help