On Mon, Aug 10, 2020 at 10:48 AM Yang Shi shy828301@gmail.com 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