--On Wednesday, February 04, 2004 14:07:52 -0500 "Richard B. Johnson" <root _at_ chaos.analogic.com> wrote: > If this is an Intel x86 machine, it is impossible for pages > to get fragmented in the first place. The hardware allows any > page, from anywhere in memory, to be concatenated into linear > virtual address space. Even the kernel address space is virtual. > The only time you need physically-adjacent pages is if you > are doing DMA that is more than a page-length at a time. The > kernel keeps a bunch of those pages around for just that > purpose. > > So, if you are making a "memory defragmenter", it is a CPU time-sink. Um, wrong answer. When you ask for more than one page from the buddy allocator (order greater than 0) it always returns physically contiguous pages. Also, one of the near-term goals in VM is to be able to allocate and free large pages from the main memory pools, which requires that something like order 9 or 10 allocations (based on the architecture) succeed. Dave McCracken - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo _at_ vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Follow-Ups: References:
- Re: Active Memory Defragmentation: Our implementation & problemsAlok Mooley
- Re: Active Memory Defragmentation: Our implementation & problemsRichard B. Johnson
- Prev by Date: Re: Kernel 2.x POSIX Compliance/Conformance...
- Next by Date: Re: Active Memory Defragmentation: Our implementation & problems
- Previous by thread: Re: Active Memory Defragmentation: Our implementation & problems
- Next by thread: Re: Active Memory Defragmentation: Our implementation & problems
- Indexes:[Main][Thread]