diff options
author | Andres Lagar-Cavilla <andres@lagarcavilla.org> | 2012-03-08 09:05:22 +0000 |
---|---|---|
committer | Andres Lagar-Cavilla <andres@lagarcavilla.org> | 2012-03-08 09:05:22 +0000 |
commit | c812282081bbb08f2a2d5e3dedc532502de41cb9 (patch) | |
tree | 6ca542a19129546ec71e87930cdc120f7e19284b /xen/common/page_alloc.c | |
parent | 5fb0f4f5d87bb72a76ca55b96a8b4ce1a0810f8c (diff) | |
download | xen-c812282081bbb08f2a2d5e3dedc532502de41cb9.tar.gz xen-c812282081bbb08f2a2d5e3dedc532502de41cb9.tar.bz2 xen-c812282081bbb08f2a2d5e3dedc532502de41cb9.zip |
Low mem virq incremental adjustments
Consider tmem before firing the virq.
Add .gitignore rune.
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/common/page_alloc.c')
-rw-r--r-- | xen/common/page_alloc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c index 7cb16940c8..e3b84f9557 100644 --- a/xen/common/page_alloc.c +++ b/xen/common/page_alloc.c @@ -373,7 +373,10 @@ static void __init setup_low_mem_virq(void) static void check_low_mem_virq(void) { - if ( unlikely(total_avail_pages <= low_mem_virq_th) ) + unsigned long avail_pages = total_avail_pages + + opt_tmem ? tmem_freeable_pages() : 0; + + if ( unlikely(avail_pages <= low_mem_virq_th) ) { send_global_virq(VIRQ_ENOMEM); @@ -387,7 +390,7 @@ static void check_low_mem_virq(void) return; } - if ( unlikely(total_avail_pages >= low_mem_virq_high) ) + if ( unlikely(avail_pages >= low_mem_virq_high) ) { /* Reset hysteresis. Bring threshold up one order. * If we are back where originally set, set high |