From 43525c5300375ca4c9d53f76a0ec8fa1e22ef7c0 Mon Sep 17 00:00:00 2001 From: "K. Y. Srinivasan" Date: Fri, 8 Feb 2013 15:57:15 -0800 Subject: [PATCH] --- yaml --- r: 355067 b: refs/heads/master c: e500d158fb07794724f12655f2eb5702fec613c4 h: refs/heads/master i: 355065: 41f26c38d420ae3eeaf8078f389c19a1702c78f4 355063: 042dcc31c45610a641c19d3e11064dfadab20147 v: v3 --- [refs] | 2 +- trunk/drivers/hv/hv_balloon.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index e2313574061d..9995fb52a964 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e1e0a9e6991ec2c611f13dfc0a6bc1a214a22374 +refs/heads/master: e500d158fb07794724f12655f2eb5702fec613c4 diff --git a/trunk/drivers/hv/hv_balloon.c b/trunk/drivers/hv/hv_balloon.c index 32a96f164dc8..f8fc99600de8 100644 --- a/trunk/drivers/hv/hv_balloon.c +++ b/trunk/drivers/hv/hv_balloon.c @@ -414,10 +414,17 @@ struct dm_info_msg { static bool hot_add; static bool do_hot_add; +/* + * Delay reporting memory pressure by + * the specified number of seconds. + */ +static uint pressure_report_delay = 30; module_param(hot_add, bool, (S_IRUGO | S_IWUSR)); MODULE_PARM_DESC(hot_add, "If set attempt memory hot_add"); +module_param(pressure_report_delay, uint, (S_IRUGO | S_IWUSR)); +MODULE_PARM_DESC(pressure_report_delay, "Delay in secs in reporting pressure"); static atomic_t trans_id = ATOMIC_INIT(0); static int dm_ring_size = (5 * PAGE_SIZE); @@ -531,6 +538,10 @@ static void post_status(struct hv_dynmem_device *dm) struct dm_status status; struct sysinfo val; + if (pressure_report_delay > 0) { + --pressure_report_delay; + return; + } si_meminfo(&val); memset(&status, 0, sizeof(struct dm_status)); status.hdr.type = DM_STATUS_REPORT; @@ -552,8 +563,6 @@ static void post_status(struct hv_dynmem_device *dm) } - - static void free_balloon_pages(struct hv_dynmem_device *dm, union dm_mem_page_range *range_array) {