Steve Sistare writes: > This is a known issue on Solaris/x86. The issue is that over time, > non-relocatable kernel memory is allocated at physical addresses > throughout memory, fragmenting the PA space, and preventing the > allocation of a physically contiguous large page. The only > workaround is to start your large page application soon after a > reboot, before memory becomes fragmented.
Ah, thanks for the answer! I had (incorrectly) assumed my inability to allocate contiguous memory was due to page coloring fragmenting the PA space, I didn't realize that it was due to kernel memory. > In contrast, the SPARC VM implementation includes a "kernel cage", > which confines kernel memory allocations to a smaller physically > contiguous region of memory, which may grow if needed. Non-kernel > allocations outside of the cage can be relocated as needed to create > contiguous large pages. The primary purpose of the kernel cage was > to enable memory dynamic reconfiguration. Since this is not > supported on x86 systems, the extra complexity of the cage was > not carried forward to the amd64 VM implementation, with the > unfortunate side effect of reducing large page availability. > > One component of the VM2 project will modify page freelist > management to preserve contiguous large pages when possible, but > I don't have any details on schedule. Thank you again for the information, Drew _______________________________________________ perf-discuss mailing list perf-discuss@opensolaris.org