Re: [GIT PULL] scheduler changes for v6.4

From: Ingo Molnar
Date: Sat Apr 29 2023 - 03:04:02 EST



* Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote:

> On 2023-04-28 18:02, Linus Torvalds wrote:
> > On Thu, Apr 27, 2023 at 1:51 PM Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> > >
> > > - Fix performance regression introduced by mm_cid
> >
> > This causes a conflict with commit b20b0368c614 ("mm: fix memory leak
> > on mm_init error handling") that came in through the MM tree.
> >
> > That conflict is trivial to resolve, and I did so.
> >
> > Except I also checked my resolution with what was going on in
> > linux-next, and it's different.
> >
> > I'm pretty sure the resolution in linux-next is wrong, but I thought
> > I'd mention this, since clearly this wasn't caught in linux-next.
> >
> > Or maybe it's me that did it wrong, but hey, that couldn't actually
> > happen, could it?
>
> I've reviewed both merge commits (c79e0731da from next-20230428 and
> 586b222d74 from master) and I confirm that your conflict resolution
> is correct. The one in next was wrong.

Indeed - mm_alloc_cid() happens after the MM context has already been
initialized, so the fail_cid label needs to deinit the context aka call
destroy_context().

So the resolution by Linus is the correct one:

mm_destroy_cid(mm);
fail_cid:
destroy_context(mm);
fail_nocontext:
mm_free_pgd(mm);

Thanks,

Ingo