[Yaffs] page allocation failure

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Boaz Ben-David
Date:  
To: yaffs@lists.aleph1.co.uk
Subject: [Yaffs] page allocation failure
Hi,

I'm using yaffs2 on a 2GB MLC Samsung flash.
We have a few systems running for testing purposes and I've noticed the
following error in the kernel log:

Apr  1 07:22:46 wellsense kernel: yaffs: Block struck out
Apr  1 13:52:31 wellsense kernel: yaffs-bg-1: page allocation failure.
order:8, mode:0x40d0
Apr  1 13:52:32 wellsense kernel: [<c023c4b4>] (unwind_backtrace
+0x0/0xd0) from [<c028dc80>] (__alloc_pages_nodemask+0x49c/0x504)
Apr  1 13:52:32 wellsense kernel: [<c028dc80>] (__alloc_pages_nodemask
+0x49c/0x504) from [<c028dd3c>] (__get_free_pages+0x10/0x3c)
Apr  1 13:52:32 wellsense kernel: [<c028dd3c>] (__get_free_pages
+0x10/0x3c) from [<c02af8a8>] (__kmalloc+0x3c/0x1d4)
Apr  1 13:52:32 wellsense kernel: [<c02af8a8>] (__kmalloc+0x3c/0x1d4)
from [<c0428b08>] (nand_update_bbt+0x54/0x15c)
Apr  1 13:52:32 wellsense kernel: [<c0428b08>] (nand_update_bbt
+0x54/0x15c) from [<c0427604>] (nand_default_block_markbad+0x74/0xfc)
Apr  1 13:52:32 wellsense kernel: [<c0427604>]
(nand_default_block_markbad+0x74/0xfc) from [<c04258f8>]
(nand_block_markbad+0x38/0x3c)
Apr  1 13:52:32 wellsense kernel: [<c04258f8>] (nand_block_markbad
+0x38/0x3c) from [<c0419a20>] (part_block_markbad+0x50/0x64)
Apr  1 13:52:32 wellsense kernel: [<c0419a20>] (part_block_markbad
+0x50/0x64) from [<c0386314>] (nandmtd2_MarkNANDBlockBad+0x48/0x5c)
Apr  1 13:52:32 wellsense kernel: [<c0386314>]
(nandmtd2_MarkNANDBlockBad+0x48/0x5c) from [<c03853cc>]
(yaffs_MarkBlockBad+0x1c/0x28)
Apr  1 13:52:32 wellsense kernel: [<c03853cc>] (yaffs_MarkBlockBad
+0x1c/0x28) from [<c0380208>] (yaffs_BlockBecameDirty+0x1e4/0x388)
Apr  1 13:52:32 wellsense kernel: [<c0380208>] (yaffs_BlockBecameDirty
+0x1e4/0x388) from [<c03805a0>] (yaffs_DeleteChunk+0x1f4/0x214)
Apr  1 13:52:32 wellsense kernel: [<c03805a0>] (yaffs_DeleteChunk
+0x1f4/0x214) from [<c0381af0>] (yaffs_CheckGarbageCollection
+0x8f8/0xb7c)
Apr  1 13:52:32 wellsense kernel: [<c0381af0>]
(yaffs_CheckGarbageCollection+0x8f8/0xb7c) from [<c03826dc>]
(yaffs_BackgroundGarbageCollect+0x34/0x58)
Apr  1 13:52:32 wellsense kernel: [<c03826dc>]
(yaffs_BackgroundGarbageCollect+0x34/0x58) from [<c037da10>]
(yaffs_BackgroundThread+0x114/0x1c4)
Apr  1 13:52:32 wellsense kernel: [<c037da10>] (yaffs_BackgroundThread
+0x114/0x1c4) from [<c026b708>] (kthread+0x78/0x80)
Apr  1 13:52:32 wellsense kernel: [<c026b708>] (kthread+0x78/0x80) from
[<c0238804>] (kernel_thread_exit+0x0/0x8)
Apr  1 13:52:32 wellsense kernel: Mem-info:
Apr  1 13:52:32 wellsense kernel: DMA per-cpu:
Apr  1 13:52:32 wellsense kernel: CPU    0: hi:    0, btch:   1 usd:   0
Apr  1 13:52:32 wellsense kernel: Normal per-cpu:
Apr  1 13:52:32 wellsense kernel: CPU    0: hi:   90, btch:  15 usd:  23
Apr  1 13:52:32 wellsense kernel: Active_anon:16294 active_file:12696
inactive_anon:16145
Apr  1 13:52:32 wellsense kernel: inactive_file:13013 unevictable:658
dirty:0 writeback:0 unstable:0
Apr  1 13:52:32 wellsense kernel: free:2366 slab:1219 mapped:3563
pagetables:70 bounce:0
Apr  1 13:52:32 wellsense kernel: DMA free:1976kB min:188kB low:232kB
high:280kB active_anon:3372kB inactive_anon:3500kB active_file:3476kB
inactive_file:2448kB unevictable:0kB present:24384kB pages_scanned:0
all_unreclaimable? no
Apr  1 13:52:32 wellsense kernel: lowmem_reserve[]: 0 229 229
Apr  1 13:52:32 wellsense kernel: Normal free:9948kB min:1840kB
low:2300kB high:2760kB active_anon:61640kB inactive_anon:61244kB
active_file:44796kB inactive_file:49304kB unevictable:2632kB
present:234688kB pages_scanned:0 all_unreclaimable? no
Apr  1 13:52:32 wellsense kernel: lowmem_reserve[]: 0 0 0
Apr  1 13:52:32 wellsense kernel: DMA: 70*4kB 20*8kB 6*16kB 5*32kB
2*64kB 1*128kB 0*256kB 0*512kB 1*1024kB 0*2048kB 0*4096kB 0*8192kB
0*16384kB = 1976kB
Apr  1 13:52:32 wellsense kernel: Normal: 986*4kB 155*8kB 57*16kB
36*32kB 11*64kB 9*128kB 4*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB
0*8192kB 0*16384kB = 10128kB
Apr  1 13:52:32 wellsense kernel: 55383 total pagecache pages
Apr  1 13:52:32 wellsense kernel: 0 pages in swap cache
Apr  1 13:52:32 wellsense kernel: Swap cache stats: add 0, delete 0,
find 0/0
Apr  1 13:52:32 wellsense kernel: Free swap  = 0kB
Apr  1 13:52:32 wellsense kernel: Total swap = 0kB
Apr  1 13:52:32 wellsense kernel: 65536 pages of RAM
Apr  1 13:52:32 wellsense kernel: 3406 free pages
Apr  1 13:52:32 wellsense kernel: 2456 reserved pages
Apr  1 13:52:32 wellsense kernel: 985 slab pages
Apr  1 13:52:32 wellsense kernel: 4497 pages shared
Apr  1 13:52:32 wellsense kernel: 0 pages swap cached
Apr  1 13:52:32 wellsense kernel: nand_update_bbt: Out of memory
Apr  1 13:52:32 wellsense kernel: nand_erase: attempt to erase a bad
block at page 0x00021c00
Apr  1 13:52:32 wellsense kernel: yaffs: Failed to mark bad and erase
block 285
Apr  1 13:52:32 wellsense kernel: **>> Block 285 retired
Apr  1 13:52:32 wellsense kernel: Block 285 is in state 9 after gc,
should be erased


Anyone know what this is about?

Thanks,

Boaz.