[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1330380530.5541.87.camel@lade.trondhjem.org>
Date: Mon, 27 Feb 2012 22:08:50 +0000
From: "Myklebust, Trond" <Trond.Myklebust@...app.com>
To: Dave Kleikamp <dave.kleikamp@...cle.com>
CC: "linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Zach Brown <zab@...bo.net>,
"linux-nfs@...r.kernel.org" <linux-nfs@...r.kernel.org>
Subject: Re: [RFC PATCH 22/22] nfs: add support for read_iter, write_iter
On Mon, 2012-02-27 at 15:19 -0600, Dave Kleikamp wrote:
> This patch implements the read_iter and write_iter file operations which
> allow kernel code to initiate directIO. This allows the loop device to
> read and write directly to the server, bypassing the page cache.
>
> Signed-off-by: Dave Kleikamp <dave.kleikamp@...cle.com>
> Cc: Zach Brown <zab@...bo.net>
> Cc: Trond Myklebust <Trond.Myklebust@...app.com>
> Cc: linux-nfs@...r.kernel.org
Performance is going to be absolutely terrible for O_DIRECT bvecs if you
send just one page per RPC call. We are working on merging the O_DIRECT
and page cache code in order to give O_DIRECT the ability to coalesce
requests and do pNFS, and I'm hoping that code will be available soon.
In the meantime, wouldn't it be possible to add basic coalescing to
nfs_direct_read_schedule_bvec/nfs_direct_write_schedule_bvec more or
less in the same way that we do for multi-page iovec segments?
i.e. if the next bvec is contiguous with the previous, and the resulting
RPC read length < rsize / write length < wsize, then add it to the same
RPC call.
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust@...app.com
www.netapp.com
Powered by blists - more mailing lists