Re: Patch "exit: wait_task_zombie: kill the no longer necessary spin_lock_irq(siglock)" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

On 02/19, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
>
> This is a note to let you know that I've just added the patch titled
>
>     exit: wait_task_zombie: kill the no longer necessary spin_lock_irq(siglock)
>
> to the 6.1-stable tree which can be found at:
>     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>
> The filename of the patch is:
>      exit-wait_task_zombie-kill-the-no-longer-necessary-spin_lock_irq-siglock.patch
> and it can be found in the queue-6.1 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@xxxxxxxxxxxxxxx> know about it.

This patch depends on

	f7ec1cd5cc7e getrusage: use sig->stats_lock rather than lock_task_sighand()
	7601df8031fd fs/proc: do_task_stat: use sig->stats_lock to gather the threads/children stats

but since

	FAILED: patch "[PATCH] getrusage: use sig->stats_lock rather than" failed to apply to 6.1-stable tree
	FAILED: patch "[PATCH] fs/proc: do_task_stat: use sig->stats_lock to gather the" failed to apply to 6.1-stable tree

this patch should not be added to 6.1-stable.

And in any case this particular patch is not a stable material.

Oleg.

> From c1be35a16b2f1fe21f4f26f9de030ad6eaaf6a25 Mon Sep 17 00:00:00 2001
> From: Oleg Nesterov <oleg@xxxxxxxxxx>
> Date: Tue, 23 Jan 2024 16:34:00 +0100
> Subject: exit: wait_task_zombie: kill the no longer necessary spin_lock_irq(siglock)
>
> From: Oleg Nesterov <oleg@xxxxxxxxxx>
>
> commit c1be35a16b2f1fe21f4f26f9de030ad6eaaf6a25 upstream.
>
> After the recent changes nobody use siglock to read the values protected
> by stats_lock, we can kill spin_lock_irq(&current->sighand->siglock) and
> update the comment.
>
> With this patch only __exit_signal() and thread_group_start_cputime() take
> stats_lock under siglock.
>
> Link: https://lkml.kernel.org/r/20240123153359.GA21866@xxxxxxxxxx
> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
> Signed-off-by: Dylan Hatch <dylanbhatch@xxxxxxxxxx>
> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
>  kernel/exit.c |   10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
>
> --- a/kernel/exit.c
> +++ b/kernel/exit.c
> @@ -1146,17 +1146,14 @@ static int wait_task_zombie(struct wait_
>  		 * and nobody can change them.
>  		 *
>  		 * psig->stats_lock also protects us from our sub-threads
> -		 * which can reap other children at the same time. Until
> -		 * we change k_getrusage()-like users to rely on this lock
> -		 * we have to take ->siglock as well.
> +		 * which can reap other children at the same time.
>  		 *
>  		 * We use thread_group_cputime_adjusted() to get times for
>  		 * the thread group, which consolidates times for all threads
>  		 * in the group including the group leader.
>  		 */
>  		thread_group_cputime_adjusted(p, &tgutime, &tgstime);
> -		spin_lock_irq(&current->sighand->siglock);
> -		write_seqlock(&psig->stats_lock);
> +		write_seqlock_irq(&psig->stats_lock);
>  		psig->cutime += tgutime + sig->cutime;
>  		psig->cstime += tgstime + sig->cstime;
>  		psig->cgtime += task_gtime(p) + sig->gtime + sig->cgtime;
> @@ -1179,8 +1176,7 @@ static int wait_task_zombie(struct wait_
>  			psig->cmaxrss = maxrss;
>  		task_io_accounting_add(&psig->ioac, &p->ioac);
>  		task_io_accounting_add(&psig->ioac, &sig->ioac);
> -		write_sequnlock(&psig->stats_lock);
> -		spin_unlock_irq(&current->sighand->siglock);
> +		write_sequnlock_irq(&psig->stats_lock);
>  	}
>
>  	if (wo->wo_rusage)
>
>
> Patches currently in stable-queue which might be from oleg@xxxxxxxxxx are
>
> queue-6.1/exit-wait_task_zombie-kill-the-no-longer-necessary-spin_lock_irq-siglock.patch
> queue-6.1/fs-proc-do_task_stat-move-thread_group_cputime_adjusted-outside-of-lock_task_sighand.patch
>





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux