linux/drivers/mtd
Alexey Korolev 8a4c2495b1 MTD: nandsim: use less RAM
Nandsim consumes ~2x more RAM than the density of simulated device.
It becomes critical if we need to simulate 256MB NAND and run stress tests
on it.

We investigated the reasons. nandsim allocates space for pages using kmalloc
function. The size of LP nand page is 2112 bytes.
kmalloc gets space from slab pools by chunks 2^n. So if we need to kmalloc
2112 bytes, 4096 bytes will be consumed by system.
The best way to avoid this issue would be using kmem_cache allocations. AFAIK
this mechanism specially designed to handle cases when arrays of allocations
are used.

Signed-off-by: Alexey Korolev <akorolev@infradead.org>
Tested-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2008-12-10 13:35:23 +00:00
..
chips [MTD] [NOR] Fix cfi_send_gen_cmd handling of x16 devices in x8 mode (v4) 2008-11-05 14:40:25 +01:00
devices [MTD] Make lart_flash_init, lart_flash_exit static 2008-12-10 13:00:26 +00:00
maps [MTD] Make init_impa7 static 2008-12-10 13:01:32 +00:00
nand MTD: nandsim: use less RAM 2008-12-10 13:35:23 +00:00
onenand [MTD] [NAND] OMAP: OneNAND: header file relocation (part 2) 2008-11-26 10:08:13 +00:00
ubi UBI: Don't exit from ubi_thread until kthread_should_stop() is true 2008-11-06 11:13:04 +02: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] cmdlineparts documentation change - explain where mtd-id comes from 2008-10-18 12:43:03 +01:00
ftl.c Support 'discard sectors' operation. 2008-10-09 08:56:01 +02:00
inftlcore.c [MTD] [INFTL] Fix infinite loop in INFTL_foldchain 2008-10-08 11:26:38 +01:00
inftlmount.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
Kconfig [MTD] dataflash OTP support 2008-08-01 21:47:47 +01:00
Makefile
mtd_blkdevs.c [PATCH] switch mtd_blkdevs 2008-10-21 07:48:38 -04:00
mtdblock_ro.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
mtdblock.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
mtdchar.c [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
mtdconcat.c [MTD] Define and use MTD_FAIL_ADDR_UNKNOWN instead of 0xffffffff 2008-08-12 11:02:15 +01:00
mtdcore.c [MTD] Use list_for_each_entry[_safe] where appropriate. 2008-06-04 17:53:31 +01:00
mtdcore.h
mtdoops.c [MTD] mtdoops: Fix a bug where block may not be erased 2008-10-18 11:51:48 +01:00
mtdpart.c Merge git://git.infradead.org/mtd-2.6 2008-10-20 09:03:12 -07:00
mtdsuper.c [MTD] Fix !CONFIG_BLOCK compile for mtdsuper.c 2008-08-02 07:52:39 +01: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] remove unused mtd parameter in of_mtd_parse_partitions() 2008-10-13 15:01:42 +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] Use DIV_ROUND_UP 2008-08-02 18:45:18 +01:00