Hello, I have an IXP420 with 256MiB SDRAM and USB EHCI controller on the PCI bus. Using kernel 2.6.18-4. I have serial console and ssh login. The root fs is mounted to a USB device /dev/sda1. The USB driver gets a page allocation error (USB EHCI controller on PCI bus), after this occurs. oom-killer: gfp_mask=0x200d2, order=0 memtest: page allocation failure. order:0, mode:0x200d2 ehci_hcd 0000:00:01.2: alloc_safe_buffer: could not alloc dma memory (size=8192) ehci_hcd 0000:00:01.2: map_single: unable to map unsafe buffer cff04000! When doing a "memtest 256m 1", I get a dump of the messages above to the console (serial) and similar messages (different buffer address). The message below indicates a problem with DMA transfers when using >64MB RAM, and using DMA_BOUNCE: http://bugzilla.kernel.org/show_bug.cgi?id=7760 I have pasted the complete process here, including all debugging I could imagine (if necessary): http://pastebin.ca/440753 Please let me know what I can do to help debug this problem. Here is /proc/iomem (for addresses of devices): NSLU2:/proc# cat iomem 00000000-0fffffff : System RAM 0001f000-0020636f : Kernel text 00208000-002842a7 : Kernel data 48000000-4bffffff : PCI Memory Space 48000000-48000fff : 0000:00:01.0 48000000-48000fff : ohci_hcd 48001000-48001fff : 0000:00:01.1 48001000-48001fff : ohci_hcd 48002000-480020ff : 0000:00:01.2 48002000-480020ff : ehci_hcd 50000000-50ffffff : IXP4XX-Flash.0 50000000-50ffffff : IXP4XXFlash 60000000-60003fff : ixp4xx_qmgr.0 60000000-60003fff : ixp_qmgr c8000000-c8000fff : serial8250.0 c8000000-c800001f : serial c8001000-c8001fff : serial8250.0 c8001000-c800101f : serial c8007000-c8007fff : ixp4xx_npe.1 c8007000-c8007fff : NPE-B c8008000-c8008fff : ixp4xx_npe.2 c8008000-c8008fff : NPE-C c8009000-c80091ff : ixp4xx_mac.0 c8009000-c80091ff : ixp4xx_mac Here is the complete dump of the error message (from serial console): NSLU2:/proc# oom-killer: gfp_mask=0x201d2, order=0 Mem-info: DMA per-cpu: cpu 0 hot: high 18, batch 3 used:0 cpu 0 cold: high 6, batch 1 used:5 DMA32 per-cpu: cpu 0 hot: high 90, batch 15 used:0 cpu 0 cold: high 30, batch 7 used:6 Normal per-cpu: empty HighMem per-cpu: empty Free pages: 1008kB (0kB HighMem) Active:33222 inactive:28814 dirty:0 writeback:0 unstable:0 free:252 slab:857 mapped:7 pagetables:216 DMA free:1008kB min:512kB low:640kB high:768kB active:29984kB inactive:31572kB present:65536kB pages_scanned:137512 all_unreclaimable? yes lowmem_reserve[]: 0 192 192 192 DMA32 free:0kB min:1536kB low:1920kB high:2304kB active:102904kB inactive:83684kB present:196608kB pages_scanned:271001 all_unreclaimable? yes lowmem_reserve[]: 0 0 0 0 Normal free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 0 0 0 HighMem free:0kB min:128kB low:128kB high:128kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 0 0 0 DMA: 0*4kB 0*8kB 1*16kB 1*32kB 1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 1008kB DMA32: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB Normal: empty HighMem: empty Swap cache: add 187052, delete 125513, find 300/490, race 0+0 Free swap = 5336kB Total swap = 257024kB Free swap: 5336kB 65536 pages of RAM 406 free pages 1236 reserved pages 857 slab pages 60 pages shared 61539 pages swap cached other related links: http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2003-June/015758.html http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-March/020737.html http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2005-January/026346.html http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2006-June/034900.html http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2007-January/037844.html http://thread.gmane.org/gmane.comp.misc.nslu2.devel/1486/focus=1488