Messages in this thread | | | Subject | Re: [PATCH] UBI: add minimal amount of reserved erase blocks in Kconfig | From | Artem Bityutskiy <> | Date | Fri, 29 Jun 2012 15:47:44 +0300 |
| |
On Thu, 2012-06-28 at 20:53 +0300, Shmulik Ladkani wrote: > On Mon, 25 Jun 2012 17:08:38 +0200 Richard Genoud <richard.genoud@gmail.com> wrote: > > diff --git a/drivers/mtd/ubi/misc.c b/drivers/mtd/ubi/misc.c > > index f6a7d7a..c2c6db0 100644 > > --- a/drivers/mtd/ubi/misc.c > > +++ b/drivers/mtd/ubi/misc.c > > @@ -100,8 +100,9 @@ void ubi_calculate_reserved(struct ubi_device *ubi) > > { > > ubi->beb_rsvd_level = ubi->good_peb_count/100; > > ubi->beb_rsvd_level *= CONFIG_MTD_UBI_BEB_RESERVE; > > BTW Artem, I've always had an unresolved issue with this original > calculation... maybe you can shed some light here. > > Why 'beb_rsvd_level' is set to RESERVE percent of the 'good_peb_count'?
I thought it was a good idea I guess :-)
> As the device gets worn, number of 'good_peb_count' will lessen over > time - and as such, the 'beb_rsvd_level' may vary (lessen) over time.
Yeah, probably you are right.
> I'd expect a fixed number of 'beb_rsvd_level' PEBs for a given mtd > partition, or more correctly, as Richard suggests, the *sum* of bad PEBs > plus the beb reserved PEBs should be constant for a partition - as I > do not expect more than a known constant of blocks to go bad during > device's (and thus, partition's) lifetime.
Those days we did not have this "vendor-guaranteed max. bad blocks count" thing and I thought that UBI would try to always maintain a pool of reserved PEBs.
Would you send a patch?
Note, one thing: if I already marked max. possible amount of PEBs as bad, I just do not reserve any more. But if I have a plenty of available PEBs anyway (my volumes are smaller than they could be, or I shrink one of them), and another PEB goes bad, I should just mark it as bad. I may print a warning, but should not panic.
-- Best Regards, Artem Bityutskiy [unhandled content-type:application/pgp-signature] | |