Messages in this thread | | | Date | Sun, 12 Jul 1998 08:25:33 +0200 (CEST) | From | Rik van Riel <> | Subject | Re: Strange interrupt behaviour |
| |
On Sat, 11 Jul 1998, Linus Torvalds wrote: > On Sun, 12 Jul 1998 ak@muc.de wrote: > > > > Maybe it is a "balancing issue" on machines with 128MB of memory, but on > > 8MB machines I see no way to get this to work without making it unacceptable > > slow or waste lots of memory (barring radical solutions like replacing the > > buddy page allocator with something that is less prone to fragmentation) > > I can see one really _trivial_ way of handling this: make the page size be > 8kB as far as the page allocator is concerned. [SNIP] > However, the big downside (apart from slightly bigger memory use) is that > it impacts user level (mmap would also be 8kB-constrained). And that is > probably unacceptable. > > So the sligtly uglier version of this is to do all page allocations as 8kB > chunks, and then the memory management layer has its own "sub-buddy" to > split a 8kB page into two hardware pages. The sparc already does something
*Bzzt* This will mean that we'll free pages on a per-4k-page basis too, returning to the current failing behaviour...
We'll need something a little more radical, or just halfway radical by counting the contiguous buddies (of eg. 3 pages) and allocating from smaller areas only, giving the larger areas chance to grow.
But this is so close to a zone allocator that we might as well do a lot of finetuning right now and start 2.3 real fast...
> However, I'd prefer to still try out some other ways of handling this. For > example, "__get_free_pages()" currently only re-tries once. It shouldn't > be hard to make it re-try a few more times, and it might well be enough to > make the problem go away.
retry = (gfp & GFP_WAIT ? 3 : 1); do { stuff(); } while (retry--);
> 2.1.x is not going to be usable on 4MB machines. I didn't even have to
That's a real shame, IMHO. But with the new VM enhancements we planned, 2.3 might actually be usable on small boxes again...
Rik. +-------------------------------------------------------------------+ | Linux memory management tour guide. H.H.vanRiel@phys.uu.nl | | Scouting Vries cubscout leader. http://www.phys.uu.nl/~riel/ | +-------------------------------------------------------------------+
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |