|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 2/3] xen: remove tmem from hypervisor
>>> On 28.11.18 at 14:58, <wei.liu2@xxxxxxxxxx> wrote:
> @@ -250,7 +249,7 @@ static void populate_physmap(struct memop_args *a)
>
> if ( unlikely(!page) )
> {
> - if ( !tmem_enabled() || a->extent_order )
> + if ( 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,
From an abstract pov without tmem tmem_enabled() should return constant
"false". Which seems to mean that the if() should go away rather than its
condition getting changed.
> @@ -949,22 +935,6 @@ static struct page_info *alloc_heap_pages(
> return NULL;
> }
>
> - /*
> - * TMEM: When available memory is scarce due to tmem absorbing it, allow
> - * only mid-size allocations to avoid worst of fragmentation issues.
> - * Others try tmem pools then fail. This is a workaround until all
> - * post-dom0-creation-multi-page allocations can be eliminated.
> - */
> - if ( ((order == 0) || (order >= 9)) &&
> - (total_avail_pages <= midsize_alloc_zone_pages) &&
> - tmem_freeable_pages() )
> - {
> - /* Try to free memory from tmem. */
> - pg = tmem_relinquish_pages(order, memflags);
> - spin_unlock(&heap_lock);
> - return pg;
> - }
> -
> pg = get_free_buddy(zone_lo, zone_hi, order, memflags, d);
> /* Try getting a dirty buddy if we couldn't get a clean one. */
> if ( !pg && !(memflags & MEMF_no_scrub) )
> @@ -1444,10 +1414,6 @@ static void free_heap_pages(
> else
> pg->u.free.first_dirty = INVALID_DIRTY_IDX;
>
> - if ( tmem_enabled() )
> - midsize_alloc_zone_pages = max(
> - midsize_alloc_zone_pages, total_avail_pages /
> MIDSIZE_ALLOC_FRAC);
Seeing these two hunks I think midsize_alloc_zone_pages and
MIDSIZE_ALLOC_FRAC want to go away altogether.
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -248,8 +248,10 @@ struct npfec {
> #define MEMF_no_refcount (1U<<_MEMF_no_refcount)
> #define _MEMF_populate_on_demand 1
> #define MEMF_populate_on_demand (1U<<_MEMF_populate_on_demand)
> +#if 0
> #define _MEMF_tmem 2
> #define MEMF_tmem (1U<<_MEMF_tmem)
> +#endif
Why "#if 0" rather than removing the two lines?
With these suitably taken care of feel free to add
Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |