| From | "Huang, Ying" <> | Subject | Re: [RFC 20/20] mm/rmap: avoid potential races | Date | Mon, 23 Aug 2021 16:05:24 +0800 |
| |
Hi, Nadav,
Nadav Amit <nadav.amit@gmail.com> writes:
> From: Nadav Amit <namit@vmware.com> > > flush_tlb_batched_pending() appears to have a theoretical race: > tlb_flush_batched is being cleared after the TLB flush, and if in > between another core calls set_tlb_ubc_flush_pending() and sets the > pending TLB flush indication, this indication might be lost. Holding the > page-table lock when SPLIT_LOCK is set cannot eliminate this race.
Recently, when I read the corresponding code, I find the exact same race too. Do you still think the race is possible at least in theory? If so, why hasn't your fix been merged?
> The current batched TLB invalidation scheme therefore does not seem > viable or easily repairable.
I have some idea to fix this without too much code. If necessary, I will send it out.
Best Regards, Huang, Ying
|