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
list_add(&page->lru, &cmm_page_list);
loaned_pages++;
- totalram_pages_dec();
+ adjust_managed_page_count(page, -1);
spin_unlock(&cmm_lock);
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);
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);