Richard B. Johnson 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. > That's all. Would memory fragmentation have any appreciable impact on L2 cache line collisions? Would defragmenting it help? In the case of the Opteron, there is a 1M cache that is (I forget) N-way set associative, and it's physically indexed. If a bunch of pages were located such that there were a disproportionately large number of lines which hit the same tag, you could be thrashing the cache. There are two ways to deal with this: (1) intelligently locates pages in physical memory; (2) hope that natural entropy keeps things random enough that it doesn't matter. - 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:
- Re: Active Memory Defragmentation: Our implementation & problemsDave Hansen
- Re: Active Memory Defragmentation: Our implementation & problemsRichard B. Johnson
- Re: Active Memory Defragmentation: Our implementation & problemsAlok Mooley
- Re: Active Memory Defragmentation: Our implementation & problemsRichard B. Johnson
- Prev by Date: Re: Problem with module-init-tools-3.0-pre3
- Next by Date: Re: Problem with module-init-tools-3.0-pre3
- Previous by thread: Re: Active Memory Defragmentation: Our implementation & problems
- Next by thread: Re: Active Memory Defragmentation: Our implementation & problems
- Indexes:[Main][Thread]