Re: [RFC PATCH 0/4] sched+mm: Track lazy active mm existence with hazard pointers

From: Peter Zijlstra
Date: Mon Oct 07 2024 - 03:06:58 EST


On Sat, Oct 05, 2024 at 09:56:24AM -0700, Linus Torvalds wrote:
> On Sat, 5 Oct 2024 at 09:16, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> >
> > On Wed, Oct 02, 2024 at 10:39:15AM -0700, Linus Torvalds wrote:
> > > So I think the real issue is that "active_mm" is an old hack from a
> > > bygone era when we didn't have the (much more involved) full TLB
> > > tracking.
> >
> > I still seem to have these patches that neither Andy nor I ever managed
> > to find time to finish:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/log/?h=x86/lazy
>
> Yes, that looks very much like what I had in mind.
>
> In fact, it looks a lot smaller and simpler than what my mental model was.
>
> I was thinking I'd do it by removing "active_mm" entirely from 'struct
> task_struct', and turn it into a per-cpu variable instead, and then
> try to massage that into some global new world order. That patch
> series you point to seems to be much simpler and clearer.
>
> Of course, you also say "never managed to finish", so presumably
> there's something completely broken in that series, and it doesn't
> actually work?

Last time I tried it, it worked fine. I just didn't get around to
actually fully thinking it trough and making sure nothing subtle was
broken etc. Pesky details and such..