[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120816112507.01b7c0f0@pixies.home.jungo.com>
Date: Thu, 16 Aug 2012 11:25:07 +0300
From: Shmulik Ladkani <shmulik.ladkani@...il.com>
To: dedekind1@...il.com
Cc: Richard Genoud <richard.genoud@...il.com>,
David Woodhouse <dwmw2@...radead.org>,
linux-mtd@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/4] UBI: use the whole MTD device size to get
bad_peb_limit
Hi Artem, Richard,
On Wed, 15 Aug 2012 18:08:51 +0300 Artem Bityutskiy <dedekind1@...il.com> wrote:
> 1. Invalid blocks are block that contain one or more bad bits beyond
> ECC.
I would remove this one sentence from the log, it is misleading; invalid
blocks are not necessarily related to ECC.
> if (CONFIG_MTD_UBI_BEB_LIMIT > 0) {
> - int percent = CONFIG_MTD_UBI_BEB_LIMIT;
> - int limit = mult_frac(ubi->peb_count, percent, 100);
> + int per1024 = CONFIG_MTD_UBI_BEB_LIMIT;
> + int limit, device_pebs;
> + uint64_t device_size;
> +
> + /*
> + * Here we are using size of the entire flash chip and
> + * not just the MTD partition size because the maximum
> + * number of bad eraseblocks is a percentage of the
> + * whole device and bad eraseblocks are not fairly
> + * distributed over the flash chip. So the worst case
> + * is that all the bad eraseblocks of the chip are in
> + * the MTD partition we are attaching (ubi->mtd).
> + */
> + device_size = mtd_get_device_size(ubi->mtd);
> + device_pebs = mtd_div_by_eb(device_size, ubi->mtd);
> + limit = mult_frac(device_pebs, per1024, 1024);
>
> /* Round it up */
> - if (mult_frac(limit, 100, percent) < ubi->peb_count)
> + if (mult_frac(limit, 1024, per1024) < ubi->peb_count)
Oops... should be:
+ if (mult_frac(limit, 1024, per1024) < device_pebs)
Regards,
Shmulik
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists