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