All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Weinberger <richard@nod.at>
To: dedekind1@gmail.com
Cc: Heinz.Egger@linutronix.de, tglx@linutronix.de,
	linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
	tim.bird@am.sony.com
Subject: Re: [RFC v4] UBI: Fastmap support (aka checkpointing)
Date: Wed, 16 May 2012 12:50:43 +0200	[thread overview]
Message-ID: <4FB38683.7030306@nod.at> (raw)
In-Reply-To: <1337161096.24809.36.camel@sauron.fi.intel.com>

On 16.05.2012 11:38, Artem Bityutskiy wrote:
  >> 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.
>
> When N ->  inf, UBI_FM_MAX_BLOCKS ->  inf as well. Each PEB requires
> little space in the fastmap table.

No, UBI_FM_MAX_BLOCKS does *not* depend on the MTD partition size.
When N -> inf, UBI_FM_MAX_BLOCKS is still a constant.
--> O(1)

> O(N) would be: N ->  inf, UBI_FM_MAX_BLOCKS ->  C, where C is a constant.
>
> Or did I completely forgot math basics?
>
>> With the current default settings this would be 192 PEBs.
>> So, attaching via fastmap has a complexity of O(1).
>
> No :-) Again, for each PEB you have a little data structure in a fastmap
> which you have to (a) store, (b) read, and (c) process when attaching
> the device. The more PEBs you have, the more you do.

The maximum size of a fastmap is limited to UBI_FM_MAX_BLOCKS.
As I said, in worst case we'd have to scan 192 PEBs, which is a constant.

Thanks,
//richard

WARNING: multiple messages have this Message-ID (diff)
From: Richard Weinberger <richard@nod.at>
To: dedekind1@gmail.com
Cc: linux-mtd@lists.infradead.org, tglx@linutronix.de,
	linux-kernel@vger.kernel.org, Heinz.Egger@linutronix.de,
	tim.bird@am.sony.com
Subject: Re: [RFC v4] UBI: Fastmap support (aka checkpointing)
Date: Wed, 16 May 2012 12:50:43 +0200	[thread overview]
Message-ID: <4FB38683.7030306@nod.at> (raw)
In-Reply-To: <1337161096.24809.36.camel@sauron.fi.intel.com>

On 16.05.2012 11:38, Artem Bityutskiy wrote:
  >> 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.
>
> When N ->  inf, UBI_FM_MAX_BLOCKS ->  inf as well. Each PEB requires
> little space in the fastmap table.

No, UBI_FM_MAX_BLOCKS does *not* depend on the MTD partition size.
When N -> inf, UBI_FM_MAX_BLOCKS is still a constant.
--> O(1)

> O(N) would be: N ->  inf, UBI_FM_MAX_BLOCKS ->  C, where C is a constant.
>
> Or did I completely forgot math basics?
>
>> With the current default settings this would be 192 PEBs.
>> So, attaching via fastmap has a complexity of O(1).
>
> No :-) Again, for each PEB you have a little data structure in a fastmap
> which you have to (a) store, (b) read, and (c) process when attaching
> the device. The more PEBs you have, the more you do.

The maximum size of a fastmap is limited to UBI_FM_MAX_BLOCKS.
As I said, in worst case we'd have to scan 192 PEBs, which is a constant.

Thanks,
//richard

  parent reply	other threads:[~2012-05-16 10:50 UTC|newest]

Thread overview: 66+ 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 ` Richard Weinberger
2012-05-15 17:11 ` [PATCH 1/7] [RFC] UBI: Export next_sqnum() Richard Weinberger
2012-05-15 17:11   ` Richard Weinberger
2012-05-16 13:01   ` Artem Bityutskiy
2012-05-16 13:01     ` Artem Bityutskiy
2012-05-21 13:34     ` Richard Weinberger
2012-05-21 13:34       ` Richard Weinberger
2012-05-21 14:00       ` Artem Bityutskiy
2012-05-21 14:00         ` Artem Bityutskiy
2012-05-21 14:16         ` Richard Weinberger
2012-05-21 14:16           ` Richard Weinberger
2012-05-22  8:23           ` Artem Bityutskiy
2012-05-22  8:23             ` Artem Bityutskiy
2012-05-22 10:58       ` Artem Bityutskiy
2012-05-22 10:58         ` Artem Bityutskiy
2012-05-16 14:03   ` Shmulik Ladkani
2012-05-16 14:03     ` Shmulik Ladkani
2012-05-16 14:27     ` Artem Bityutskiy
2012-05-16 14:27       ` Artem Bityutskiy
2012-05-17  9:45       ` Shmulik Ladkani
2012-05-17  9:45         ` Shmulik Ladkani
2012-05-17 11:44         ` Artem Bityutskiy
2012-05-17 11:44           ` Artem Bityutskiy
2012-05-17 11:47           ` Richard Weinberger
2012-05-17 11:47             ` Richard Weinberger
2012-05-17 12:34             ` Artem Bityutskiy
2012-05-17 12:34               ` Artem Bityutskiy
2012-05-15 17:11 ` [PATCH 2/7] [RFC] UBI: Export compare_lebs() Richard Weinberger
2012-05-15 17:11   ` Richard Weinberger
2012-05-16 14:09   ` Shmulik Ladkani
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   ` 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   ` Richard Weinberger
2012-05-15 17:11 ` [PATCH 5/7] [RFC] UBI: Make wl subsystem fastmap aware Richard Weinberger
2012-05-15 17:11   ` Richard Weinberger
2012-05-15 17:11 ` [PATCH 6/7] [RFC] UBI: Implement fastmapping support Richard Weinberger
2012-05-15 17:11   ` Richard Weinberger
2012-05-15 17:11 ` [PATCH 7/7] [RFC] UBI: Wire up fastmap support Richard Weinberger
2012-05-15 17:11   ` Richard Weinberger
2012-05-15 17:48 ` [RFC v4] UBI: Fastmap support (aka checkpointing) Subodh Nijsure
2012-05-15 17:48   ` Subodh Nijsure
2012-05-15 18:10   ` Richard Weinberger
2012-05-15 18:10     ` Richard Weinberger
2012-05-15 18:02 ` Richard Weinberger
2012-05-15 18:02   ` Richard Weinberger
2012-05-15 19:46 ` Shmulik Ladkani
2012-05-15 19:46   ` Shmulik Ladkani
2012-05-16  6:54   ` Fastmap - please, review and test Artem Bityutskiy
2012-05-16  6:54     ` Artem Bityutskiy
2012-05-16 11:51     ` Richard Weinberger
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:38   ` Artem Bityutskiy
2012-05-16  9:42   ` Artem Bityutskiy
2012-05-16  9:42     ` Artem Bityutskiy
2012-05-16 10:50   ` Richard Weinberger [this message]
2012-05-16 10:50     ` Richard Weinberger
2012-05-16 11:09     ` Artem Bityutskiy
2012-05-16 11:09       ` Artem Bityutskiy
2012-05-16 11:18       ` Artem Bityutskiy
2012-05-16 11:18         ` Artem Bityutskiy
2012-05-16 11:29         ` Richard Weinberger
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=4FB38683.7030306@nod.at \
    --to=richard@nod.at \
    --cc=Heinz.Egger@linutronix.de \
    --cc=dedekind1@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.