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, 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>