From: "Artem B. Bityuckiy" <abityuckiy@yandex.ru>
To: Josh Boyer <jdub@us.ibm.com>
Cc: Artem Bityuckiy <dedekind@oktetlabs.ru>,
David Woodhouse <dwmw2@infradead.org>,
linux-mtd@lists.infradead.org
Subject: Re: [OBORONA-SPAM] Re: inode checkpoints
Date: Mon, 04 Oct 2004 17:26:03 +0400 [thread overview]
Message-ID: <41614F6B.6050802@yandex.ru> (raw)
In-Reply-To: <1096893405.22034.9.camel@weaponx.rchland.ibm.com>
>
> Yes and no. It makes sense for any flash device that you can't write to
> the same page multiple times without an erase in between. NAND is
> certainly the largest group of such devices. There are others that have
> this behavior as well. See cfi_cmdset_0020.c.
The original idea of ICPs (inode checkpoint) is to improve JFFS2
performance on NAND not because the page can't be written lots of times.
The NAND flash specific is that there is constant delay when accessing
any page.
For example consider TOSHIBA TC5DxM82A1xxxx 8-bit 256 Mbit NAND flash.
Page access delay is 25 microsecs.
Read cycle is 50 nanosecs.
When you read 3 bytes from this NAND flash and these bytes are situated
in one page (consequently), you will spent about 25 microsecs + 50 * 3
nanosecs.
But when you read those 3 bytes from the same NAND flash and these bytes
are situated in three different pages, you will spent about 25*3
microsecs + 50 * 3 nanosecs.
So, when the inode cache is built, we read node headers from *different
pages*. But if there is checkpoint, we read from few pages. This is the
main idea.
But in case of regular file inodes we also save *additional* time since
we don't check the *data* CRC for those nodes, which are in
checkpoint(s). In case of the directory inode there is no such
additional time savings.
--
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.
next prev parent reply other threads:[~2004-10-04 13:26 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-04 10:14 inode checkpoints Artem Bityuckiy
2004-10-04 10:22 ` David Woodhouse
2004-10-04 10:36 ` [OBORONA-SPAM] " Artem B. Bityuckiy
2004-10-04 12:34 ` Josh Boyer
2004-10-04 13:07 ` Artem B. Bityuckiy
2004-10-04 13:18 ` David Woodhouse
2004-10-04 13:32 ` Artem B. Bityuckiy
2004-10-04 13:46 ` Artem B. Bityuckiy
2004-10-04 14:18 ` Artem B. Bityuckiy
2004-10-04 14:23 ` David Woodhouse
2004-10-04 15:07 ` Artem B. Bityuckiy
2004-10-05 14:07 ` Artem B. Bityuckiy
2004-10-05 16:45 ` David Woodhouse
2004-10-05 17:20 ` Josh Boyer
2004-10-06 9:07 ` Artem B. Bityuckiy
2004-10-09 11:45 ` Artem B. Bityuckiy
2004-10-09 11:58 ` Artem B. Bityuckiy
2004-10-09 13:01 ` Artem B. Bityuckiy
2004-10-09 14:48 ` Artem B. Bityuckiy
2004-10-09 13:22 ` Artem B. Bityuckiy
2004-10-04 11:44 ` Artem Bityuckiy
2004-10-04 12:36 ` Josh Boyer
2004-10-04 12:43 ` David Woodhouse
2004-10-04 13:26 ` Artem B. Bityuckiy [this message]
2004-10-04 13:39 ` [OBORONA-SPAM] " Josh Boyer
2004-10-04 13:56 ` Artem Bityuckiy
2004-10-04 14:06 ` Artem B. Bityuckiy
2004-10-04 14:17 ` Josh Boyer
2004-10-04 14:22 ` Artem B. Bityuckiy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41614F6B.6050802@yandex.ru \
--to=abityuckiy@yandex.ru \
--cc=dedekind@oktetlabs.ru \
--cc=dwmw2@infradead.org \
--cc=jdub@us.ibm.com \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox