This is a followup to the prior version of this patchset, which I sent out on September 16. I have addressed most of the basic feedback I got so far: - Renamed struct pr_info -> struct page_referenced_info - Config option now depends on 64BIT, as we may not have sufficient free page flags in 32-bit builds - Renamed mem -> memcg in kstaled code within memcontrol.c - Uninlined kstaled_scan_page - Replaced strict_strtoul -> kstrtoul - Report PG_stale in /proc/kpageflags - Fix accounting of THP pages. Sorry for forgeting to do this in the V1 patchset - to detail the change here, what I had to do was make sure page_referenced() reports THP pages as dirty (as they always are - the dirty bit in the pmd is currently meaningless) and update the minimalistic implementation change to count THP pages as equivalent to 512 small pages. - The ugliest parts of patch 6 (rate limit pages scanned per second) have been reworked. If the scanning thread gets delayed, it tries to catch up so as to minimize jitter. If it can't catch up, it would probably be a good idea to increase the scanning interval, but this is left up to userspace. Michel Lespinasse (9): page_referenced: replace vm_flags parameter with struct page_referenced_info kstaled: documentation and config option. kstaled: page_referenced_kstaled() and supporting infrastructure. kstaled: minimalistic implementation. kstaled: skip non-RAM regions. kstaled: rate limit pages scanned per second. kstaled: add histogram sampling functionality kstaled: add incrementally updating stale page count kstaled: export PG_stale in /proc/kpageflags Documentation/cgroups/memory.txt | 103 ++++++++- arch/x86/include/asm/page_types.h | 8 + arch/x86/kernel/e820.c | 45 ++++ fs/proc/page.c | 4 + include/linux/kernel-page-flags.h | 2 + include/linux/ksm.h | 9 +- include/linux/mmzone.h | 11 + include/linux/page-flags.h | 50 ++++ include/linux/pagemap.h | 11 +- include/linux/rmap.h | 82 ++++++- mm/Kconfig | 10 + mm/internal.h | 1 + mm/ksm.c | 15 +- mm/memcontrol.c | 479 +++++++++++++++++++++++++++++++++++++ mm/memory_hotplug.c | 6 + mm/mlock.c | 1 + mm/rmap.c | 138 ++++++----- mm/swap.c | 1 + mm/vmscan.c | 20 +- 19 files changed, 899 insertions(+), 97 deletions(-) -- 1.7.3.1 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>