[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 |