Re: Current mainline git (24e700e291d52bd2) hangs when building e.g. perf

From: Ingo Molnar
Date: Sun Sep 17 2017 - 13:04:21 EST



* Andy Lutomirski <luto@xxxxxxxxxx> wrote:

> PeterZ and Ingo, would you be okay with adding a define so arches can
> opt out of the task_struct::active_mm field entirely? That is, with
> the option set, task_struct wouldn't have an active_mm field, the core
> wouldn't call mmgrab and mmdrop, and the arch would be responsible for
> that bookkeeping instead? x86, and presumably all arches without
> cross-core invalidation, would probably prefer to just shoot down the
> old mm entirely in __mmput() rather than trying to figure out when do
> finish freeing old mms. After all, exit_mmap() is going to send an
> IPI regardless, so I see no reason to have the scheduler core pin an
> old dead mm just because some random kernel thread's active_mm field
> points to it.
>
> IOW, if I'm going to reintroduce something like what the old lazy mode
> did on x86, I'd rather do it right.

How realistic would it be to get rid of ::active_mm on all architectures
at once?

Thanks,

Ingo