David Spain wrote: > I forgot to add the obligatory: > > uclinux-2.4.32-uc0 from the 20060803 drop. > Compiled with the gcc 2.95.3 binutils.
page_alloc2.c is better for reducing fragmentation and also being less sensitive to it, but it doesn't interact with kswapd's wakeup logic in quite the way it's supposed to, as far as I can tell. It seems to make it work more often than necessary. page_alloc.c is better for fast allocations, and for keeping more memory free when there is a steady stream of allocations (e.g. when streaming data from disk), but after many allocation-free cycles of large blocks (e.g. when running executables), the system becomes very fragmented. (I was bitten by this in a different way: I'm using vendor-supplied uclinux kernels, and they are configured to use page_alloc2.c. The added CPU usage caused the vendor to tweak things to reduce it, and when streaming files from disk those tweaks caused kswapd to fail to respond quickly enough, causing out of memory failures... But the unpatched uclinux code used too much CPU. We found a compromise). -- Jamie _______________________________________________ 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
