Messages in this thread | | | Date | Thu, 18 Sep 1997 12:21:42 +0200 | From | "J.D. Bakker" <> | Subject | Re: L1/L2 Cache Coloring from Userland ? |
| |
>> Is there any way for a program to control or find out to which L1/L2 cache >> lines/regions certain areas of memory are mapped ? Take the following >> example:
>L2 is tricker. Allocating a single contiguous block doesnt even help you as it >may not be physically contiguous
Am I correct in assuming that a block that starts out as physically contiguous may be fragmented when it is swapped out and in again ? Is there another way in which this fragmentation can happpen ? I'm not too well versed in the mm aspects of the kernel.
If blocks only fragment on swap, it should be enough to disable swap on the machine in question (a calculation server which should *never* be swapping anyway), and to determine if a block is physically contiguous to start with. Is there such a thing as a VirtualToPhysical syscall, a call that can be misused to do this, or should I take the Source and start hacking ?
It would still be best if it were possible to allocate a contiguous range of memory. Ah well, maybe it's time for YAOMF[1]...
Sincerely,
Jan-Derk Bakker. [1] Yet Another Obscure Mmap Flag
Jan-Derk Bakker Official Usenet Net.scum; see http://www.netscum.net
| |