[PATCH 2/3] vmevent: Pass attr argument to sampling functions

From: Anton Vorontsov
Date: Tue May 01 2012 - 09:27:16 EST


We'll need the argument for blended attributes, the attributes return
either 0 or the threshold value (which is in attr).

Signed-off-by: Anton Vorontsov <anton.vorontsov@xxxxxxxxxx>
---
mm/vmevent.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/mm/vmevent.c b/mm/vmevent.c
index 9f1520b..b312236 100644
--- a/mm/vmevent.c
+++ b/mm/vmevent.c
@@ -39,9 +39,11 @@ struct vmevent_watch {
wait_queue_head_t waitq;
};

-typedef u64 (*vmevent_attr_sample_fn)(struct vmevent_watch *watch);
+typedef u64 (*vmevent_attr_sample_fn)(struct vmevent_watch *watch,
+ struct vmevent_attr *attr);

-static u64 vmevent_attr_swap_pages(struct vmevent_watch *watch)
+static u64 vmevent_attr_swap_pages(struct vmevent_watch *watch,
+ struct vmevent_attr *attr)
{
#ifdef CONFIG_SWAP
struct sysinfo si;
@@ -54,12 +56,14 @@ static u64 vmevent_attr_swap_pages(struct vmevent_watch *watch)
#endif
}

-static u64 vmevent_attr_free_pages(struct vmevent_watch *watch)
+static u64 vmevent_attr_free_pages(struct vmevent_watch *watch,
+ struct vmevent_attr *attr)
{
return global_page_state(NR_FREE_PAGES);
}

-static u64 vmevent_attr_avail_pages(struct vmevent_watch *watch)
+static u64 vmevent_attr_avail_pages(struct vmevent_watch *watch,
+ struct vmevent_attr *attr)
{
return totalram_pages;
}
@@ -74,7 +78,7 @@ static u64 vmevent_sample_attr(struct vmevent_watch *watch, struct vmevent_attr
{
vmevent_attr_sample_fn fn = attr_samplers[attr->type];

- return fn(watch);
+ return fn(watch, attr);
}

static bool vmevent_match(struct vmevent_watch *watch)
--
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/