On 26/06/2015 18:31, Paolo Bonzini wrote:
On 26/06/2015 18:30, Frederic Konrad wrote:
Yes this is not the case as I implemented it.
The rest of the TB will be executed before the tlb_flush work really
happen. The old version did this, was slow and was a mess (if two
VCPUs want to tlb_flush at the same time and an other
tlb_flush_page.. it becomes tricky..)
Have you tried implementing the solution based on cpu->halted?
You mean based on cpu_has_work?
Yes it was a little painfull (eg: it required cpu to be halted.. but
maybe it's what you
were suggesting?)
I think it's not really terrible if the other VCPU execute some
stuff before doing the tlb_flush.? So the solution would be only to
cut the TranslationBlock after instruction which require a
tlb_flush?
Yes, this is required too.
Paolo