Re: [PATCH v3 2/6] exit: hoist get_pid() in release_task() outside of tasklist_lock

Liam R. Howlett
2025-02-03T19:27:56Z

* Mateusz Guzik <mjguzik@gmail.com> [250201 11:31]:
> Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>

Change log is a bit sparse? I get that the subject spells out what is
done, but anything to say here at all? Reduces lock contention by
reducing lock time or something? Maybe even some numbers you have in
the cover letter?

> ---
> kernel/exit.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/exit.c b/kernel/exit.c
> index 1eb2e7d36ce4..257dd8ed45ea 100644
> --- a/kernel/exit.c
> +++ b/kernel/exit.c
> @@ -248,9 +248,10 @@ void release_task(struct task_struct *p)
>
> cgroup_release(p);
>
> + thread_pid = get_pid(p->thread_pid);
> +
> write_lock_irq(&tasklist_lock);
> ptrace_release_task(p);
> - thread_pid = get_pid(p->thread_pid);
> __exit_signal(p);
>
> /*
> --
> 2.43.0
>
>