Skip to content

RFC more detailed per-process transparent hugepage statistics

Dave Hansen linux-mm lkml 1 version In review

Get series with b4
b4 am 20110201003357.D6F0BE0D@kernel

Versions newest first

  1. v1 RFC Latest6 patches 31 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6count transparent hugepage splitsDocumentation/vm/transhuge.txt mm/huge_memory.c+20 -04 replies
2/6pagewalk: only split huge pages when necessaryfs/proc/task_mmu.c mm/pagewalk.c+26 -47 replies
3/6break out smaps_pte_entry() from smaps_pte_range()fs/proc/task_mmu.c+46 -393 replies
4/6pass pte size argument in to smaps_pte_entry()fs/proc/task_mmu.c+12 -122 replies
5/6teach smaps_pte_range() about THP pmdsfs/proc/task_mmu.c+12 -05 replies
6/6have smaps show transparent huge pagesfs/proc/task_mmu.c+4 -02 replies

Reviews trailers per patch

4 of 6 patches have a Reviewed-by or Acked-by.

PatchJohannes WeinerDavid Rientjes
1/6A-b A-b
2/6
3/6A-b
4/6A-b A-b
5/6
6/6A-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [RFC][PATCH 0/6] more detailed per-process transparent hugepage statistics

I'm working on some more reports that transparent huge pages and KSM do not play nicely together. Basically, whenever THP's are present along with KSM, there is a lot of attrition over time, and we do not see much overall progress keeping THP's around:

	http://sr71.net/~dave/ibm/038_System_Anonymous_Pages.png

(That's Karl Rister's graph, thanks Karl!)

However, I realized that we do not currently have a nice way to find out where individual THP's might be on the system. We have an overall count, but no way of telling which processes or VMAs they might be in.

I started to implement this in the /proc/$pid/smaps code, but quickly realized that the lib/pagewalk.c code unconditionally splits THPs up. This set reworks that code a bit and, in the end, gives you a per-map count of the numbers of huge pages. It also makes it possible for page walks to _not_ split THPs.