What is in ubifs-2.6.git

Amit Kumar Sharma amitsharma.9 at samsung.com
Tue Sep 30 04:55:42 EDT 2008


Hi Artem

OneNAND can support for full block read also in sync burst 
block read mode ,so why u want to limit bulk read only for 4 
pages , with sync burst enable u can read max 64 pages.
so in place of max 4 pages , u can set max to 64 it will be 
improve performance if sync burst mode is upported.

Rgs
Amit
----- Original Message ----- 
From: "Artem Bityutskiy" <dedekind at infradead.org>
To: <linux-fsdevel at vger.kernel.org>
Cc: <linux-mtd at lists.infradead.org>; "Adrian Hunter" 
<ext-adrian.hunter at nokia.com>; 
<linux-kernel at vger.kernel.org>
Sent: Tuesday, September 30, 2008 2:48 PM
Subject: What is in ubifs-2.6.git


> Hi,
>
> here is the stuff we have scheduled for 2.6.28. The 
> patches
> contains various small fixes and cleanups, but there is 
> something
> interesting as well.
>
> The first interesting thing is new "bulk read" 
> functionality. The
> idea is that many NAND flashes support "bulk read" in some 
> form.
> For example, OneNAND has "read while load" feature, which 
> allows
> reading consecutive NAND pages faster than reading them 
> one-by-one.
>
> So we've made UBIFS benefit from this feature and 
> introduced new
> "bulk_read" mount option. With this option enabled UBIFS 
> reads files
> a little ahead if the file data sits in consecutive 
> physical
> addresses. For example, if user-space asks to read page 
> zero of a
> file, and page 0-4 are in consecutive flash addressed, 
> UBIFS reads
> pages 0-4 and populates them to the Page Cache.
>
> Note, this is disabled by default and UBIFS has to be 
> explicitly
> mounted mounted with "bulk_read" option. The reason for 
> this is
> that we consider this feature as experimental so far.
>
> Note, UBIFS does not use VFS read-ahead and actually 
> explicitly
> disables it. This is because MTD is synchronous and all 
> I/O is
> done synchronously, so read-ahead actually slows things 
> down for
> UBIFS, instead of improving them. So the "bulk read" 
> feature is
> basically internal UBIFS read-ahead implementation.
>
> We are able to gain 4-5MiB/s of read speed on OneNAND with 
> bulk
> read enabled.
>
> The second interesting thing is new "no_chk_data_crc" 
> mount option
> which disables data CRC32 checking.
>
> UBIFS always checks CRC of everything it reads from flash 
> by default.
> On ARM platform this results in ~30% of total CPU usage in 
> profiles,
> which is quite high. But many modern flashes are very 
> reliable
> (e.g., OneNAND), and one does not need that level of 
> protection.
> So now it is possible to disable CRC checking for _data_. 
> However:
>
> * internal indexing information CRC is always checked;
> * when replaying the journal, data CRC is always checked;
> * on write, CRC is always calculated.
>
> With this mount option we are able to gain another 
> 4-5MiB/s of read
> speed on OneNAND. And together with bulk-read, the read 
> speed becomes
> ~10MiB/s faster.
>
> Adrian Hunter (11):
>      UBIFS: add bulk-read facility
>      UBIFS: add no_chk_data_crc mount option
>      UBIFS: improve znode splitting rules
>      UBIFS: correct key comparison
>      UBIFS: ensure data read beyond i_size is zeroed out 
> correctly
>      UBIFS: allow for sync_fs when read-only
>      UBIFS: improve garbage collection
>      UBIFS: fix bulk-read handling uptodate pages
>      UBIFS: add more debugging messages for LPT
>      UBIFS: correct condition to eliminate unecessary 
> assignment
>      UBIFS: check buffer length when scanning for LPT 
> nodes
>
> Artem Bityutskiy (9):
>      UBIFS: add a print, fix comments and more minor stuff
>      UBIFS: inline one-line functions
>      UBIFS: check data CRC when in error state
>      UBIFS: use bit-fields when possible
>      UBIFS: fix races in bit-fields
>      UBIFS: fix commentary
>      UBIFS: update dbg_dump_inode
>      UBIFS: correct comment for commit_on_unmount
>      UBIFS: commit on sync_fs
>
> Hirofumi Nakagawa (1):
>      UBIFS: remove unneeded unlikely()
>
> Julien Brunel (1):
>      UBIFS: use an IS_ERR test rather than a NULL test
>
> Documentation/filesystems/ubifs.txt |    9 +
> fs/ubifs/budget.c                   |   26 ++--
> fs/ubifs/debug.c                    |   79 +++++++--
> fs/ubifs/debug.h                    |    6 +
> fs/ubifs/file.c                     |  260 
> ++++++++++++++++++++++++++
> fs/ubifs/find.c                     |    4 +-
> fs/ubifs/gc.c                       |   90 ++++++++--
> fs/ubifs/io.c                       |   12 +-
> fs/ubifs/key.h                      |   22 ++-
> fs/ubifs/lprops.c                   |   34 +----
> fs/ubifs/lpt.c                      |    3 +-
> fs/ubifs/lpt_commit.c               |  187 
> ++++++++++++++++++-
> fs/ubifs/misc.h                     |   27 +++
> fs/ubifs/scan.c                     |    2 +-
> fs/ubifs/super.c                    |  109 +++++++++--
> fs/ubifs/tnc.c                      |  345 
> ++++++++++++++++++++++++++++++++---
> fs/ubifs/tnc_misc.c                 |    4 +-
> fs/ubifs/ubifs-media.h              |    1 -
> fs/ubifs/ubifs.h                    |   85 +++++++--
> fs/ubifs/xattr.c                    |    2 +-
> 20 files changed, 1149 insertions(+), 158 deletions(-)
>
> --
> Best regards,
> Artem Bityutskiy (?龜???克龜橘 ????劇)
>
>


--------------------------------------------------------------------------------


> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
> 





More information about the linux-mtd mailing list