Quote:
Originally Posted by syg00
I think the "HUGEMEM kernel" was a Redhat-ism.
|
I'm not at all sure of the naming of kernel build options, even in the distributions I use. I understand the meaning of the build option that turns on the CPU's PAE feature. I just am uncertain of its name.
Quote:
For 32-bit 2.6 kernels, selecting CONFIG_HIGHMEM4G is sufficient to see the memory up to 4 Gig.
|
Have you tried that yourself on a machine with 4 Gig of Ram? I'm sure you would find only about 3.25 Gig of Ram is usable.
Quote:
CONFIG_HIGHMEM64G gets you addressing to the rest.
|
So CONFIG_HIGHMEM64G is the name (at least at the point where you are looking at option names) of the PAE support and that option must be turned on to get access to the full 4 Gig on a system that has 4 Gig.
Quote:
talking real memory addressing, not virtual
|
So am I. But even in real memory addressing there is a level of mapping that puts about .75 Gig of the first 4 Gig of address space somewhere higher up. You can see all that in the memory list early in dmesg in any system with 4 Gig or more of ram.
I haven't seen any data from any systematic measurement of benefits/costs of 64-bit vs. 32-bit with PAE.
So maybe you're right. But I'm not ready to conclude that yet.
Quote:
Large page (i.e. HUGETLB) is almost irrelevant in this discussion.
|
Right. Did I miss that being mentioned somewhere earlier?
Quote:
For userland that mainly affects storage taken up in PTEs
|
You're missing the point of that feature. The 0.2% maximum possible memory savings from the PTEs wouldn't be interesting to anyone. Physical memory fragmentation issues and reduced VM flexibility from using that feature will cost more physical memory than the PTEs save anyway.
The point of that feature is the CPU time of the TLB misses. In some applications, the CPU time cost of TLB misses is the largest share of total CPU time. In some of those applications, using huge pages would dramatically increase performance.
TLB misses are a little slower in 32-bit with PAE than without. They are a little slower in 64-bit than in 32-bit with PAE. Usually those things don't matter because TLB misses usually aren't a significant share of total time.
When large pages are effective they eliminate most of the TLB misses. They also slightly speed up some of the TLB misses that they don't eliminate, but that aspect is not significant.