On Mon, Aug 10, 2020 at 10:48 AM Yang Shi <shy828301@xxxxxxxxx> wrote: > > It looks the retried fault still flush TLB with this change. > > Shouldn't we do something like this to skip spurious TLB flush: I have no idea what code-base you're basing your patches against, and what you're comparing my patch. Your patch does *exactly* the same thing mine did. Except it does a "goto unlock" to jump over the flush_tlb_fix_spurious_fault(), while my pseudo-patch just changed the if (vmf->flags & FAULT_FLAG_WRITE) to be a if (vmf->flags & (FAULT_FLAG_WRITE | FAULT_FLAG_TRIED)) but it has the same effect: it skips the flush_tlb_fix_spurious_fault(). So if you think your patch does something else, then your source code doesn't match mine. The *only* thing you jumped over was that same thing that I disabled. Somebody is confused. Linus