Return-Path: Received: from mexforward.lss.emc.com ([128.222.32.20]:33695 "EHLO mexforward.lss.emc.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751027Ab1FJGAz convert rfc822-to-8bit (ORCPT ); Fri, 10 Jun 2011 02:00:55 -0400 From: To: , CC: , , Date: Fri, 10 Jun 2011 02:00:16 -0400 Subject: RE: [PATCH 87/88] Add configurable prefetch size for layoutget Message-ID: References: <09142112ff0115f7f22124a69ead7b9bb5e0958f.1307464382.git.rees@umich.edu> <4DEED80A.4000102@panasas.com> <20110608021852.GA20998@merit.edu> <4DF062D6.7010304@panasas.com> <20110609114929.GA28157@merit.edu> <4DF0CB5D.60000@panasas.com> <20110609135846.GA32565@merit.edu> <4DF139B1.7070106@tonian.com> In-Reply-To: <4DF139B1.7070106@tonian.com> Content-Type: text/plain; charset="us-ascii" Sender: linux-nfs-owner@vger.kernel.org List-ID: MIME-Version: 1.0 Hi, Benny, Cheers, -Bergwolf -----Original Message----- From: linux-nfs-owner@vger.kernel.org [mailto:linux-nfs-owner@vger.kernel.org] On Behalf Of Benny Halevy Sent: Friday, June 10, 2011 5:23 AM To: Peng Tao Cc: Jim Rees; linux-nfs@vger.kernel.org; peter honeyman Subject: Re: [PATCH 87/88] Add configurable prefetch size for layoutget On 2011-06-09 08:07, Peng Tao wrote: > Hi, Jim and Benny, > > On Thu, Jun 9, 2011 at 9:58 PM, Jim Rees wrote: >> Benny Halevy wrote: >> >> > My understanding is that layoutget specifies a min and max, and the server >> >> There's a min. What do you consider the max? >> Whatever gets into csa_fore_chan_attrs.ca_maxresponsesize? >> >> The spec doesn't say max, it says "desired." I guess I assumed the server >> wouldn't normally return more than desired. > In fact server is returning "desired" length. The problem is that we > call pnfs_update_layout in nfs_write_begin, and it will end up setting > both minlength and length to page size. There is no space for client > to collapse layoutget range in nfs_write_begin. > That's a different issue. Waiting with pnfs_update_layout to flush time rather than write_begin if the whole page is written would help sending a more meaningful desired range as well as avoiding needless read-modify-writes in case the application also wrote the whole preallocated block. [PT] It is also the reason why we want to introduce layout prefetching, to get more segment than the page passed in nfs_write_begin. >> >> 18.43.3. DESCRIPTION >> ... >> >> The LAYOUTGET operation returns layout information for the specified >> byte-range: a layout. The client actually specifies two ranges, both >> starting at the offset in the loga_offset field. The first range is >> between loga_offset and loga_offset + loga_length - 1 inclusive. >> This range indicates the desired range the client wants the layout to >> cover. The second range is between loga_offset and loga_offset + >> loga_minlength - 1 inclusive. This range indicates the required >> range the client needs the layout to cover. Thus, loga_minlength >> MUST be less than or equal to loga_length. >> > > > -- Benny Halevy CTO, Tonian Inc. Tel: +972-54-802-8340 benny@tonian.com -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html