From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Yu Subject: Re: [PATCH V2 1/2] f2fs: add a new function to support for merging contiguous read Date: Tue, 19 Nov 2013 09:41:54 +0800 Message-ID: <001101cee4c8$a51286d0$ef379470$@samsung.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-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1ViaLE-0003bC-GI for linux-f2fs-devel@lists.sourceforge.net; Tue, 19 Nov 2013 01:43:00 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by sog-mx-4.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1ViaLA-0000j6-Nt for linux-f2fs-devel@lists.sourceforge.net; Tue, 19 Nov 2013 01:43:00 +0000 Received: from epcpsbgm2.samsung.com (epcpsbgm2 [203.254.230.27]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MWH00624M2FBW90@mailout2.samsung.com> for linux-f2fs-devel@lists.sourceforge.net; Tue, 19 Nov 2013 10:42:45 +0900 (KST) In-reply-to: <1384765870.26319.16.camel@kjgkr> Content-language: zh-cn 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 SGkKCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiBGcm9tOiBKYWVnZXVrIEtpbSBbbWFp bHRvOmphZWdldWsua2ltQHNhbXN1bmcuY29tXQo+IFNlbnQ6IE1vbmRheSwgTm92ZW1iZXIgMTgs IDIwMTMgNToxMSBQTQo+IFRvOiBDaGFvIFl1Cj4gQ2M6IGxpbnV4LWZzZGV2ZWxAdmdlci5rZXJu ZWwub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOwo+IGxpbnV4LWYyZnMtZGV2ZWxA bGlzdHMuc291cmNlZm9yZ2UubmV0OyAn6LCt5aedJwo+IFN1YmplY3Q6IFJFOiBbZjJmcy1kZXZd IFtQQVRDSCBWMiAxLzJdIGYyZnM6IGFkZCBhIG5ldyBmdW5jdGlvbiB0byBzdXBwb3J0IGZvcgo+ IG1lcmdpbmcgY29udGlndW91cyByZWFkCj4gCj4gSGksCj4gCj4gMjAxMy0xMS0xOCAo7JuUKSwg MDk6MzcgKzA4MDAsIENoYW8gWXU6Cj4gPiBIaSBLaW0sCj4gPgo+ID4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQo+ID4gPiBGcm9tOiBKYWVnZXVrIEtpbSBbbWFpbHRvOmphZWdldWsua2lt QHNhbXN1bmcuY29tXQo+ID4gPiBTZW50OiBNb25kYXksIE5vdmVtYmVyIDE4LCAyMDEzIDg6Mjkg QU0KPiA+ID4gVG86IENoYW8gWXUKPiA+ID4gQ2M6IGxpbnV4LWZzZGV2ZWxAdmdlci5rZXJuZWwu b3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOwo+IGxpbnV4LWYyZnMtZGV2ZWxAbGlz dHMuc291cmNlZm9yZ2UubmV0OyDosK3lp50KPiA+ID4gU3ViamVjdDogUmU6IFtmMmZzLWRldl0g W1BBVENIIFYyIDEvMl0gZjJmczogYWRkIGEgbmV3IGZ1bmN0aW9uIHRvIHN1cHBvcnQgZm9yCj4g bWVyZ2luZyBjb250aWd1b3VzIHJlYWQKPiA+ID4KPiA+ID4gSGkgQ2hhbywKPiA+ID4KPiA+ID4g MjAxMy0xMS0xNiAo7YagKSwgMTQ6MTQgKzA4MDAsIENoYW8gWXU6Cj4gPiA+ID4gRm9yIGJldHRl ciByZWFkIHBlcmZvcm1hbmNlLCB3ZSBhZGQgYSBuZXcgZnVuY3Rpb24gdG8gc3VwcG9ydCBmb3Ig bWVyZ2luZwo+IGNvbnRpZ3VvdXMgcmVhZCBhcyB0aGUgb25lIGZvciB3cml0ZS4KPiA+ID4KPiA+ ID4gUGxlYXNlIGNvbnNpZGVyIDgwIGNvbHVtbnMgZm9yIHRoZSBkZXNjcmlwdGlvbi4KPiA+ID4g SSBjYW5ub3QgZml4IHRoaXMgYXQgZXZlcnkgdGltZSB0aG91Z2guIDooCj4gPgo+ID4gR290IGl0 LCBzb3JyeSBhYm91dCBteSBjYXJlbGVzc25lc3MgaW4gcHJldmlvdXMgcGF0Y2guCj4gPgo+ID4g Pgo+ID4gPiA+Cj4gPiA+ID4gdjEtLT52MjoKPiA+ID4gPiAgbyBhZGQgZGVjbGFyYXRpb25zIGhl cmUgYXMgR3UgWmhlbmcgc3VnZ2VzdGVkLgo+ID4gPiA+Cj4gPiA+ID4gU2lnbmVkLW9mZi1ieTog Q2hhbyBZdSA8Y2hhbzIueXVAc2Ftc3VuZy5jb20+Cj4gPiA+ID4gQWNrZWQtYnk6IEd1IFpoZW5n IDxndXouZm5zdEBjbi5mdWppdHN1LmNvbT4KPiA+ID4gPiAtLS0KPiA+ID4gPiAgZnMvZjJmcy9k YXRhLmMgfCAgIDQ1Cj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCj4gPiA+ID4gIGZzL2YyZnMvZjJmcy5oIHwgICAgNCArKysrCj4gPiA+ID4gIDIgZmlsZXMg Y2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKQo+ID4gPiA+Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2Zz L2YyZnMvZGF0YS5jIGIvZnMvZjJmcy9kYXRhLmMKPiA+ID4gPiBpbmRleCBhYTM0MzhjLi4xODEw N2NiIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2ZzL2YyZnMvZGF0YS5jCj4gPiA+ID4gKysrIGIvZnMv ZjJmcy9kYXRhLmMKPiA+ID4gPiBAQCAtNDA0LDYgKzQwNCw1MSBAQCBpbnQgZjJmc19yZWFkcGFn ZShzdHJ1Y3QgZjJmc19zYl9pbmZvICpzYmksIHN0cnVjdAo+IHBhZ2UgKnBhZ2UsCj4gPiA+ID4g IAlyZXR1cm4gMDsKPiA+ID4gPiAgfQo+ID4gPiA+Cj4gPiA+ID4gK3ZvaWQgZjJmc19zdWJtaXRf cmVhZF9iaW8oc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLCBpbnQgcncpCj4gPiA+ID4gK3sKPiA+ ID4gPiArCWRvd25fcmVhZCgmc2JpLT5iaW9fc2VtKTsKPiA+ID4KPiA+ID4gSXMgdGhlcmUgYW55 IHJlYXNvbiB0byB1c2UgZG93bl9yZWFkKCk/Cj4gPgo+ID4gSXNuJ3QgdGhhdCB3ZSB1c2UgYmlv X3NlbSB0byBsZXQgdy9yIG9yIHcvdyBzdWJtaXR0aW5nIGJlIG11dGV4Pwo+IAo+IEFzIEkgZXhh bWluZWQgdGhlIGJpb19zZW0sIEkgdGhpbmsgd2UgZG9uJ3QgbmVlZCB0byB1c2UgYSBzZW1hcGhv cmUgZm9yCj4gcmVhZCBhbmQgd3JpdGUgSU9zLgo+IEp1c3QgaXQgaXMgZW5vdWdoIHRvIHVzZSBh IG11dGV4IGZvciB3cml0ZXMgb25seS4KCkFncmVlZCwgaXQgY291bGQgYWxzbyBpbXByb3ZlIGVm ZmljaWVuY3kgb2YgcmVhZC93cml0ZSByZXF1ZXN0IGNvbmN1cnJlbnQuCgo+IAo+ID4KPiA+ID4g SXQgc2VlbXMgdGhhdCB3ZSBuZWVkIHRvIGRlY2xhcmUgc2JpLT5iaW9fcmVhZCBhbmQgc2JpLT5i aW9fd3JpdGUKPiA+ID4gaW5zdGVhZCBvZiBzYmktPmJpb19zZW0uCj4gPiA+IEluIGFkZGl0aW9u IHRvIHRoYXQsIHdlIG5lZWQgdG8gdXNlIGRvd25fd3JpdGUoJnNiaS0+YmlvX3JlYWQpIGhlcmUu Cj4gPgo+ID4gSWYgc28sIGl0IGxvb2tzIHNpbWlsYXIgYmV0d2VlbiAoc3RydWN0IHJ3X3NlbWFw aG9yZSkgc2JpLT5iaW9fcmVhZAo+ID4gYW5kIChzdHJ1Y3QgYmlvICopIHNiaS0+cmVhZF9iaW8u Cj4gPiBIb3cgYWJvdXQgdXNpbmcgcmVhZF9iaW9fc2VtL3JiaW9fc2VtIHRvIGRpZmZlcmVudGlh dGUKPiA+IGZyb20gc2JpLT5yZWFkX2Jpbz8KPiAKPiBJIHRoaW5rIHNiaS0+d3JpdGVfbXV0ZXgg YW5kIHNiaS0+cmVhZF9tdXRleCBhcmUgbXVjaCBiZXR0ZXIuCj4gCj4gQ291bGQgeW91IHJlZmVy IHRoZSBmb2xsb3dpbmcgcGF0Y2hlcz8KCkl0J3MgYmV0dGVyLCBJIHdpbGwgcmVmZXIgeW91ciBw YXRjaC4KQW5kIGhvdyBhYm91dCB0aGlzIGZvbGxvd2luZyBwYXRjaCB0byByZWR1Y2UgcmFjZSBv ZiB3cml0ZV9tdXRleCAKYmV0d2VlbiBEQVRBL05PREUvTUVUQSB3cml0ZXI/Cgo+IFRoYW5rcywK PiAKPiAtLQo+IEphZWdldWsgS2ltCj4gU2Ftc3VuZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpT aGFwZSB0aGUgTW9iaWxlIEV4cGVyaWVuY2U6IEZyZWUgU3Vic2NyaXB0aW9uClNvZnR3YXJlIGV4 cGVydHMgYW5kIGRldmVsb3BlcnM6IEJlIGF0IHRoZSBmb3JlZnJvbnQgb2YgdGVjaCBpbm5vdmF0 aW9uLgpJbnRlbChSKSBTb2Z0d2FyZSBBZHJlbmFsaW5lIGRlbGl2ZXJzIHN0cmF0ZWdpYyBpbnNp Z2h0IGFuZCBnYW1lLWNoYW5naW5nIApjb252ZXJzYXRpb25zIHRoYXQgc2hhcGUgdGhlIHJhcGlk bHkgZXZvbHZpbmcgbW9iaWxlIGxhbmRzY2FwZS4gU2lnbiB1cCBub3cuIApodHRwOi8vcHViYWRz LmcuZG91YmxlY2xpY2submV0L2dhbXBhZC9jbGs/aWQ9NjM0MzEzMTEmaXU9LzQxNDAvb3N0Zy5j bGt0cmsKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGlu dXgtZjJmcy1kZXZlbCBtYWlsaW5nIGxpc3QKTGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vm b3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vbGlu dXgtZjJmcy1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751628Ab3KSBms (ORCPT ); Mon, 18 Nov 2013 20:42:48 -0500 Received: from mailout2.samsung.com ([203.254.224.25]:12863 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751421Ab3KSBmr convert rfc822-to-8bit (ORCPT ); Mon, 18 Nov 2013 20:42:47 -0500 X-AuditID: cbfee61b-b7fd56d000001fc6-1b-528ac215d77b From: Chao Yu To: jaegeuk.kim@samsung.com Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, =?UTF-8?B?J+iwreWnnSc=?= 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> Subject: RE: [f2fs-dev] [PATCH V2 1/2] f2fs: add a new function to support for merging contiguous read Date: Tue, 19 Nov 2013 09:41:54 +0800 Message-id: <001101cee4c8$a51286d0$ef379470$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 8BIT X-Mailer: Microsoft Outlook 14.0 Thread-index: AQEjOp1BQ4p72/eUWik9AupolSecHAFKR9WBAljK8Y8CUi66IptTYK2g Content-language: zh-cn X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrNLMWRmVeSWpSXmKPExsVy+t9jQV3RQ11BBvuvC1tc3/WXyeLSIneL PXtPslhc3jWHzaJ14XlmB1aP3Qs+M3n0bVnF6PF5k1wAcxSXTUpqTmZZapG+XQJXxrRJ29gK 7ktUfPqk0MC4WbiLkZNDQsBEom3qHWYIW0ziwr31bF2MXBxCAtMZJTa/+8UO4fxglGjZ9Z4J pIpNQEViecd/MFtEQFpi1qd5LCA2s8BsoI7ZjhAN6xkl/v6HaOAU0JO4tWMuWJGwQIZE49RJ rCA2i4CqxO4bB8BsXgFLiWPvb7BA2IISPybfgxqqLjFp3iJmCFtb4sm7C6wQpypI7Dj7mhHi CDeJLa3NjBA14hIbj9ximcAoNAvJqFlIRs1CMmoWkpYFjCyrGEVTC5ILipPSc430ihNzi0vz 0vWS83M3MYKj4Jn0DsZVDRaHGAU4GJV4eCe4dwUJsSaWFVfmHmKU4GBWEuHdvwcoxJuSWFmV WpQfX1Sak1p8iFGag0VJnPdgq3WgkEB6YklqdmpqQWoRTJaJg1OqgTHjdsii/I7uiylaM2TX 24d3/VnDFfTp1qta23nqxW0Nflc8hL433A7Uj9wunH5/abWr7OWcRpuzAhxR3PdPP6wX2Pn2 2pF5tucOL/RQiGmcUWdwPmGtSdsFqclm3QoHvJttOF2uZfkVuW1eG9nI9ovr+7ukB/9mvL// cYLiqqiag28tS/fXWiuxFGckGmoxFxUnAgAe2UgUfgIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi > -----Original Message----- > From: Jaegeuk Kim [mailto:jaegeuk.kim@samsung.com] > Sent: Monday, November 18, 2013 5:11 PM > 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, > > 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. Agreed, it could also improve efficiency of read/write request concurrent. > > > > > > 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. > > Could you refer the following patches? It's better, I will refer your patch. And how about this following patch to reduce race of write_mutex between DATA/NODE/META writer? > Thanks, > > -- > Jaegeuk Kim > Samsung