On 26/08/14 13:40, Paolo Bonzini wrote:
> Il 26/08/2014 10:28, Christian Borntraeger ha scritto:
>> 2. We use KVM_REQ_TLB_FLUSH instead of open coding tlb flushes
> 
> Why is this needed?  It seems slower than what you are replacing.
> 
> Supporting KVM_REQ_TLB_FLUSH is useful (the first hunk of the patch);
> hiding the control block manipulation behind a function would also be
> good.  However, x86 needs the KVM_REQ_TLB_FLUSH for local flushes only
> because Intel wants you to flush on the CPU where the VM will next run.
>  It would not be necessary on AMD for example.
> 
> So if you do not need it on s390, you do not have to do it.
> 
> Paolo
> 

David is on vacation, so let my try to answer :-)

This patch is more of a cleanup - making clear whats going on. Its not needed 
for something special.

It does two things:
- encapsulate the TLB flushing - Yes, a function hiding that would also work. 
We decided to reuse an existing interface
- serialize the TLB flushing against other control block updates. This is not 
necessary, it just happens as a consequence of being a request

Agreed, it will be a bit slower (instead of setting a field we now also set and 
test a request bit).
Since we only need to do that in rare cases (specific control register updates 
via userspace and prefix setting) The performance does not matter at all.

I can take out that patch and redo the tag, or leave it in. Let me know.

Christian

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to