[PATCH 3/5] vmevent: Refresh vmstats before sampling

From: Anton Vorontsov
Date: Fri Jun 01 2012 - 08:27:22 EST


On SMP, kernel updates vmstats only once per second, which makes vmevent
unusable. Let's fix it by updating vmstats before sampling.

Reported-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxx>
Signed-off-by: Anton Vorontsov <anton.vorontsov@xxxxxxxxxx>
---
mm/vmevent.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/mm/vmevent.c b/mm/vmevent.c
index 4ca2a04..35fd0d5 100644
--- a/mm/vmevent.c
+++ b/mm/vmevent.c
@@ -2,6 +2,7 @@
#include <linux/atomic.h>
#include <linux/compiler.h>
#include <linux/vmevent.h>
+#include <linux/mm.h>
#include <linux/syscalls.h>
#include <linux/workqueue.h>
#include <linux/file.h>
@@ -163,6 +164,9 @@ static void vmevent_sample(struct vmevent_watch *watch)

if (atomic_read(&watch->pending))
return;
+
+ refresh_vm_stats();
+
if (!vmevent_match(watch))
return;

--
1.7.9.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/