linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Artem Bityutskiy <dedekind@yandex.ru>
To: Matthieu CASTET <castet.matthieu@free.fr>
Cc: linux-kernel@vger.kernel.org,
	Hunter Adrian <ext-Adrian.Hunter@nokia.com>
Subject: Re: [RFC PATCH] UBIFS - new flash file system
Date: Thu, 03 Apr 2008 10:07:48 +0300	[thread overview]
Message-ID: <47F48244.9000500@yandex.ru> (raw)
In-Reply-To: <loom.20080401T204425-749@post.gmane.org>

Hi Matthieu,

Not sure why me/Adrian were not in CC, but it is difficult to notice 
e-mails in this case.

Matthieu CASTET wrote:
>> UBIFS is stable and very close to be production ready. It was
>> tested on OLPC and N810. The development was done on flash simulator
>> on a 2-way x86 machine. However, UBIFS needs a good review.
> Did you have a chance of testing it with various real flash : old small page
> nand flash, very big large page NAND (4GB), ...

Most of the development was done on nandsim. We tested 512/2048 NAND page
sizes on nandsim. We also tried mtdram which emulates NOR flash as well,
UBIFS worked fine.

Vs. real hardware, unfortunately we have only tried Nokia N8100 which has
256MiB internal SLC NAND flash and OLPC which has 1GiB internal SLC NAND flash.
It would be nice to try on more hardware, but we do not have it available.

Nevertheless, we expect it to work fine on different NAND page sizes as
long as they are power of 2.

> May be you could update your benchmark :
> http://osl.sed.hu/wiki/ubifs/index.php/Mount_results doesn't give super result :
> 1 second mount time on a 64 MB flash with 517.73 BogoMIPS CPU.
> What will be the result for a 4GB flash ? 64 seconds ?

Not sure about that measurement. As far as I know the guys from Szeged have some
board with very slow flash I/O which gave them these results.

But it included both UBI initialization and UBIFS mount time. The latter part
is always quick. The former may be slow if I/O speed is slow. Depending on
hardware, for 4GB I would expect 4-10 sec UBI initialization time. Not perfect.
UBI needs improvements to work with large flashes. We have few ideas for
improving current UBI. But for dramatical to developing UBI2 would be needed.

Here you may find some figures I observed:
http://www.linux-mtd.infradead.org/doc/ubi.html#L_scalability

> Did you do very intensive and long test where you can see bad block appearing on
> the flash ?

Yes, we tried. But we were unable to wear out Samsung OneNAND. Surprisingly, it
survived much more erase cycles that the manual declares. It is SLC. We need an
MLC flash to do this, which we do not have, unfortunately. 

The way we made sure wear-leveling is OK - we improved nandsim to report wear
information (see rptwear nandsim module option).

> Speaking of big nand, is UBI/UBI-FS free of 2GB/4GB limit ?
Yes, I believe so. All the addressing is done in eraseblock number/offset within
the eraseblock units.

>> UBIFS is quite complex because
> Is it possible to create small and fast code for read only support in 
> bootloader ?
Yeah, read-only implementation should not be very complex, but it would anyway
be much more complex than the one for JFFS2. It might be easier to have /boot
partition as JFFS2 I guess.

I had a wild idea of implanting boot-loader support into UBI/UBIFS. That would
mean to store additional information about location of specific files in a
dedicated place on flash. Just for few files, like the ones in /boot. Not sure
how much sense does it make, though.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

  reply	other threads:[~2008-04-03  7:13 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-27 14:55 [RFC PATCH] UBIFS - new flash file system Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 01/26] VFS: introduce writeback_inodes_sb() Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 02/26] UBIFS: add I/O sub-system Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 03/26] UBIFS: add flash scanning Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 04/26] UBIFS: add journal replay Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 05/26] UBIFS: add file-system build Artem Bityutskiy
