Hello, It looks like last summer, there were 2 sets of patches in flight to fix the issue of simultaneous mprotect/madvise calls unmapping PTEs, and some pages not being flushed from the TLB before returning to userspace. Minchan posted these patches: 56236a59556c ("mm: refactor TLB gathering API") 99baac21e458 ("mm: fix MADV_[FREE|DONTNEED] TLB flush miss problem") Around the same time, Mel posted: 4647706ebeee ("mm: always flush VMA ranges affected by zap_page_range") They both appear to solve the same bug. Only one of the two solutions is needed. However, 4647706ebeee appears to introduce extra TLB flushes - one per VMA, instead of one over the entire range unmapped, and also extra flushes when there are no simultaneous unmappers of the same mm. For that reason, it seems like we should revert 4647706ebeee and keep only Minchan's solution in the kernel. Am I overlooking any reason why we should not revert 4647706ebeee? kind regards, Rik -- All Rights Reversed.
Attachment:
signature.asc
Description: This is a digitally signed message part