Re: [2/3] POHMELFS: Documentation.

From: Trond Myklebust
Date: Sat Jun 14 2008 - 15:14:24 EST


On Sat, 2008-06-14 at 10:56 +0400, Evgeniy Polyakov wrote:
> > That sounds great, but what do you mean by 'novel'? Don't other
> > modern network filesystems use asynchronous requests and replies in
> > some form? It seems like the obvious thing.
>
> Maybe it was a bit naive though :)
> But I checked lots of implementation, all of them use send()/recv()
> approach. NFSv4 uses a bit different, but it is a cryptic, and at least
> from its names it is not clear:
> like nfs_pagein_multi() -> nfs_pageio_complete() -> add_stats. Presumably
> we add stats when we have data handy...

You're confusing write gathering with asynchronous I/O...

NFS attempts to send multiple contiguous pages in one I/O request, and
so it has a mechanism for collecting them and dispatching the I/O as
soon as we have enough pages for an RPC call.

The actual RPC call is then handled by the sunrpc layer and is done
fully asynchronously using non-blocking I/O.

Trond

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/