[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 1/2] xen: replace tlbflush check and operation with inline functions
>>> On 19.09.16 at 04:50, <dongli.zhang@xxxxxxxxxx> wrote: > This patch cleaned up the code by replacing complicated tlbflush check and > operation with inline functions. We should use those inline functions to > avoid the complicated tlbflush check and tlbflush operations when > implementing TODOs left in commit a902c12ee45fc9389eb8fe54eeddaf267a555c58 > (More efficient TLB-flush filtering in alloc_heap_pages()). > > "#include <asm/flushtlb.h>" is removed from xen/arch/x86/acpi/suspend.c to > avoid the compiling error after we include "<asm/flushtlb.h>" to > xen/include/xen/mm.h. > > Signed-off-by: Dongli Zhang <dongli.zhang@xxxxxxxxxx> > --- > Changed since v4: > * Wrap the filtered tlbflush mask operation as inline function (suggested > by Jan). That was only one half of my request, the other half was to ... > --- a/xen/common/page_alloc.c > +++ b/xen/common/page_alloc.c > @@ -827,10 +827,8 @@ static struct page_info *alloc_heap_pages( > BUG_ON(pg[i].count_info != PGC_state_free); > pg[i].count_info = PGC_state_inuse; > > - if ( pg[i].u.free.need_tlbflush && > - (pg[i].tlbflush_timestamp <= tlbflush_current_time()) && > - (!need_tlbflush || > - (pg[i].tlbflush_timestamp > tlbflush_timestamp)) ) > + if ( accumulate_tlbflush(need_tlbflush, &pg[i], > + tlbflush_timestamp) ) > { > need_tlbflush = 1; > tlbflush_timestamp = pg[i].tlbflush_timestamp; ... also move the if() including its body into the helper (whether you make the new value of need_tlbflush the return value or handle it via indirection is up to you). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |