Do the DirectMap?? entries in /proc/meminfo account for huge page compaction?
up vote
0
down vote
favorite
1
I've been tracking down some Transparent Huge Pages performance issues--nothing unusual there--in x86_64 CentOS 6.7, and I've noticed something odd. The values in /proc/meminfo for DirectMap?? are supposed to keep track of the number of pages mapped for each of the three page sizes. But once DirectMap1G has dropped to 0, it appears that DirectMap2M will only decrease. No amount of huge page compaction ever seems to increase the value back up. When I look at the relevant kernel source in arch/x86/mm/pageattr.c, it's pretty clear that the DirectMap?? counters get set at initialization via update_page_count() and updated when pages are split via split_page_count(). But there's nothing in the kernel that does the reverse split adjustment to the counters when pages are compacted. I'v...