From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [85.183.114.52] (helo=Dublin.logfs.org) by canuck.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1R1HED-0000Bn-GU for linux-mtd@lists.infradead.org; Wed, 07 Sep 2011 12:27:42 +0000 Date: Wed, 7 Sep 2011 08:56:21 +0200 From: =?utf-8?B?SsO2cm4=?= Engel To: srimugunthan dhandapani Subject: Re: logfs: max 4K writepage size Message-ID: <20110907065621.GL32018@logfs.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Cc: linux-fsdevel@vger.kernel.org, linux-mtd@lists.infradead.org List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Sun, 4 September 2011 15:50:03 +0530, srimugunthan dhandapani wrote: > > If you plan to do this, when can we expect your patches in the kernel? Don't expect me to predict the future - my past predictions have not proven to be very reliable. > Can you suggest what changes have to be done to have >4K writepage size. I think the only change strictly necessary is the patch below, removing an assertion. Plus the second patch below for mklogfs. > From what i looked, it doesnt seem straight forward. I think the 4K > writepage size restriction is because > the flash device is memory mapped for caching purposes. > Initially, I wouldnt want to have the caching feature. Careful. I know that for some devices the caching makes a performance difference somewhere between 100x and 1000x. Pretty much whenever you encounter a crap FTL on your random USB stick, SDcard, etc. that is the case. So if you want to avoid caching for your purposes, you'd have to do it in a way that doesn't cause a huge performance regression to these devices. In other words, caching needs to stay in the code, but be made contingent on some condition that I couldn't specify in half an hour. As the result - having both caching and non-caching code, plus some decision heuristic - will be a non-trivial maintenance burden, there should also be a non-trivial performance benefit attached. But then again, I suppose the two patches below mean you won't even attempt going non-caching anyway. :) Jörn -- Unless something dramatically changes, by 2015 we'll be largely wondering what all the fuss surrounding Linux was really about. -- Rob Enderle [PATCH] logfs: remove useless BUG_ON It prevents write sizes >4k. Signed-off-by: Joern Engel --- fs/logfs/journal.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/fs/logfs/journal.c b/fs/logfs/journal.c index 9da2970..1e1c369 100644 --- a/fs/logfs/journal.c +++ b/fs/logfs/journal.c @@ -612,7 +612,6 @@ static size_t __logfs_write_je(struct super_block *sb, void *buf, u16 type, if (len == 0) return logfs_write_header(super, header, 0, type); - BUG_ON(len > sb->s_blocksize); compr_len = logfs_compress(buf, data, len, sb->s_blocksize); if (compr_len < 0 || type == JE_ANCHOR) { memcpy(data, buf, len); -- 1.7.2.3 [PATCH] Allow larger write shift Current flashes with 8k write size already exist. Why pick 16? No good reason, it's a bit bigger and will do for a while. Maybe 32 or 64 would be sane choices - beyond 64 is definitely insane - but until someone can properly argue where exactly the boundary should be, this is good enough for a while. Signed-off-by: Joern Engel --- mkfs.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mkfs.c b/mkfs.c index fd54b75..138067a 100644 --- a/mkfs.c +++ b/mkfs.c @@ -514,8 +514,8 @@ static void mkfs(struct super_block *sb) fail("segment shift must be larger than block shift"); if (blockshift != 12) fail("blockshift must be 12"); - if (writeshift > 12) - fail("writeshift too large (max 12)"); + if (writeshift > 16) + fail("writeshift too large (max 16)"); sb->segsize = 1 << segshift; sb->blocksize = 1 << blockshift; sb->blocksize_bits = blockshift; -- 1.7.2.3 From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?B?SsO2cm4=?= Engel Subject: Re: logfs: max 4K writepage size Date: Wed, 7 Sep 2011 08:56:21 +0200 Message-ID: <20110907065621.GL32018@logfs.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: linux-fsdevel@vger.kernel.org, linux-mtd@lists.infradead.org To: srimugunthan dhandapani Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-mtd-bounces@lists.infradead.org Errors-To: linux-mtd-bounces+gldm-linux-mtd-36=gmane.org@lists.infradead.org List-Id: linux-fsdevel.vger.kernel.org T24gU3VuLCA0IFNlcHRlbWJlciAyMDExIDE1OjUwOjAzICswNTMwLCBzcmltdWd1bnRoYW4gZGhh bmRhcGFuaSB3cm90ZToKPiAKPiBJZiB5b3UgcGxhbiB0byBkbyB0aGlzLCB3aGVuIGNhbiB3ZSBl eHBlY3QgeW91ciBwYXRjaGVzIGluIHRoZSBrZXJuZWw/CgpEb24ndCBleHBlY3QgbWUgdG8gcHJl ZGljdCB0aGUgZnV0dXJlIC0gbXkgcGFzdCBwcmVkaWN0aW9ucyBoYXZlIG5vdApwcm92ZW4gdG8g YmUgdmVyeSByZWxpYWJsZS4KCj4gQ2FuIHlvdSBzdWdnZXN0IHdoYXQgY2hhbmdlcyBoYXZlIHRv IGJlIGRvbmUgdG8gaGF2ZSA+NEsgd3JpdGVwYWdlIHNpemUuCgpJIHRoaW5rIHRoZSBvbmx5IGNo YW5nZSBzdHJpY3RseSBuZWNlc3NhcnkgaXMgdGhlIHBhdGNoIGJlbG93LApyZW1vdmluZyBhbiBh c3NlcnRpb24uICBQbHVzIHRoZSBzZWNvbmQgcGF0Y2ggYmVsb3cgZm9yIG1rbG9nZnMuCgo+IEZy b20gd2hhdCBpIGxvb2tlZCwgaXQgZG9lc250IHNlZW0gc3RyYWlnaHQgZm9yd2FyZC4gSSB0aGlu ayB0aGUgNEsKPiB3cml0ZXBhZ2Ugc2l6ZSByZXN0cmljdGlvbiBpcyBiZWNhdXNlCj4gdGhlIGZs YXNoIGRldmljZSBpcyBtZW1vcnkgbWFwcGVkIGZvciBjYWNoaW5nIHB1cnBvc2VzLgo+IEluaXRp YWxseSwgSSB3b3VsZG50IHdhbnQgdG8gaGF2ZSB0aGUgY2FjaGluZyBmZWF0dXJlLgoKQ2FyZWZ1 bC4gIEkga25vdyB0aGF0IGZvciBzb21lIGRldmljZXMgdGhlIGNhY2hpbmcgbWFrZXMgYSBwZXJm b3JtYW5jZQpkaWZmZXJlbmNlIHNvbWV3aGVyZSBiZXR3ZWVuIDEwMHggYW5kIDEwMDB4LiAgUHJl dHR5IG11Y2ggd2hlbmV2ZXIgeW91CmVuY291bnRlciBhIGNyYXAgRlRMIG9uIHlvdXIgcmFuZG9t IFVTQiBzdGljaywgU0RjYXJkLCBldGMuIHRoYXQgaXMKdGhlIGNhc2UuICBTbyBpZiB5b3Ugd2Fu dCB0byBhdm9pZCBjYWNoaW5nIGZvciB5b3VyIHB1cnBvc2VzLCB5b3UnZApoYXZlIHRvIGRvIGl0 IGluIGEgd2F5IHRoYXQgZG9lc24ndCBjYXVzZSBhIGh1Z2UgcGVyZm9ybWFuY2UKcmVncmVzc2lv biB0byB0aGVzZSBkZXZpY2VzLiAgSW4gb3RoZXIgd29yZHMsIGNhY2hpbmcgbmVlZHMgdG8gc3Rh eSBpbgp0aGUgY29kZSwgYnV0IGJlIG1hZGUgY29udGluZ2VudCBvbiBzb21lIGNvbmRpdGlvbiB0 aGF0IEkgY291bGRuJ3QKc3BlY2lmeSBpbiBoYWxmIGFuIGhvdXIuCgpBcyB0aGUgcmVzdWx0IC0g aGF2aW5nIGJvdGggY2FjaGluZyBhbmQgbm9uLWNhY2hpbmcgY29kZSwgcGx1cyBzb21lCmRlY2lz aW9uIGhldXJpc3RpYyAtIHdpbGwgYmUgYSBub24tdHJpdmlhbCBtYWludGVuYW5jZSBidXJkZW4s IHRoZXJlCnNob3VsZCBhbHNvIGJlIGEgbm9uLXRyaXZpYWwgcGVyZm9ybWFuY2UgYmVuZWZpdCBh dHRhY2hlZC4gIEJ1dCB0aGVuCmFnYWluLCBJIHN1cHBvc2UgdGhlIHR3byBwYXRjaGVzIGJlbG93 IG1lYW4geW91IHdvbid0IGV2ZW4gYXR0ZW1wdApnb2luZyBub24tY2FjaGluZyBhbnl3YXkuIDop CgpKw7ZybgoKLS0gClVubGVzcyBzb21ldGhpbmcgZHJhbWF0aWNhbGx5IGNoYW5nZXMsIGJ5IDIw MTUgd2UnbGwgYmUgbGFyZ2VseQp3b25kZXJpbmcgd2hhdCBhbGwgdGhlIGZ1c3Mgc3Vycm91bmRp bmcgTGludXggd2FzIHJlYWxseSBhYm91dC4KLS0gUm9iIEVuZGVybGUKCltQQVRDSF0gbG9nZnM6 IHJlbW92ZSB1c2VsZXNzIEJVR19PTgoKSXQgcHJldmVudHMgd3JpdGUgc2l6ZXMgPjRrLgoKU2ln bmVkLW9mZi1ieTogSm9lcm4gRW5nZWwgPGpvZXJuQGxvZ2ZzLm9yZz4KLS0tCiBmcy9sb2dmcy9q b3VybmFsLmMgfCAgICAxIC0KIDEgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZzL2xvZ2ZzL2pvdXJuYWwuYyBiL2ZzL2xvZ2ZzL2pv dXJuYWwuYwppbmRleCA5ZGEyOTcwLi4xZTFjMzY5IDEwMDY0NAotLS0gYS9mcy9sb2dmcy9qb3Vy bmFsLmMKKysrIGIvZnMvbG9nZnMvam91cm5hbC5jCkBAIC02MTIsNyArNjEyLDYgQEAgc3RhdGlj IHNpemVfdCBfX2xvZ2ZzX3dyaXRlX2plKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmJ1 ZiwgdTE2IHR5cGUsCiAJaWYgKGxlbiA9PSAwKQogCQlyZXR1cm4gbG9nZnNfd3JpdGVfaGVhZGVy KHN1cGVyLCBoZWFkZXIsIDAsIHR5cGUpOwogCi0JQlVHX09OKGxlbiA+IHNiLT5zX2Jsb2Nrc2l6 ZSk7CiAJY29tcHJfbGVuID0gbG9nZnNfY29tcHJlc3MoYnVmLCBkYXRhLCBsZW4sIHNiLT5zX2Js b2Nrc2l6ZSk7CiAJaWYgKGNvbXByX2xlbiA8IDAgfHwgdHlwZSA9PSBKRV9BTkNIT1IpIHsKIAkJ bWVtY3B5KGRhdGEsIGJ1ZiwgbGVuKTsKLS0gCjEuNy4yLjMKCgpbUEFUQ0hdIEFsbG93IGxhcmdl ciB3cml0ZSBzaGlmdAoKQ3VycmVudCBmbGFzaGVzIHdpdGggOGsgd3JpdGUgc2l6ZSBhbHJlYWR5 IGV4aXN0LiAgV2h5IHBpY2sgMTY/ICBObwpnb29kIHJlYXNvbiwgaXQncyBhIGJpdCBiaWdnZXIg YW5kIHdpbGwgZG8gZm9yIGEgd2hpbGUuICBNYXliZSAzMiBvcgo2NCB3b3VsZCBiZSBzYW5lIGNo b2ljZXMgLSBiZXlvbmQgNjQgaXMgZGVmaW5pdGVseSBpbnNhbmUgLSBidXQgdW50aWwKc29tZW9u ZSBjYW4gcHJvcGVybHkgYXJndWUgd2hlcmUgZXhhY3RseSB0aGUgYm91bmRhcnkgc2hvdWxkIGJl LCB0aGlzCmlzIGdvb2QgZW5vdWdoIGZvciBhIHdoaWxlLgoKU2lnbmVkLW9mZi1ieTogSm9lcm4g RW5nZWwgPGpvZXJuQGxvZ2ZzLm9yZz4KLS0tCiBta2ZzLmMgfCAgICA0ICsrLS0KIDEgZmlsZXMg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL21r ZnMuYyBiL21rZnMuYwppbmRleCBmZDU0Yjc1Li4xMzgwNjdhIDEwMDY0NAotLS0gYS9ta2ZzLmMK KysrIGIvbWtmcy5jCkBAIC01MTQsOCArNTE0LDggQEAgc3RhdGljIHZvaWQgbWtmcyhzdHJ1Y3Qg c3VwZXJfYmxvY2sgKnNiKQogCQlmYWlsKCJzZWdtZW50IHNoaWZ0IG11c3QgYmUgbGFyZ2VyIHRo YW4gYmxvY2sgc2hpZnQiKTsKIAlpZiAoYmxvY2tzaGlmdCAhPSAxMikKIAkJZmFpbCgiYmxvY2tz aGlmdCBtdXN0IGJlIDEyIik7Ci0JaWYgKHdyaXRlc2hpZnQgPiAxMikKLQkJZmFpbCgid3JpdGVz aGlmdCB0b28gbGFyZ2UgKG1heCAxMikiKTsKKwlpZiAod3JpdGVzaGlmdCA+IDE2KQorCQlmYWls KCJ3cml0ZXNoaWZ0IHRvbyBsYXJnZSAobWF4IDE2KSIpOwogCXNiLT5zZWdzaXplID0gMSA8PCBz ZWdzaGlmdDsKIAlzYi0+YmxvY2tzaXplID0gMSA8PCBibG9ja3NoaWZ0OwogCXNiLT5ibG9ja3Np emVfYml0cyA9IGJsb2Nrc2hpZnQ7Ci0tIAoxLjcuMi4zCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1h aWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LW10ZC8K