2008-03-28 10:12   ` Andrew Morton
2008-03-28 11:04     ` Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 06/26] UBIFS: add superblock and master node Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 07/26] UBIFS: add file-system recovery Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 08/26] UBIFS: add compression support Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 09/26] UBIFS: add key helpers Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 10/26] UBIFS: add the journal Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 11/26] UBIFS: add commit functionality Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 12/26] UBIFS: add TNC implementation Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 13/26] UBIFS: add TNC commit implementation Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 14/26] UBIFS: add TNC shrinker Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 15/26] UBIFS: add LEB properties Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 16/26] UBIFS: add LEB properties tree Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 17/26] " Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 18/26] UBIFS: add LEB find subsystem Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 19/26] UBIFS: add Garbage Collector Artem Bityutskiy
2008-04-01  2:11   ` Arnd Bergmann
2008-03-27 14:55 ` [RFC PATCH 20/26] UBIFS: add VFS operations Artem Bityutskiy
2008-03-27 13:36   ` Andi Kleen
2008-03-27 13:42     ` Artem Bityutskiy
2008-04-01 12:08   ` Pekka Enberg
2008-04-01 12:42     ` Artem Bityutskiy
2008-04-01 13:12       ` Pekka Enberg
2008-04-01 14:04         ` Artem Bityutskiy
2008-04-01 15:14           ` Adrian Hunter
2008-03-27 14:55 ` [RFC PATCH 21/26] UBIFS: add budgeting Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 22/26] UBIFS: add extended attribute support Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 23/26] UBIFS: add orphans handling sub-system Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 24/26] UBIFS: add header files Artem Bityutskiy
2008-03-27 14:55 ` [RFC PATCH 25/26] UBIFS: add debugging stuff Artem Bityutskiy
2008-03-31 21:00   ` Pekka Enberg
2008-04-01  6:20     ` Artem Bityutskiy
2008-04-01  7:33       ` Pekka Enberg
2008-04-01  8:32         ` Artem Bityutskiy
2008-04-01  9:00           ` Pekka Enberg
2008-04-01  9:04             ` Artem Bityutskiy
2008-04-01  8:34         ` Adrian Hunter
2008-04-01  7:43       ` Pekka Enberg
2008-03-27 14:55 ` [RFC PATCH 26/26] UBIFS: include FS to compilation Artem Bityutskiy
2008-04-01  7:39   ` Pekka Enberg
2008-04-01  8:51     ` Artem Bityutskiy
2008-04-01  9:15       ` Pekka Enberg
2008-04-01  9:25         ` Artem Bityutskiy
2008-04-01 10:04           ` Pekka Enberg
2008-04-01 10:26             ` Artem Bityutskiy
2008-04-01 11:33               ` Pekka Enberg
2008-04-01 11:56                 ` Artem Bityutskiy
2008-04-26  9:37                 ` Christoph Hellwig
2008-04-28  7:10                   ` Adrian Hunter
2008-04-28  9:03                     ` ext Christoph Hellwig
2008-04-30  7:04                       ` Adrian Hunter
2008-04-26  9:35       ` Christoph Hellwig
2008-04-28  7:09         ` Adrian Hunter
2008-04-28  9:00           ` ext Christoph Hellwig
2008-04-28 11:23             ` Adrian Hunter
2008-04-28 11:39               ` ext ext Christoph Hellwig
2008-04-28 12:25                 ` Adrian Hunter
2008-04-28 13:02                   ` Christoph Hellwig
2008-03-27 16:20 ` [RFC PATCH] UBIFS - new flash file system Josh Boyer
2008-03-28  6:17   ` Artem Bityutskiy
2008-03-28  6:45 ` Artem Bityutskiy
2008-03-31 12:29 ` Jan Engelhardt
2008-03-31 12:47   ` Adrian Hunter
2008-03-31 13:20     ` Jörn Engel
2008-03-31 14:00       ` Artem Bityutskiy
2008-03-31 17:17         ` Jörn Engel
2008-03-31 20:49           ` Pekka Enberg
2008-03-31 21:21             ` Jörn Engel
2008-04-01  6:00               ` Artem Bityutskiy
2008-04-01  5:26       ` UBIFS vs Logfs (was [RFC PATCH] UBIFS - new flash file system) Artem Bityutskiy
2008-04-01  5:28         ` Artem Bityutskiy
2008-04-01  5:56         ` Artem Bityutskiy
2008-04-01  9:25           ` Jörn Engel
2008-04-01  9:39             ` Artem Bityutskiy
2008-04-01 10:51               ` Jörn Engel
2008-04-01 11:17                 ` Artem Bityutskiy
2008-04-01  9:19         ` Jörn Engel
2008-04-01  9:46           ` Artem Bityutskiy
2008-04-01 11:16             ` Jörn Engel
2008-03-31 13:40   ` [RFC PATCH] UBIFS - new flash file system Jörn Engel
2008-04-01 21:01 ` Matthieu CASTET
2008-04-03  7:07   ` Artem Bityutskiy [this message]
2008-04-18  9:05 ` Thomas Gleixner

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=47F48244.9000500@yandex.ru \
    --to=dedekind@yandex.ru \
    --cc=castet.matthieu@free.fr \
    --cc=ext-Adrian.Hunter@nokia.com \
    --cc=linux-kernel@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).