[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] alloc_heap_pages is low efficient with more CPUs
On 13/10/2012 08:20, "tupeng212" <tupeng212@xxxxxxxxx> wrote: > /* Allocate 2^@order contiguous pages. */ > static struct page_info *alloc_heap_pages( > unsigned int zone_lo, unsigned int zone_hi, > unsigned int node, unsigned int order, unsigned int memflags) > { > cpus_clear(mask); > for ( i = 0; i < (1 << order); i++ ) > { > if ( pg[i].u.free.need_tlbflush ) > { > /* Add in extra CPUs that need flushing because of this page. */ > cpus_andnot(extra_cpus_mask, cpu_online_map, mask); > tlbflush_filter(extra_cpus_mask, pg[i].tlbflush_timestamp); > cpus_or(mask, mask, extra_cpus_mask); > } > } > if ( unlikely(!cpus_empty(mask)) ) > { > perfc_incr(need_flush_tlb_flush); > flush_tlb_mask(&mask); > } > return pg; > } > > Is this equal to : in pg[1<<order-1].u.free.need_tlbflush, if we compute > mask=0, then flush TLB mask ? No! -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |