On Fri, 2016-09-09 at 10:38 +0530, Nikunj A Dadhania wrote: > One more question, when in gen_check_tlb_flush, don't I need to see > if other CPU has global flag set ?
No, you leave it completely alone. You can clear it's local flag as part of the flush (in the MT-TCG case that can be done by the async handler) because if it had a "dirty" TLB there is no point in it flushing it twice, but the global flag stays. If the whole operation was completely synchronous, I suppose you could clear the other's guy global flag, but it's not so I'd rather not take chances for now. Ben.