On Fri, Oct 14, 2022 at 8:51 PM Nadav Amit <nadav.amit@xxxxxxxxx> wrote: > > Unless I am missing something, flush_tlb_batched_pending() is would be > called and do the flushing at this point, no? Ahh, yes. That seems to be doing the right thing, although looking a bit more at it, I think it might be improved. At least in the zap_pte_range() case, instead of doing a synchronous TLB flush if there are pending batched flushes, it migth be better if flush_tlb_batched_pending() would set the "need_flush_all" bit in the mmu_gather structure. That would possibly avoid that extra TLB flush entirely - since *normally* fzap_page_range() will cause a TLB flush anyway. Maybe it doesn't matter. Linus