summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2019-10-31 17:29:26 +0300
committerMichael Ellerman <mpe@ellerman.id.au>2019-11-13 08:58:01 +0300
commit287b89773d8172df049f0f4c27946b2ae4ac4b41 (patch)
tree7e0ddcff8515f8d045d28a9db26fd0bb49251916 /arch/powerpc/platforms
parent4a1745c5bf92232f115e28296475dc42254b1c7d (diff)
downloadlinux-287b89773d8172df049f0f4c27946b2ae4ac4b41.tar.xz
powerpc/pseries/cmm: Use adjust_managed_page_count() insted of totalram_pages_*
adjust_managed_page_count() performs a totalram_pages_add(), but also adjusts the managed pages of the zone. Let's use that instead, similar to virtio-balloon. Use it before freeing a page. Signed-off-by: David Hildenbrand <david@redhat.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20191031142933.10779-6-david@redhat.com
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r--arch/powerpc/platforms/pseries/cmm.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c
index 33d31e48ec15..f82c468ca2c4 100644
--- a/arch/powerpc/platforms/pseries/cmm.c
+++ b/arch/powerpc/platforms/pseries/cmm.c
@@ -164,7 +164,7 @@ static long cmm_alloc_pages(long nr)
list_add(&page->lru, &cmm_page_list);
loaned_pages++;
- totalram_pages_dec();
+ adjust_managed_page_count(page, -1);
spin_unlock(&cmm_lock);
nr--;
}
@@ -191,10 +191,10 @@ static long cmm_free_pages(long nr)
break;
plpar_page_set_active(page);
list_del(&page->lru);
+ adjust_managed_page_count(page, 1);
__free_page(page);
loaned_pages--;
nr--;
- totalram_pages_inc();
}
spin_unlock(&cmm_lock);
cmm_dbg("End request with %ld pages unfulfilled\n", nr);
@@ -518,10 +518,10 @@ static int cmm_mem_going_offline(void *arg)
continue;
plpar_page_set_active(page);
list_del(&page->lru);
+ adjust_managed_page_count(page, 1);
__free_page(page);
freed++;
loaned_pages--;
- totalram_pages_inc();
}
spin_unlock(&cmm_lock);