> On Dec 2, 2020, at 6:20 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > > On Sun, Nov 29, 2020 at 02:01:39AM +1000, Nicholas Piggin wrote: >> + * - A delayed freeing and RCU-like quiescing sequence based on >> + * mm switching to avoid IPIs completely. > > That one's interesting too. so basically you want to count switch_mm() > invocations on each CPU. Then, periodically snapshot the counter on each > CPU, and when they've all changed, increment a global counter. > > Then, you snapshot the global counter and wait for it to increment > (twice I think, the first increment might already be in progress). > > The only question here is what should drive this machinery.. the tick > probably. > > This shouldn't be too hard to do I think. > > Something a little like so perhaps? I don’t think this will work. A CPU can go idle with lazy mm and nohz forever. This could lead to unbounded memory use on a lightly loaded system.