linux/drivers/mtd
Alexey Korolev 3d45955962 [MTD] [NAND] subpage read feature as a way to increase performance.
This patch enables NAND subpage read functionality.
If upper layer drivers are requesting to read non page aligned data NAND
subpage-read functionality reads the only whose ECC regions which include
requested data when original code reads whole page.
This significantly improves performance in many cases.

Here are some digits :

UBI volume mount time
No subpage reads: 5.75 seconds
Subpage read patch: 2.42 seconds

Open/stat time for files on JFFS2 volume:
No subpage read  0m 5.36s
Subpage read     0m 2.88s

Signed-off-by Alexey Korolev <akorolev@infradead.org>
Acked-by: Artem Bityutskiy <dedekind@infradead.org>
Acked-by: Jörn Engel <joern@logfs.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-07-25 10:49:50 -04:00
..
chips [MTD] jedec_probe: Fix SST 16-bit chip detection 2008-07-25 10:02:47 -04:00
devices Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 2008-07-25 10:40:14 -04:00
maps Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 2008-07-25 10:40:14 -04:00
nand [MTD] [NAND] subpage read feature as a way to increase performance. 2008-07-25 10:49:50 -04:00
onenand Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-11 14:36:25 +01:00
ubi UBI: always start the background thread 2008-07-25 11:35:15 +03:00
afs.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
ar7part.c [MTD] Clean up AR7 partition map support 2008-04-23 09:39:49 +01:00
cmdlinepart.c [MTD] Fix const assignment in the MTD command line partitioning driver 2008-07-11 18:24:38 +01:00
ftl.c Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 2008-07-25 10:40:14 -04:00
inftlcore.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
inftlmount.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
Kconfig MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
Makefile [MTD] AR7 mtd partition map 2008-04-22 20:48:12 +01:00
mtd_blkdevs.c [MTD] Use list_for_each_entry[_safe] where appropriate. 2008-06-04 17:53:31 +01:00
mtdblock.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
mtdblock_ro.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
mtdchar.c Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 2008-07-25 10:40:14 -04:00
mtdconcat.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
mtdcore.c [MTD] Use list_for_each_entry[_safe] where appropriate. 2008-06-04 17:53:31 +01:00
mtdcore.h [MTD] mtdcore.c: share syms with mtd_blkdev.c 2007-06-28 20:24:50 +01:00
mtdoops.c [MTD] mtdoops.c: make struct oops_cxt static again 2008-04-22 12:35:34 +01:00
mtdpart.c [MTD][MTDPART] Fix a division by zero bug 2008-07-25 10:00:11 -04:00
mtdsuper.c Introduce path_put() 2008-02-14 21:13:33 -08:00
nftlcore.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
nftlmount.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
ofpart.c [MTD] mtd/ofpart.c: add MODULE_LICENSE 2008-04-22 15:53:52 +01:00
redboot.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-11 14:36:25 +01:00
rfd_ftl.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
ssfdc.c [MTD] Fix ssfdc blksize typo 2006-12-11 09:43:38 +00:00