Page 1 of 1

contiguous pages

Posted: Mon Sep 26, 2005 9:48 pm
by dc0d32
can someone please list out all the situations when the allocated pages must be contiguous in physical address space [apart from that ISA DMA thing] ?

one more thing, what are the situations when shared pages are inevitable? is there any way around dealing them, apart from the page table entries of 2 tasks pointing to same physical page?

Re:contiguous pages

Posted: Tue Sep 27, 2005 1:12 am
by Candy
prashant wrote: can someone please list out all the situations when the allocated pages must be contiguous in physical address space [apart from that ISA DMA thing] ?

one more thing, what are the situations when shared pages are inevitable? is there any way around dealing them, apart from the page table entries of 2 tasks pointing to same physical page?
Shared pages are almost never inevitable. You COULD always duplicate them, giving no problem.

However, it's usually easier to map certain things (kernel being one of the probable parts) as shared. You could use PAE and make one or more PDPT entry point to just the kernel PDP, you could use a number of page tables just for the kernel and map those page tables (and thereby implicitly the kernel) into the other segments... Look a little through the forum for other techniques, they've been mentioned a few times.

All memory bus addresses that are seen by hardware that do not use the x86 MMU have to have contiguous physical memory, or more accurately, contiguous physical address space. That's a never-ending list, but this is the determining aspect. If and only if something doesn't convert it itself, you have to do it for him.

Feeling: PCI devices, AGP devices, ISA devices etc.