Andrei Martynov wrote: > Tuesday, February 10, 2009, 1:27:53 PM, Jamie Lokier wrote: > > > The problem you have isn't really that it uses all memory for disk > > cache - that's a good thing > > I believe that any continuos memory (re)allocation is evil on nommu > platform with limited resources and should be avoided. > > How do others solve memory fragmentation problem?
In general it's a hard problem. On no-MMU, Linux 2.4 mostly solved it with page_alloc2.c at some cost to performance. But even that doesn't work if you have something streaming large files from disk - additional tweaks are required, and they aren't completely reliable. There have been some efforts to solve memory fragmentation on big servers (with MMU) in Linux 2.6. Distinguishing short-lived and long-lived pages is part of that, so is moveable pages (I don't know if that fully works), and something called "lumpy reclaim". That's why I suggested trying a later kernel than 2.6.24, because some anti-fragmentation patches are in .26, .27, .29-rc4 etc. (Just download the ChangeLog files from kernel.org and you'll see fragmentation mentioned). Some anti-fragmentation patches aren't in the mainline kernels yet. I don't know if the server anti-fragmentation code is effective on a smaller no-MMU device. It's worth trying. -- Jamie _______________________________________________ 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