2011-06-16 14:58:53

by 于浩

[permalink] [raw]
Subject: In the linux-all-2.6.38 of pnfs, why was pnfs_return_layout removed ?


Dear All,
Dear All,
I got one problem when testing the read performance of linux-all-2.6.38. I found that the speed was becoming slower with time.(300MB/s-->50MB/s). Finally,I found the cause of the problem. In __nfs4_close(), the "LAYOUT RETURN" operation was removed. So the size of "layout_hash" becomes bigger and bigger on the pnfs server side. Then more time is spent on searching in __layout_inode_find() function. I wonder why the pnfs_return_layout() in __nfs4_close() was removed ??

Regards,
Steven.

----------------------------------------------------------------------
SQUASHME: pnfs: revert layout recall/get/return synchronization
authorBenny Halevy <[email protected]>
Thu, 24 Feb 2011 02:53:46 +0000 (18:53 -0800)
committerBenny Halevy <[email protected]>
Fri, 25 Mar 2011 08:25:57 +0000 (10:25 +0200)

For now, revert code attempting a "forget-less" client model to match
the pnfs-submit-wave4 forgetful model implementation in preparation
for porting the tree onto it.

Signed-off-by: Benny Halevy [email protected]



2011-06-16 15:28:39

by Benny Halevy

[permalink] [raw]
Subject: Re: In the linux-all-2.6.38 of pnfs, why was pnfs_return_layout removed ?

Steven, the call was removed to accommodate for the "forgetful client" model
where the client drops its layout unilaterally and the server is supposed
to clean up the client layout on its side.

We are bringing it back, correctly, with proper synchronization, in Linux 3.0
in so that the layout will be returned in nfs_evict_inode.

What server are you testing?
Does the layouts it provides marked with return_on_close?
If so, I pulled a patch from Boaz into pnfs-all-2.6.39 for automatically cleaning up
return_on_close layouts on the server side after a forgetful client closes the file
without returning them.

Benny

On 2011-06-16 10:52, 于浩 wrote:
>
> Dear All,
> Dear All,
> I got one problem when testing the read performance of linux-all-2.6.38. I found that the speed was becoming slower with time.(300MB/s-->50MB/s). Finally,I found the cause of the problem. In __nfs4_close(), the "LAYOUT RETURN" operation was removed. So the size of "layout_hash" becomes bigger and bigger on the pnfs server side. Then more time is spent on searching in __layout_inode_find() function. I wonder why the pnfs_return_layout() in __nfs4_close() was removed ??
>
> Regards,
> Steven.
>
> ----------------------------------------------------------------------
> SQUASHME: pnfs: revert layout recall/get/return synchronization
> authorBenny Halevy <[email protected]>
> Thu, 24 Feb 2011 02:53:46 +0000 (18:53 -0800)
> committerBenny Halevy <[email protected]>
> Fri, 25 Mar 2011 08:25:57 +0000 (10:25 +0200)
>
> For now, revert code attempting a "forget-less" client model to match
> the pnfs-submit-wave4 forgetful model implementation in preparation
> for porting the tree onto it.
>
> Signed-off-by: Benny Halevy [email protected]
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2011-06-17 13:52:40

by Benny Halevy

[permalink] [raw]
Subject: Re: In the linux-all-2.6.38 of pnfs, why was pnfs_return_layout removed ?


On 2011-06-17 08:59, 于浩 wrote:
> Thanks for you reply.
>
>> What server are you testing?
>> Does the layouts it provides marked with return_on_close?
> Yes, the pnfs I am using is "pnfs-all-2.6.38-2011-03-25 <http://git.linux-nfs.org/?p=bhalevy/linux-pnfs.git;a=tag;h=refs/tags/pnfs-all-2.6.38-2011-03-25>"downloaded
> from "git://git.linux-nfs.org/projects/bhalevy/linux-pnfs.git".
>
>> If so, I pulled a patch from Boaz into pnfs-all-2.6.39 for automatically cleaning up
>> return_on_close layouts on the server side after a forgetful client closes the file
>> without returning them.
> Could you send the patch to me? thank you !

That would be
http://git.linux-nfs.org/?p=bhalevy/linux-pnfs.git;a=patch;h=05f980b9dc76a1d12c3774378ceb8ade1e1d4f91

Thanks,

Benny

> Looking forward to your reply.
>
> Regards,
> Steven.
>
> ------------------------------------------------------------------------------------------------
>
>> Date: Thu, 16 Jun 2011 11:28:30 -0400
>> From: [email protected]
>> To: [email protected]
>> CC: [email protected]
>> Subject: Re: In the linux-all-2.6.38 of pnfs, why was pnfs_return_layout removed ?
>>
>> Steven, the call was removed to accommodate for the "forgetful client" model
>> where the client drops its layout unilaterally and the server is supposed
>> to clean up the client layout on its side.
>>
>> We are bringing it back, correctly, with proper synchronization, in Linux 3.0
>> in so that the layout will be returned in nfs_evict_inode.
>>
>> What server are you testing?
>> Does the layouts it provides marked with return_on_close?
>> If so, I pulled a patch from Boaz into pnfs-all-2.6.39 for automatically cleaning up
>> return_on_close layouts on the server side after a forgetful client closes the file
>> without returning them.
>>
>> Benny
>>
>> On 2011-06-16 10:52, 于浩 wrote:
>> >
>> > Dear All,
>> > Dear All,
>> > I got one problem when testing the read performance of linux-all-2.6.38. I found that the speed was becoming slower with time.(300MB/s-->50MB/s). Finally,I found the cause of the problem. In __nfs4_close(), the "LAYOUT RETURN" operation was removed. So the size of "layout_hash" becomes bigger and bigger on the pnfs server side. Then more time is spent on searching in __layout_inode_find() function. I wonder why the pnfs_return_layout() in __nfs4_close() was removed ??
>> >
>> > Regards,
>> > Steven.
>> >
>> > ----------------------------------------------------------------------
>> > SQUASHME: pnfs: revert layout recall/get/return synchronization
>> > authorBenny Halevy <[email protected]>
>> > Thu, 24 Feb 2011 02:53:46 +0000 (18:53 -0800)
>> > committerBenny Halevy <[email protected]>
>> > Fri, 25 Mar 2011 08:25:57 +0000 (10:25 +0200)
>> >
>> > For now, revert code attempting a "forget-less" client model to match
>> > the pnfs-submit-wave4 forgetful model implementation in preparation
>> > for porting the tree onto it.
>> >
>> > Signed-off-by: Benny Halevy [email protected]
>> >
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> > the body of a message to [email protected]
>> > More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Benny Halevy
CTO, Tonian Inc.

Tel: +972-54-802-8340
[email protected]