Re: [RFC v4] UBI: Fastmap support (aka checkpointing)

From: Artem Bityutskiy
Date: Wed May 16 2012 - 07:05:43 EST


On Wed, 2012-05-16 at 12:50 +0200, Richard Weinberger wrote:
> 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)

This cannot be true, you cannot fit information about infinite amount of
erase counters to a constant number of PEBs.

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

In this case you cannot use O notation at all because it is just used
when talking about asymptotic things.

--
Best Regards,
Artem Bityutskiy

Attachment: signature.asc
Description: This is a digitally signed message part