From: Yuehai Xu on
Hi all,

Suppose there is only one nfsd and two clients are sending random read
requests to this daemon. In this way, read ahead of the client should
not work since the requests are random. The requests between these two
clients should be async, while the requests from any one client of the
two should be sync. My question is about how will the nfsd handle
these requests, using sync or async mode in the kernel? Say, will nfsd
never handle the next request unless the previous request has been
served, without considering which clients the request belongs to? Or
nfsd just dispatch async requests to the lower level as soon as it
receives a request?

Any answer will be appreciated!

Yuehai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Yuehai Xu on
On Mon, Aug 9, 2010 at 8:00 AM, Yuehai Xu <yuehaixu(a)gmail.com> wrote:
> Hi all,
>
> Suppose there is only one nfsd and two clients are sending random read
> requests to this daemon. In this way, read ahead of the client should
> not work since the requests are random. The requests between these two
> clients should be async, while the requests from any one client of the
> two should be sync. My question is about how will the nfsd handle
> these requests, using sync or async mode in the kernel? Say, will nfsd
> never handle the next request unless the previous request has been
> served, without considering which clients the request belongs to? Or
> nfsd just dispatch async requests to the lower level as soon as it
> receives a request?
>
> Any answer will be appreciate!
>
> Yuehai
>

I review the code of NFS and notice that the read operation of NFS
will invoke generic_file_aio_read(), which means the requests(from the
case I mentioned above) dispatched by a nfsd should be sync to each
other, is that correct?

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