summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorDavidlohr Bueso <dave@stgolabs.net>2014-12-12 16:56:10 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-13 12:42:48 -0800
commitf5f302e21257ebb0c074bbafc37606c26d28cc3d (patch)
tree9487dd9bdf2df8a1989af3dde28d64b84f04ede5 /mm
parent16a7ade8af3b4ad30aec880177ff291bb5ea86d1 (diff)
downloadlinux-f5f302e21257ebb0c074bbafc37606c26d28cc3d.tar.bz2
mm,vmacache: count number of system-wide flushes
These flushes deal with sequence number overflows, such as for long lived threads. These are rare, but interesting from a debugging PoV. As such, display the number of flushes when vmacache debugging is enabled. Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/vmacache.c2
-rw-r--r--mm/vmstat.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/mm/vmacache.c b/mm/vmacache.c
index 9f25af825dec..b6e3662fe339 100644
--- a/mm/vmacache.c
+++ b/mm/vmacache.c
@@ -17,6 +17,8 @@ void vmacache_flush_all(struct mm_struct *mm)
{
struct task_struct *g, *p;
+ count_vm_vmacache_event(VMACACHE_FULL_FLUSHES);
+
/*
* Single threaded tasks need not iterate the entire
* list of process. We can avoid the flushing as well
diff --git a/mm/vmstat.c b/mm/vmstat.c
index b090e9e3d626..1284f89fca08 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -900,6 +900,7 @@ const char * const vmstat_text[] = {
#ifdef CONFIG_DEBUG_VM_VMACACHE
"vmacache_find_calls",
"vmacache_find_hits",
+ "vmacache_full_flushes",
#endif
#endif /* CONFIG_VM_EVENTS_COUNTERS */
};