I have a coldFire53281??? How do I?
-- 在2009-01-06,"Allon Stern" <allon.st...@argonst.com> 写道: >I have a custom Coldfire 5282 board with 32MB of SDRAM and 64MB of >NOR flash (Numonyx (nee Intel Strataflash) P30). >Since the 5282 can only address 16MB per chip select, we use GPIOs to >drive the high address bits and a custom MTD map to twiddle the >GPIOs. This means I have no point() function in the MTD. > >Firstly, performance kind of rots. We have a PXA270 (regular linux) >with the same flash chip (but no special mapping driver, and it has >point()) so maybe that accounts for the 5x slower writes I'm having >on no-MMU linux. > >The biggest problem I'm having, though, is that when I try stressing >the flash, such as by copying an enormous file (50MB) to it, I >eventually get memory allocation failures (order 8 allocation). >Judging by the stats below, I believe this is fragmentation of free >space, which can't be managed by the OS without an MMU. > >Anyone have any ideas on how to manage this? Is it simply a matter of >"don't write to JFFS2 too fast to let the buffers catch up" ? >In our actual usage pattern, we won't be writing more than about 10MB >at a go (storing an application load), and logging in dribs and >drabs, or is there some way to put a ceiling on kernel cache >allocations? Is this a result of having a large flash-to-SDRAM ratio? > >(note that /boot is an NFS volume) > >M4:~ # cp /boot/linux-2.6.26.7-m68k.tar.bz2 /var/flash >Write of 4164 bytes at 0x039c7db8 failed. returned -30, retlen 584 >Write of 4164 bytes at 0x039c8dfc failed. returned -30, retlen 0 >Not marking the space at 0x039c8dfc as dirty because the flash driver >returned retlen zero >cp: write error: Read-only file system >M4:~ # >M4:~ # ls -l /var/flash >ls: page allocation failure. order:8, mode:0x40d0 >Stack from 01303d84: > 001e3340 0003fd8e 001b71f1 01dbb264 00000008 000040d0 >0000000a 01c02918 > 00000000 00000000 00000000 00000010 01c02920 00000010 >01c02910 01c00b80 > 01303e58 00000000 00000000 01302000 01302008 01302000 >00000080 000240d0 > 00000100 00000010 000001e7 001e3344 00000000 00000000 >00000000 0003fe38 > 000040d0 00000008 001e3340 00000000 0004931a 000040d0 >00000008 001e3340 > 0000f0f4 00002009 000822a8 000822a8 00000002 00000000 >01c00b80 01cdb0c0 >CONFIG_FRAME_POINTER disabled, no symbolic call trace > >Mem-info: >Normal per-cpu: >CPU 0: hi: 0, btch: 1 usd: 0 >Active:23 inactive:2831 dirty:0 writeback:0 unstable:0 > free:2382 slab:2284 mapped:0 pagetables:0 bounce:0 >Normal free:9528kB min:720kB low:900kB high:1080kB active:92kB >inactive:11324kB present:32 >512kB pages_scanned:0 all_unreclaimable? no >lowmem_reserve[]: 0 0 0 >Normal: 66*4kB 58*8kB 52*16kB 37*32kB 26*64kB 16*128kB 6*256kB >3*512kB 0*1024kB 0*2048kB 0 >*4096kB = 9528kB >2854 total pagecache pages >8192 pages of RAM >2406 free pages >597 reserved pages >0 pages shared >0 pages swap cached >Allocation of length 533160 from process 151 failed >Normal per-cpu: >CPU 0: hi: 0, btch: 1 usd: 0 >Active:23 inactive:2831 dirty:0 writeback:0 unstable:0 > free:2382 slab:2284 mapped:0 pagetables:0 bounce:0 >Normal free:9528kB min:720kB low:900kB high:1080kB active:92kB >inactive:11324kB present:32 >512kB pages_scanned:0 all_unreclaimable? no >lowmem_reserve[]: 0 0 0 >Normal: 66*4kB 58*8kB 52*16kB 37*32kB 26*64kB 16*128kB 6*256kB >3*512kB 0*1024kB 0*2048kB 0 >*4096kB = 9528kB >2854 total pagecache pages >Unable to allocate RAM for process text/data, errno 12 >151: Bus error >M4:~ # > >_______________________________________________ >uClinux-dev mailing list >uClinux-dev@uclinux.org >http://mailman.uclinux.org/mailman/listinfo/uclinux-dev >This message was resent by uclinux-dev@uclinux.org >To unsubscribe see: >http://mailman.uclinux.org/mailman/options/uclinux-dev
_______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev