From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gu Zheng Subject: Re: [PATCH V2 1/2] f2fs: add a new function to support for merging contiguous read Date: Mon, 18 Nov 2013 18:10:30 +0800 Message-ID: <5289E796.1030506@cn.fujitsu.com> References: <000001cee293$3b6e3030$b24a9090$@samsung.com> <1384734560.26319.10.camel@kjgkr> <000901cee3fe$edfa8660$c9ef9320$@samsung.com> <1384765870.26319.16.camel@kjgkr> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1ViM6l-0001Ki-85 for linux-f2fs-devel@lists.sourceforge.net; Mon, 18 Nov 2013 10:31:07 +0000 Received: from [222.73.24.84] (helo=song.cn.fujitsu.com) by sog-mx-1.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1ViM6i-0007ms-Fm for linux-f2fs-devel@lists.sourceforge.net; Mon, 18 Nov 2013 10:31:07 +0000 In-Reply-To: <1384765870.26319.16.camel@kjgkr> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net To: jaegeuk.kim@samsung.com Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net T24gMTEvMTgvMjAxMyAwNToxMSBQTSwgSmFlZ2V1ayBLaW0gd3JvdGU6Cgo+IEhpLAo+IAo+IDIw MTMtMTEtMTggKOyblCksIDA5OjM3ICswODAwLCBDaGFvIFl1Ogo+PiBIaSBLaW0sCj4+Cj4+PiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+Pj4gRnJvbTogSmFlZ2V1ayBLaW0gW21haWx0bzpq YWVnZXVrLmtpbUBzYW1zdW5nLmNvbV0KPj4+IFNlbnQ6IE1vbmRheSwgTm92ZW1iZXIgMTgsIDIw MTMgODoyOSBBTQo+Pj4gVG86IENoYW8gWXUKPj4+IENjOiBsaW51eC1mc2RldmVsQHZnZXIua2Vy bmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtZjJmcy1kZXZlbEBs aXN0cy5zb3VyY2Vmb3JnZS5uZXQ7IOiwreWnnQo+Pj4gU3ViamVjdDogUmU6IFtmMmZzLWRldl0g W1BBVENIIFYyIDEvMl0gZjJmczogYWRkIGEgbmV3IGZ1bmN0aW9uIHRvIHN1cHBvcnQgZm9yIG1l cmdpbmcgY29udGlndW91cyByZWFkCj4+Pgo+Pj4gSGkgQ2hhbywKPj4+Cj4+PiAyMDEzLTExLTE2 ICjthqApLCAxNDoxNCArMDgwMCwgQ2hhbyBZdToKPj4+PiBGb3IgYmV0dGVyIHJlYWQgcGVyZm9y bWFuY2UsIHdlIGFkZCBhIG5ldyBmdW5jdGlvbiB0byBzdXBwb3J0IGZvciBtZXJnaW5nIGNvbnRp Z3VvdXMgcmVhZCBhcyB0aGUgb25lIGZvciB3cml0ZS4KPj4+Cj4+PiBQbGVhc2UgY29uc2lkZXIg ODAgY29sdW1ucyBmb3IgdGhlIGRlc2NyaXB0aW9uLgo+Pj4gSSBjYW5ub3QgZml4IHRoaXMgYXQg ZXZlcnkgdGltZSB0aG91Z2guIDooCj4+Cj4+IEdvdCBpdCwgc29ycnkgYWJvdXQgbXkgY2FyZWxl c3NuZXNzIGluIHByZXZpb3VzIHBhdGNoLgo+Pgo+Pj4KPj4+Pgo+Pj4+IHYxLS0+djI6Cj4+Pj4g IG8gYWRkIGRlY2xhcmF0aW9ucyBoZXJlIGFzIEd1IFpoZW5nIHN1Z2dlc3RlZC4KPj4+Pgo+Pj4+ IFNpZ25lZC1vZmYtYnk6IENoYW8gWXUgPGNoYW8yLnl1QHNhbXN1bmcuY29tPgo+Pj4+IEFja2Vk LWJ5OiBHdSBaaGVuZyA8Z3V6LmZuc3RAY24uZnVqaXRzdS5jb20+Cj4+Pj4gLS0tCj4+Pj4gIGZz L2YyZnMvZGF0YS5jIHwgICA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPj4+PiAgZnMvZjJmcy9mMmZzLmggfCAgICA0ICsrKysKPj4+PiAgMiBmaWxlcyBj aGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZnMvZjJmcy9k YXRhLmMgYi9mcy9mMmZzL2RhdGEuYwo+Pj4+IGluZGV4IGFhMzQzOGMuLjE4MTA3Y2IgMTAwNjQ0 Cj4+Pj4gLS0tIGEvZnMvZjJmcy9kYXRhLmMKPj4+PiArKysgYi9mcy9mMmZzL2RhdGEuYwo+Pj4+ IEBAIC00MDQsNiArNDA0LDUxIEBAIGludCBmMmZzX3JlYWRwYWdlKHN0cnVjdCBmMmZzX3NiX2lu Zm8gKnNiaSwgc3RydWN0IHBhZ2UgKnBhZ2UsCj4+Pj4gIAlyZXR1cm4gMDsKPj4+PiAgfQo+Pj4+ Cj4+Pj4gK3ZvaWQgZjJmc19zdWJtaXRfcmVhZF9iaW8oc3RydWN0IGYyZnNfc2JfaW5mbyAqc2Jp LCBpbnQgcncpCj4+Pj4gK3sKPj4+PiArCWRvd25fcmVhZCgmc2JpLT5iaW9fc2VtKTsKPj4+Cj4+ PiBJcyB0aGVyZSBhbnkgcmVhc29uIHRvIHVzZSBkb3duX3JlYWQoKT8KPj4KPj4gSXNuJ3QgdGhh dCB3ZSB1c2UgYmlvX3NlbSB0byBsZXQgdy9yIG9yIHcvdyBzdWJtaXR0aW5nIGJlIG11dGV4Pwo+ IAo+IEFzIEkgZXhhbWluZWQgdGhlIGJpb19zZW0sIEkgdGhpbmsgd2UgZG9uJ3QgbmVlZCB0byB1 c2UgYSBzZW1hcGhvcmUgZm9yCj4gcmVhZCBhbmQgd3JpdGUgSU9zLgo+IEp1c3QgaXQgaXMgZW5v dWdoIHRvIHVzZSBhIG11dGV4IGZvciB3cml0ZXMgb25seS4KCkFncmVlLiBNdXRleCBpcyBtb3Jl IHN1aXRhYmxlIGhlcmUsIHdlIGp1c3Qgd2FudCB0byBwcm90ZWN0IHRoZSB3cml0ZSBiaW8KcmVs YXRlZCBmaWVsZHMgaW4gdGhlIHdyaXRlIHBhdGNoLCBubyByZWxhdGlvbnMgdG8gcmVhZC4KCj4g Cj4+Cj4+PiBJdCBzZWVtcyB0aGF0IHdlIG5lZWQgdG8gZGVjbGFyZSBzYmktPmJpb19yZWFkIGFu ZCBzYmktPmJpb193cml0ZQo+Pj4gaW5zdGVhZCBvZiBzYmktPmJpb19zZW0uCj4+PiBJbiBhZGRp dGlvbiB0byB0aGF0LCB3ZSBuZWVkIHRvIHVzZSBkb3duX3dyaXRlKCZzYmktPmJpb19yZWFkKSBo ZXJlLgo+Pgo+PiBJZiBzbywgaXQgbG9va3Mgc2ltaWxhciBiZXR3ZWVuIChzdHJ1Y3Qgcndfc2Vt YXBob3JlKSBzYmktPmJpb19yZWFkIAo+PiBhbmQgKHN0cnVjdCBiaW8gKikgc2JpLT5yZWFkX2Jp by4KPj4gSG93IGFib3V0IHVzaW5nIHJlYWRfYmlvX3NlbS9yYmlvX3NlbSB0byBkaWZmZXJlbnRp YXRlIAo+PiBmcm9tIHNiaS0+cmVhZF9iaW8/Cj4gCj4gSSB0aGluayBzYmktPndyaXRlX211dGV4 IGFuZCBzYmktPnJlYWRfbXV0ZXggYXJlIG11Y2ggYmV0dGVyLgoKSXQncyBtb3JlIHJlYXNvbmFi bGUgYW5kIHJlYWRhYmxlLgoKVGhhbmtzLApHdQoKPiAKPiBDb3VsZCB5b3UgcmVmZXIgdGhlIGZv bGxvd2luZyBwYXRjaGVzPwo+IFRoYW5rcywKPiAKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkRy ZWFtRmFjdG9yeSAtIE9wZW4gU291cmNlIFJFU1QgJiBKU09OIFNlcnZpY2VzIGZvciBIVE1MNSAm IE5hdGl2ZSBBcHBzCk9BdXRoLCBVc2VycywgUm9sZXMsIFNRTCwgTm9TUUwsIEJMT0IgU3RvcmFn ZSBhbmQgRXh0ZXJuYWwgQVBJIEFjY2VzcwpGcmVlIGFwcCBob3N0aW5nLiBPciBpbnN0YWxsIHRo ZSBvcGVuIHNvdXJjZSBwYWNrYWdlIG9uIGFueSBMQU1QIHNlcnZlci4KU2lnbiB1cCBhbmQgc2Vl IGV4YW1wbGVzIGZvciBBbmd1bGFySlMsIGpRdWVyeSwgU2VuY2hhIFRvdWNoIGFuZCBOYXRpdmUh Cmh0dHA6Ly9wdWJhZHMuZy5kb3VibGVjbGljay5uZXQvZ2FtcGFkL2Nsaz9pZD02MzQ2OTQ3MSZp dT0vNDE0MC9vc3RnLmNsa3RyawpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpMaW51eC1mMmZzLWRldmVsIG1haWxpbmcgbGlzdApMaW51eC1mMmZzLWRldmVs QGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0 cy9saXN0aW5mby9saW51eC1mMmZzLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751469Ab3KRKbV (ORCPT ); Mon, 18 Nov 2013 05:31:21 -0500 Received: from cn.fujitsu.com ([222.73.24.84]:17949 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1751319Ab3KRKa7 convert rfc822-to-8bit (ORCPT ); Mon, 18 Nov 2013 05:30:59 -0500 X-IronPort-AV: E=Sophos;i="4.93,722,1378828800"; d="scan'208";a="9064860" Message-ID: <5289E796.1030506@cn.fujitsu.com> Date: Mon, 18 Nov 2013 18:10:30 +0800 From: Gu Zheng User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20110930 Thunderbird/7.0.1 MIME-Version: 1.0 To: jaegeuk.kim@samsung.com CC: Chao Yu , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, =?UTF-8?B?J+iwreWnnSc=?= Subject: Re: [f2fs-dev] [PATCH V2 1/2] f2fs: add a new function to support for merging contiguous read References: <000001cee293$3b6e3030$b24a9090$@samsung.com> <1384734560.26319.10.camel@kjgkr> <000901cee3fe$edfa8660$c9ef9320$@samsung.com> <1384765870.26319.16.camel@kjgkr> In-Reply-To: <1384765870.26319.16.camel@kjgkr> X-MIMETrack: Itemize by SMTP Server on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2013/11/18 18:14:56, Serialize by Router on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2013/11/18 18:15:08 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/18/2013 05:11 PM, Jaegeuk Kim wrote: > Hi, > > 2013-11-18 (월), 09:37 +0800, Chao Yu: >> Hi Kim, >> >>> -----Original Message----- >>> From: Jaegeuk Kim [mailto:jaegeuk.kim@samsung.com] >>> Sent: Monday, November 18, 2013 8:29 AM >>> To: Chao Yu >>> Cc: linux-fsdevel@vger.kernel.org; linux-kernel@vger.kernel.org; linux-f2fs-devel@lists.sourceforge.net; 谭姝 >>> Subject: Re: [f2fs-dev] [PATCH V2 1/2] f2fs: add a new function to support for merging contiguous read >>> >>> Hi Chao, >>> >>> 2013-11-16 (토), 14:14 +0800, Chao Yu: >>>> For better read performance, we add a new function to support for merging contiguous read as the one for write. >>> >>> Please consider 80 columns for the description. >>> I cannot fix this at every time though. :( >> >> Got it, sorry about my carelessness in previous patch. >> >>> >>>> >>>> v1-->v2: >>>> o add declarations here as Gu Zheng suggested. >>>> >>>> Signed-off-by: Chao Yu >>>> Acked-by: Gu Zheng >>>> --- >>>> fs/f2fs/data.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ >>>> fs/f2fs/f2fs.h | 4 ++++ >>>> 2 files changed, 49 insertions(+) >>>> >>>> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c >>>> index aa3438c..18107cb 100644 >>>> --- a/fs/f2fs/data.c >>>> +++ b/fs/f2fs/data.c >>>> @@ -404,6 +404,51 @@ int f2fs_readpage(struct f2fs_sb_info *sbi, struct page *page, >>>> return 0; >>>> } >>>> >>>> +void f2fs_submit_read_bio(struct f2fs_sb_info *sbi, int rw) >>>> +{ >>>> + down_read(&sbi->bio_sem); >>> >>> Is there any reason to use down_read()? >> >> Isn't that we use bio_sem to let w/r or w/w submitting be mutex? > > As I examined the bio_sem, I think we don't need to use a semaphore for > read and write IOs. > Just it is enough to use a mutex for writes only. Agree. Mutex is more suitable here, we just want to protect the write bio related fields in the write patch, no relations to read. > >> >>> It seems that we need to declare sbi->bio_read and sbi->bio_write >>> instead of sbi->bio_sem. >>> In addition to that, we need to use down_write(&sbi->bio_read) here. >> >> If so, it looks similar between (struct rw_semaphore) sbi->bio_read >> and (struct bio *) sbi->read_bio. >> How about using read_bio_sem/rbio_sem to differentiate >> from sbi->read_bio? > > I think sbi->write_mutex and sbi->read_mutex are much better. It's more reasonable and readable. Thanks, Gu > > Could you refer the following patches? > Thanks, >