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

Re: [Xen-devel] [PATCH] xen: don't flush the TLB on grant unmap for auto-translated guests



On 07/05/14 10:15, Jan Beulich wrote:
>>>> On 06.05.14 at 19:01, <david.vrabel@xxxxxxxxxx> wrote:
>> On 06/05/14 17:37, Roger Pau Monne wrote:
>>> For auto-translated guests the p2m code will do the necessary TLB
>>> flushes, so there's no need to perform any TLB flushes in generic
>>> grant table code.
>>>
>>> Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx>
>>> Cc: Jan Beulich <jbeulich@xxxxxxxx>
>>> Cc: Tim Deegan <tim@xxxxxxx>
>>> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
>>> ---
>>>  xen/common/grant_table.c |   12 ++++++++----
>>>  1 files changed, 8 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
>>> index 107b000..a2a857f 100644
>>> --- a/xen/common/grant_table.c
>>> +++ b/xen/common/grant_table.c
>>> @@ -1099,7 +1099,8 @@ gnttab_unmap_grant_ref(
>>>              guest_handle_add_offset(uop, 1);
>>>          }
>>>  
>>> -        flush_tlb_mask(current->domain->domain_dirty_cpumask);
>>> +        if ( !paging_mode_external(current->domain) )
>>> +            flush_tlb_mask(current->domain->domain_dirty_cpumask);
>>
>> Introduce
>>
>> void gnttab_flush_tlb(struct domain *d)
>> {
>>     if ( !paging_mode_external(d) )
>>         flush_tlb_mask(d->domain_dirty_cpumask);
>> }
> 
> Yes, please, but preferably as
> 
> static void gnttab_flush_tlb(const struct domain *d)

Any reason not to make it static inline void?

> 
> Also, while you might not be concerned about its performance,
> I'd highly appreciate if the one remaining use (in gnttab_transfer())
> would also be inspected and - if suitable - replaced (or else a note
> added to the commit message clarifying why there the same can't
> be done).

Yes, I see the other caller of flush_tlb_mask, and
guest_physmap_remove_page ends up calling p2m_set_entry, which is the
same as the other callers, so AFAICT, the flush is not necessary there
either.

Roger.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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