[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1294427628.2929.30.camel@heimdal.trondhjem.org>
Date: Fri, 07 Jan 2011 14:13:48 -0500
From: Trond Myklebust <Trond.Myklebust@...app.com>
To: Russell King - ARM Linux <linux@....linux.org.uk>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
James Bottomley <James.Bottomley@...senpartnership.com>,
linux-nfs@...r.kernel.org, linux-kernel@...r.kernel.org,
Marc Kleine-Budde <mkl@...gutronix.de>,
Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>,
Marc Kleine-Budde <m.kleine-budde@...gutronix.de>,
linux-arm-kernel@...ts.infradead.org,
Parisc List <linux-parisc@...r.kernel.org>,
linux-arch@...r.kernel.org
Subject: Re: still nfs problems [Was: Linux 2.6.37-rc8]
On Fri, 2011-01-07 at 19:02 +0000, Russell King - ARM Linux wrote:
> On Fri, Jan 07, 2011 at 01:53:25PM -0500, Trond Myklebust wrote:
> > I'd still like to keep the existing code for those architectures that
> > don't have problems, since that allows us to send 32k READDIR requests
> > instead of being limited to 4k. For large directories, that is a clear
> > win.
> > For the NOMMU case we will just go back to using a single page for
> > storage (and 4k READDIR requests only). Should I just do the same for
> > architectures like ARM and PARISC?
>
> I think you said that readdir reads via the vmalloc mapping of the
> group of pages, but XDR writes to the individual pages.
>
> As I understand NFS, you receive a packet, you then have to use XDR
> to unpack the data, which you presumably write into the set of
> struct page *'s using kmap?
No. The socket or RDMA layers place the data directly into the struct
pages. We then unpack them in the XDR layer using the vmalloc mapping
and place the resulting processed readdir data into the page cache.
> Isn't a solution to have XDR write directly into the vmalloc mapping
> rather than using struct page * and kmap?
Unfortunately that isn't possible. :-(
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust@...app.com
www.netapp.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists