[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 1/3] x86/hypervisor: pass flags to hypervisor_flush_tlb



On 09.03.2020 18:25, Wei Liu wrote:
> On Mon, Mar 09, 2020 at 05:38:12PM +0100, Jan Beulich wrote:
>> On 19.02.2020 12:44, Wei Liu wrote:
>>> --- a/xen/include/asm-x86/flushtlb.h
>>> +++ b/xen/include/asm-x86/flushtlb.h
>>> @@ -123,6 +123,9 @@ void switch_cr3_cr4(unsigned long cr3, unsigned long 
>>> cr4);
>>>   /* Flush all HVM guests linear TLB (using ASID/VPID) */
>>>  #define FLUSH_GUESTS_TLB 0x4000
>>>  
>>> +#define FLUSH_TLB_FLAGS_MASK (FLUSH_TLB | FLUSH_TLB_GLOBAL | 
>>> FLUSH_VA_VALID | \
>>> +                              FLUSH_ORDER_MASK)
>>
>> I don't think FLUSH_ORDER_MASK should be part of this, as it's not
>> exclusively TLB-flush related.
> 
> My intention was to capture all flags pertinent to TLB flushes. I didn't
> mean they were exclusively TLB flush related.

That's what I understood, but the result is leading to possible ambiguity.
Thinking about it again, ...

> I can remove the order mask from the list of flags. Not a big deal.

... I'm afraid I also have to ask for FLUSH_VA_VALID to be dropped,
as that one's not TLB flush related at all. Instead it identifies
whether the linear address provided _still has_ a valid mapping
(rather than there being an address provided at all), such that
CLFLUSH bases cache flushing would be usable. At that point I
wonder whether the separate constant is still of much use at all.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.