Jivin Markus Franke lays it down ... > Hi David, > > Zitat von David McCullough <[EMAIL PROTECTED]>: > > >My understanding of the zones says is that you can do what you are trying > >to do. I seem to recall that if you get low on normal memory the system > >may dip into the DMA pool. > > well, I reserved a 16 MByte DMA zone and declared it as non-cacheable. > The Linux kernel is compiled for being located at address 0x01000000, > which is the first address after the DMA zone. However, when I boot my > system now the first attempt to allocate some memory from the DMA zone > results in the following: > > ---snip--- > swapper: page allocation failure. order:0, mode:0x4001 > Stack from 0124edbc: > bla bla bla > Call Trace: > bla bla bla > > Mem-info: > DMA per-cpu: > CPU 0: Hot: hi: 0, btch: 1 usd: 0 Cold: hi: 0, btch: > 1 usd: 0 > Normal per-cpu: > CPU 0: Hot: hi: 6, btch: 1 usd: 0 Cold: hi: 2, btch: > 1 usd: 0 > Active:0 inactive:0 dirty:0 writeback:0 unstable:0 free:11304 slab:401 > mapped:0 pagetables:0 > DMA free:0kB min:252kB low:312kB high:376kB active:0kB inactive:0kB > present:16256kB pages_scanned:0 all_unreclaimable? no > lowmem_reserve[]: 0 47 > Normal free:45216kB min:760kB low:948kB high:1140kB active:0kB > inactive:0kB present:48768kB pages_scanned:0 all_unreclaimable? no > lowmem_reserve[]: 0 0 > DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB > 0*2048kB 0*4096kB = 0kB > Normal: 0*4kB 0*8kB 0*16kB 1*32kB 0*64kB 1*128kB 0*256kB 0*512kB > 0*1024kB 0*2048kB 11*4096kB = 45216kB > 16384 pages of RAM > 11305 free pages > 4661 reserved pages > 0 pages shared > 0 pages swap cached > ---snap--- > > From the messages above I can see that there are no free pages in the > DMA zone anymore, although it's the first memory request to this zone. > > Am I missing something fundamentally?
bootmem perhaps ? I can't recall exactly but I think you have added a zone without adding or freeing the pages appropriately. If I am reading what you have done correctly, you now have two areas of RAM, a 16MB DMA area and a 16MB?? area for normal use. You have to remember that on a PC, the DMA memory is still normal memory, it is just marked as preferred for DMA. Have a look at some other arch setups that use a DMA memory zone and see if you can spot it, Cheers, Davidm -- David McCullough, [EMAIL PROTECTED], Ph:+61 734352815 Secure Computing - SnapGear http://www.uCdot.org http://www.cyberguard.com _______________________________________________ uClinux-dev mailing list [email protected] http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by [email protected] To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
