RE: [PATCH 87/88] Add configurable prefetch size for layoutget

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Benny,

Cheers,
-Bergwolf


-----Original Message-----
From: linux-nfs-owner@xxxxxxxxxxxxxxx [mailto:linux-nfs-owner@xxxxxxxxxxxxxxx] On Behalf Of Benny Halevy
Sent: Friday, June 10, 2011 5:23 AM
To: Peng Tao
Cc: Jim Rees; linux-nfs@xxxxxxxxxxxxxxx; 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 <rees@xxxxxxxxx> 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@xxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux