fix up /proc/$pid/smaps to not split huge pages
Get series with b4
b4 am 20110209195406.B9F23C9F@kernelVersions newest first
- v1 Latest5 patches 20 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | pagewalk: only split huge pages when necessaryfs/ include/ mm/ +1 more | +32 | 3 replies | |
| 2/5 | break out smaps_pte_entry() from smaps_pte_range()fs/ | +46 | 1 reply | |
| 3/5 | pass pte size argument in to smaps_pte_entry()fs/ | +12 | 1 reply | |
| 4/5 | teach smaps_pte_range() about THP pmdsfs/ | +12 | 3 replies | |
| 5/5 | have smaps show transparent huge pagesfs/ | +4 | 6 replies |
Reviews trailers per patch
All 5 patches have a Reviewed-by or Acked-by.
| Patch | Johannes Weiner | David Rientjes | Mel Gorman | Eric B Munson |
|---|---|---|---|---|
| Series | T-b | |||
| 1/5 | A-b | |||
| 2/5 | A-b | A-b | ||
| 3/5 | A-b | A-b | ||
| 4/5 | A-b | A-b | A-b | |
| 5/5 | A-b | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.
Cover letter [PATCH 0/5] fix up /proc/$pid/smaps to not split huge pages
Andrea, after playing with this for a week or two, I'm quite a bit more confident that it's not causing much harm. Seems a fairly low-risk feature. Could we stick these somewhere so they'll at least hit linux-next for the 2.6.40 cycle perhaps?
--
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.