On Sat, 2004-09-25 at 22:56, William Lee Irwin III wrote:> Nigel Cunningham wrote:> >> Normal usage; the pattern of pages being freed and allocated inevitably> >> leads to fragmentation. The buddy allocator does a good job of> >> minimising it, but what is really needed is a run-time defragmenter. I> >> saw mention of this recently, but it's probably not that practical to> >> implement IMHO.> > > On Sat, Sep 25, 2004 at 10:22:22PM +1000, Nick Piggin wrote:> > Well, by this stage it looks like memory is already pretty well shrunk> > as much as it is going to be, which means that even a pretty capable> > defragmenter won't be able to do anything.> > For however useful defragmentation may be to make speculative use of> physically or virtually contiguous memory more probable to succeed, it> can never be made deterministic or even reliable, not even in pageable> kernels (which Linux is not). Fallback to allocations no larger than> the kernel's internal allocation unit, potentially in tandem with> scatter/gather capabilities, is essential.