From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: still nfs problems [Was: Linux 2.6.37-rc8] Date: Fri, 7 Jan 2011 19:02:29 +0000 Message-ID: <20110107190229.GX31708@n2100.arm.linux.org.uk> References: <20110105210448.GM8638@n2100.arm.linux.org.uk> <1294262208.2952.4.camel@heimdal.trondhjem.org> <1294268808.2952.18.camel@heimdal.trondhjem.org> <1294270104.16957.73.camel@mulgrave.site> <1294335614.22825.154.camel@mulgrave.site> <1294336054.2905.1.camel@heimdal.trondhjem.org> <1294426405.2929.23.camel@heimdal.trondhjem.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1294426405.2929.23.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org> Sender: linux-nfs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Trond Myklebust Cc: Linus Torvalds , James Bottomley , linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Marc Kleine-Budde , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , Marc Kleine-Budde , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Parisc List , linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-arch.vger.kernel.org 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? Isn't a solution to have XDR write directly into the vmalloc mapping rather than using struct page * and kmap? -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from caramon.arm.linux.org.uk ([78.32.30.218]:35348 "EHLO caramon.arm.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755069Ab1AGTDx (ORCPT ); Fri, 7 Jan 2011 14:03:53 -0500 Date: Fri, 7 Jan 2011 19:02:29 +0000 From: Russell King - ARM Linux Subject: Re: still nfs problems [Was: Linux 2.6.37-rc8] Message-ID: <20110107190229.GX31708@n2100.arm.linux.org.uk> References: <20110105210448.GM8638@n2100.arm.linux.org.uk> <1294262208.2952.4.camel@heimdal.trondhjem.org> <1294268808.2952.18.camel@heimdal.trondhjem.org> <1294270104.16957.73.camel@mulgrave.site> <1294335614.22825.154.camel@mulgrave.site> <1294336054.2905.1.camel@heimdal.trondhjem.org> <1294426405.2929.23.camel@heimdal.trondhjem.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1294426405.2929.23.camel@heimdal.trondhjem.org> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Trond Myklebust Cc: Linus Torvalds , James Bottomley , linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Marc Kleine-Budde , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , Marc Kleine-Budde , linux-arm-kernel@lists.infradead.org, Parisc List , linux-arch@vger.kernel.org Message-ID: <20110107190229.jCltl0ifFBx0c1mU74Xk_OzMcHsawpGtyiGKEa0G8zg@z> 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? Isn't a solution to have XDR write directly into the vmalloc mapping rather than using struct page * and kmap?