Re: [PATCH v11 00/20] nfs/nfsd: add support for localio

NeilBrown
2024-07-08T04:03:15Z

On Sat, 06 Jul 2024, Christoph Hellwig wrote:
> On Sat, Jul 06, 2024 at 04:37:22PM +1000, NeilBrown wrote:
> > > a different scheme for bypassing the server for I/O. Maybe there is
> > > a really good killer argument for doing that, but it needs to be clearly
> > > stated and defended instead of assumed.
> >
> > Could you provide a reference to the text book - or RFC - that describes
> > a pNFS DS protocol that completely bypasses the network, allowing the
> > client and MDS to determine if they are the same host and to potentially
> > do zero-copy IO.
>
> I did not say that we have the exact same functionality available and
> there is no work to do at all, just that it is the standard way to bypass
> the server.

Sometimes what you don't say is important. As you acknowledge there is
work to do. Understanding how much work is involved is critical to
understanding that possible direction.

>
> RFC 5662, RFC 5663 and RFC 8154 specify layouts that completely bypass
> the network and require the client and server to find out that they talk
> to the same storage devuce, and directly perform zero copy I/O.
> They do not require to be on the same host, though.

Thanks.

>
> > If not, I will find it hard to understand your claim that it is "the
> > text book example".
>
> pNFS is all about handing out grants to bypass the server for I/O.
> That is exactly what localio is doing.

Yes, there is clearly an alignment.

But pNFS is about handing out grants using standardised protocols that
support interoperability between distinct nodes, and possibly distinct
implementations. localio doesn't need any of that. It all exists in a
single implementation on a single node. So in that sense there can be
expected to be different priorities.

Why should we pay the costs of pNFS when implementing localio? That
question can only be answered if we have a good understanding of the
costs and benefits. And that requires having a concrete proposal for
the "pNFS" option - if only a detailed sketch.

Just because pNFS could be part of the answer (which I don't dispute)
that doesn't necessarily mean it should be part of the answer.

Thanks,
NeilBrown