mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tmem: drop direct usage of opt_tmem
Most callers of tmem_freeable_pages() checked to see if by checking opt_tmem before calling tmem_freeable_pages() but not all of them did. This seemed like an oversight and to avoid similar situations like that, stick the check of tmem into tmem_freeable_pages(). Similarly other places should not directly check opt_tmem but instead use the tmem_enabled() helper function. Signed-off-by: Doug Goldstein <cardoe@cardoe.com> Acked-by: Jan Beulich <jbeulich@suse.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
1 parent
dba8bfb94d
commit
6cddfb4ef6
4 files changed
+9
-6
No files matched your search
@@ -1272,7 +1272,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
|
||||
init_domheap_pages(s, e);
|
||||
}
|
||||
|
||||
if ( opt_tmem )
|
||||
if ( tmem_enabled() )
|
||||
{
|
||||
printk(XENLOG_WARNING
|
||||
"TMEM physical RAM limit exceeded, disabling TMEM\n");
|
||||
|
||||
+1
-1
@@ -202,7 +202,7 @@ static void populate_physmap(struct memop_args *a)
|
||||
|
||||
if ( unlikely(!page) )
|
||||
{
|
||||
if ( !opt_tmem || a->extent_order )
|
||||
if ( !tmem_enabled() || a->extent_order )
|
||||
gdprintk(XENLOG_INFO,
|
||||
"Could not allocate order=%u extent: id=%d memflags=%#x (%u of %u)\n",
|
||||
a->extent_order, d->domain_id, a->memflags,
|
||||
|
||||
@@ -652,7 +652,7 @@ static void __init setup_low_mem_virq(void)
|
||||
static void check_low_mem_virq(void)
|
||||
{
|
||||
unsigned long avail_pages = total_avail_pages +
|
||||
(opt_tmem ? tmem_freeable_pages() : 0) - outstanding_claims;
|
||||
tmem_freeable_pages() - outstanding_claims;
|
||||
|
||||
if ( unlikely(avail_pages <= low_mem_virq_th) )
|
||||
{
|
||||
@@ -738,7 +738,7 @@ static struct page_info *alloc_heap_pages(
|
||||
* Others try tmem pools then fail. This is a workaround until all
|
||||
* post-dom0-creation-multi-page allocations can be eliminated.
|
||||
*/
|
||||
if ( opt_tmem && ((order == 0) || (order >= 9)) &&
|
||||
if ( ((order == 0) || (order >= 9)) &&
|
||||
(total_avail_pages <= midsize_alloc_zone_pages) &&
|
||||
tmem_freeable_pages() )
|
||||
goto try_tmem;
|
||||
@@ -984,7 +984,7 @@ static void free_heap_pages(
|
||||
avail[node][zone] += 1 << order;
|
||||
total_avail_pages += 1 << order;
|
||||
|
||||
if ( opt_tmem )
|
||||
if ( tmem_enabled() )
|
||||
midsize_alloc_zone_pages = max(
|
||||
midsize_alloc_zone_pages, total_avail_pages / MIDSIZE_ALLOC_FRAC);
|
||||
|
||||
@@ -1755,7 +1755,7 @@ int assign_pages(
|
||||
{
|
||||
if ( unlikely((d->tot_pages + (1 << order)) > d->max_pages) )
|
||||
{
|
||||
if ( !opt_tmem || order != 0 || d->tot_pages != d->max_pages )
|
||||
if ( !tmem_enabled() || order != 0 || d->tot_pages != d->max_pages )
|
||||
gprintk(XENLOG_INFO, "Over-allocation for domain %u: "
|
||||
"%u > %u\n", d->domain_id,
|
||||
d->tot_pages + (1 << order), d->max_pages);
|
||||
|
||||
@@ -2837,6 +2837,9 @@ void *tmem_relinquish_pages(unsigned int order, unsigned int memflags)
|
||||
|
||||
unsigned long tmem_freeable_pages(void)
|
||||
{
|
||||
if ( !tmem_enabled() )
|
||||
return 0;
|
||||
|
||||
return tmem_page_list_pages + _atomic_read(freeable_page_count);
|
||||
}
|
||||
|
||||
|
||||