[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv1] CA-201372: x86: don't flush the whole cache when changing cachability
>>> On 08.03.16 at 19:44, <david.vrabel@xxxxxxxxxx> wrote: > --- a/xen/arch/x86/flushtlb.c > +++ b/xen/arch/x86/flushtlb.c > @@ -140,7 +140,8 @@ unsigned int flush_area_local(const void *va, unsigned > int flags) > if ( order < (BITS_PER_LONG - PAGE_SHIFT) ) > sz = 1UL << (order + PAGE_SHIFT); > > - if ( !(flags & (FLUSH_TLB|FLUSH_TLB_GLOBAL)) && > + if ( (!(flags & (FLUSH_TLB|FLUSH_TLB_GLOBAL)) || > + flags & FLUSH_VA_VALID) && The & wants to be parenthesized. > --- a/xen/arch/x86/mm.c > +++ b/xen/arch/x86/mm.c > @@ -5641,7 +5641,7 @@ int map_pages_to_xen( > flush_flags |= FLUSH_TLB_GLOBAL; \ > if ( (flags & _PAGE_PRESENT) && \ > (((o_) ^ flags) & PAGE_CACHE_ATTRS) ) \ > - flush_flags |= FLUSH_CACHE; \ > + flush_flags |= FLUSH_CACHE_BY_VA; \ > } while (0) No, that's too simple. You may flush by VA only if the MFN didn't change (or else you flush the wrong page). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |