From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from skprod3.natinst.com ([130.164.80.24] helo=ni.com) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bzq8c-0004DG-3D for linux-mtd@lists.infradead.org; Thu, 27 Oct 2016 19:14:56 +0000 From: Zach Brown To: CC: , , , , , Subject: [RESEND PATCH v2 0/3] mtd: use ONFI bad blocks per LUN to calculate UBI bad PEB limit Date: Thu, 27 Oct 2016 14:13:59 -0500 Message-ID: <1477595642-11454-1-git-send-email-zach.brown@ni.com> MIME-Version: 1.0 Content-Type: text/plain List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , For ONFI-compliant NAND devices, the ONFI parameters report the maximum number of bad blocks per LUN that will be encountered over the lifetime of the device, so we can use that information to get a more accurate (and smaller) value for the UBI bad PEB limit. The ONFI parameter "maxiumum number of bad blocks per LUN" is the max number of bad blocks that each individual LUN will ever ecounter. It is not the number of bad blocks to reserve for the nand device per LUN in the device. This means that in the worst case a UBI device spanning X LUNs will encounter "maximum number of bad blocks per LUN" * X bad blocks. The implementation in this patch assumes this worst case and allocates bad block accordingly. These patches are ordered in terms of their dependencies, but ideally, all 3 would need to be applied for this to work as intended. v1: * Changed commit message to address concerns from v1[1] about this patch set making best case assumptions. [1] http://lkml.iu.edu/hypermail/linux/kernel/1505.1/04822.html Jeff Westfahl (3): mtd: introduce function max_bad_blocks mtd: nand: implement 'max_bad_blocks' mtd function mtd: ubi: use 'max_bad_blocks' to compute bad_peb_limit if available drivers/mtd/mtdpart.c | 12 ++++++++++++ drivers/mtd/nand/nand_base.c | 34 ++++++++++++++++++++++++++++++++++ drivers/mtd/ubi/build.c | 9 +++++++++ include/linux/mtd/mtd.h | 1 + 4 files changed, 56 insertions(+) -- 2.7.4