Re: [PATCH v5 08/24] sched: Introduce per memory space current virtual cpu id

From: Peter Zijlstra
Date: Tue Nov 08 2022 - 08:00:53 EST


On Thu, Nov 03, 2022 at 04:03:43PM -0400, Mathieu Desnoyers wrote:

> diff --git a/fs/exec.c b/fs/exec.c
> index 349a5da91efe..93eb88f4053b 100644
> --- a/fs/exec.c
> +++ b/fs/exec.c
> @@ -1013,6 +1013,9 @@ static int exec_mmap(struct mm_struct *mm)
> tsk->active_mm = mm;
> tsk->mm = mm;
> lru_gen_add_mm(mm);
> + mm_init_vcpu_lock(mm);
> + mm_init_vcpumask(mm);
> + mm_init_node_vcpumask(mm);
> /*
> * This prevents preemption while active_mm is being loaded and
> * it and mm are being updated, which could cause problems for

> @@ -1150,6 +1154,9 @@ static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p,
>
> mm->user_ns = get_user_ns(user_ns);
> lru_gen_init_mm(mm);
> + mm_init_vcpu_lock(mm);
> + mm_init_vcpumask(mm);
> + mm_init_node_vcpumask(mm);
> return mm;
>
> fail_nocontext:

Why isn't all that a single mm_init_vcpu(mm) or something ?