linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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/

  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).