From: Subodh Nijsure <snijsure@grid-net.com>
To: Richard Weinberger <richard@nod.at>
Cc: dedekind1@gmail.com, linux-kernel@vger.kernel.org,
Heinz.Egger@linutronix.de, linux-mtd@lists.infradead.org,
tim.bird@am.sony.com, tglx@linutronix.de
Subject: Re: [RFC v4] UBI: Fastmap support (aka checkpointing)
Date: Tue, 15 May 2012 10:48:26 -0700 [thread overview]
Message-ID: <4FB296EA.5090104@grid-net.com> (raw)
In-Reply-To: <1337101871-31181-1-git-send-email-richard@nod.at>
Hello Richard,
On 05/15/2012 10:11 AM, Richard Weinberger wrote:
> v1: https://lwn.net/Articles/481612/
> v2: https://lwn.net/Articles/496586/
> v3: Didn't release it to linux-mtd
Will kernel that has older UBI drivers be able to mount and update the
UBI volumes that have been created with checkpointing feature?
Say I have bootrom that has 3.0.X kernel that has no knowledge of UBI
checkpointing, and my flash /dev/mtd2 has UBI volume with checkpointing
enabled. Will this bootrom be able to attach /dev/mtd2 and mount UBI
volume and read/write files on it?
-Subodh
> Changes since v1:
> - renamed it to UBIVIS (at least in Kconfig)
> - UBIVIS parameters are now configurable via Kconfig
> - several bugs have been fixed (design and implementation bugs)
> - added lots of comments to make the review process easier
> - made checkpatch.pl happy
>
> Changes since v2:
> - minor bugs have been fixed
> - renamed it to UBI fastmap (as Artem requested)
>
> Changes since v3:
> - changed the on-flash layout (added padding fields, turned the
> EBA storage into an array)
> - fixed some corner cases (the protection queue needed some extra work)
> - removed the data type hint logic
> - rebased to Artems mtd tree
>
> [PATCH 1/7] [RFC] UBI: Export next_sqnum()
> [PATCH 2/7] [RFC] UBI: Export compare_lebs()
> [PATCH 3/7] [RFC] UBI: Add fastmap on-flash layout
> [PATCH 4/7] [RFC] UBI: Add fastmap structs to ubi_device
> [PATCH 5/7] [RFC] UBI: Make wl subsystem fastmap aware
> [PATCH 6/7] [RFC] UBI: Implement fastmapping support
> [PATCH 7/7] [RFC] UBI: Wire up fastmap support
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubi2.git ubi2/v4
>
> Some benchmark numbers:
>
> 4GiB NAND
> Erase block size: 1MiB
> Page size: 4096
> Total PEBs: 4081*
>
> Attach method Time** #scanned PEBs
> ---------------------------------------------
> scanning 0m4.568s 4081
> fastmap 0m0.486s 3
>
>
> 2GiB NAND
> Erase block size: 1MiB
> Page size: 4096
> Total PEBs: 2062*
>
> Attach method Time #scanned PEBs
> ---------------------------------------------
> scanning 0m2.440s 2062
> fastmap 0m0.439s 3
>
>
> 1GiB NAND
> Erase block size: 1MiB
> Page size: 4096
> Total PEBs: 1038*
>
> Attach method Time #scanned PEBs
> ---------------------------------------------
> scanning 0m1.351s 1038
> fastmap 0m0.422s 4
>
>
> We observe that attaching by scanning depends on the total size N of the UBI
> device.It has a complexity of O(N).
> Whereas attaching by fastmap has a nearly constant attaching time.
> In the best case fastmap has to scan only one PEB.
> This case can happen if the complete fastmap fits into one PEB, the fastmap
> super block is the first PEB on the MTD partition and the fastmap pool is empty.
> On the other side, in the worst case fastmap has to scan UBI_FM_MAX_START +
> UBI_FM_MAX_BLOCKS + UBI_FM_MAX_POOL_SIZE PEBs.
> With the current default settings this would be 192 PEBs.
> So, attaching via fastmap has a complexity of O(1).
> I think we can reduce UBI_FM_MAX_BLOCKS and UBI_FM_MAX_POOL_SIZE to a much
> smaller value. On most real NAND chips the whole fastmap fits into one PEB.
>
> TODO:
> - Artem is fully happy with the current on-flash layout,
> maybe I can merge the erase counters into the EBA table
> - Get a full review :)
>
> Thanks,
> //richard
>
> *) Didn't use the full NAND for UBI because Kernel, U-Boot, DT needed also
> some space.
>
> **) Time was taken by: "time ubiattach -m 5"
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2012-05-15 17:48 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-15 17:11 [RFC v4] UBI: Fastmap support (aka checkpointing) Richard Weinberger
2012-05-15 17:11 ` [PATCH 1/7] [RFC] UBI: Export next_sqnum() Richard Weinberger
2012-05-16 13:01 ` Artem Bityutskiy
2012-05-21 13:34 ` Richard Weinberger
2012-05-21 14:00 ` Artem Bityutskiy
2012-05-21 14:16 ` Richard Weinberger
2012-05-22 8:23 ` Artem Bityutskiy
2012-05-22 10:58 ` Artem Bityutskiy
2012-05-16 14:03 ` Shmulik Ladkani
2012-05-16 14:27 ` Artem Bityutskiy
2012-05-17 9:45 ` Shmulik Ladkani
2012-05-17 11:44 ` Artem Bityutskiy
2012-05-17 11:47 ` Richard Weinberger
2012-05-17 12:34 ` Artem Bityutskiy
2012-05-15 17:11 ` [PATCH 2/7] [RFC] UBI: Export compare_lebs() Richard Weinberger
2012-05-16 14:09 ` Shmulik Ladkani
2012-05-15 17:11 ` [PATCH 3/7] [RFC] UBI: Add fastmap on-flash layout Richard Weinberger
2012-05-15 17:11 ` [PATCH 4/7] [RFC] UBI: Add fastmap structs to ubi_device Richard Weinberger
2012-05-15 17:11 ` [PATCH 5/7] [RFC] UBI: Make wl subsystem fastmap aware Richard Weinberger
2012-05-15 17:11 ` [PATCH 6/7] [RFC] UBI: Implement fastmapping support Richard Weinberger
2012-05-15 17:11 ` [PATCH 7/7] [RFC] UBI: Wire up fastmap support Richard Weinberger
2012-05-15 17:48 ` Subodh Nijsure [this message]
2012-05-15 18:10 ` [RFC v4] UBI: Fastmap support (aka checkpointing) Richard Weinberger
2012-05-15 18:02 ` Richard Weinberger
2012-05-15 19:46 ` Shmulik Ladkani
2012-05-16 6:54 ` Fastmap - please, review and test Artem Bityutskiy
2012-05-16 11:51 ` Richard Weinberger
2012-05-16 9:38 ` [RFC v4] UBI: Fastmap support (aka checkpointing) Artem Bityutskiy
2012-05-16 9:42 ` Artem Bityutskiy
2012-05-16 10:50 ` Richard Weinberger
2012-05-16 11:09 ` Artem Bityutskiy
2012-05-16 11:18 ` Artem Bityutskiy
2012-05-16 11:29 ` Richard Weinberger
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=4FB296EA.5090104@grid-net.com \
--to=snijsure@grid-net.com \
--cc=Heinz.Egger@linutronix.de \
--cc=dedekind1@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=richard@nod.at \
--cc=tglx@linutronix.de \
--cc=tim.bird@am.sony.com \
/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).