[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240607150443.2096063-1-fuweid89@gmail.com>
Date: Fri, 7 Jun 2024 23:04:42 +0800
From: Wei Fu <fuweid89@...il.com>
To: oleg@...hat.com
Cc: Sudhanva.Huruli@...rosoft.com,
akpm@...ux-foundation.org,
apais@...ux.microsoft.com,
axboe@...nel.dk,
boqun.feng@...il.com,
brauner@...nel.org,
ebiederm@...ssion.com,
frederic@...nel.org,
fuweid89@...il.com,
j.granados@...sung.com,
jiangshanlai@...il.com,
joel@...lfernandes.org,
josh@...htriplett.org,
linux-kernel@...r.kernel.org,
mathieu.desnoyers@...icios.com,
michael.christie@...cle.com,
mjguzik@...il.com,
neeraj.upadhyay@...nel.org,
paulmck@...nel.org,
qiang.zhang1211@...il.com,
rachelmenge@...ux.microsoft.com,
rcu@...r.kernel.org,
rostedt@...dmis.org,
weifu@...rosoft.com
Subject: Re: [RCU] zombie task hung in synchronize_rcu_expedited
Hi!
>
> On 06/07, Wei Fu wrote:
> >
> > All the kernels disable CONFIG_PREEMPT and PREEMPT_RCU.
>
> Ah, this can explain both soft-lockup and synchronize_rcu() hang. If my theory
> is correct.
>
> Can you try the patch I sent?
>
> Oleg.
>
Yes. I applied your patch on v5.15.160 and run reproducer for 5 hours.
I didn't see this issue. Currently, it looks good!. I will continue that test
on this weekend.
In last reply, you mentioned TIF_NOTIFY_SIGNAL related to busy-wait loop.
Would you please explain why flag-clear works here?
Thanks,
Wei
```
➜ linux git:(v5.15.160) ✗ git --no-pager show
commit c61bd26ae81a896c8660150b4e356153da30880a (HEAD, tag: v5.15.160, origin/linux-5.15.y)
Author: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Date: Sat May 25 16:20:19 2024 +0200
Linux 5.15.160
Link: https://lore.kernel.org/r/20240523130327.956341021@linuxfoundation.org
Tested-by: SeongJae Park <sj@...nel.org>
Tested-by: Mark Brown <broonie@...nel.org>
Tested-by: Florian Fainelli <florian.fainelli@...adcom.com>
Tested-by: Harshit Mogalapalli <harshit.m.mogalapalli@...cle.com>
Tested-by: Linux Kernel Functional Testing <lkft@...aro.org>
Tested-by: Shuah Khan <skhan@...uxfoundation.org>
Tested-by: Ron Economos <re@...z.net>
Tested-by: Kelsey Steele <kelseysteele@...ux.microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
diff --git a/Makefile b/Makefile
index 5cbfe2be72dd..bfc863d71978 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 15
-SUBLEVEL = 159
+SUBLEVEL = 160
EXTRAVERSION =
NAME = Trick or Treat
➜ linux git:(v5.15.160) ✗ git --no-pager diff .
diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
index 259fc4ca0d9c..40b011f88067 100644
--- a/kernel/pid_namespace.c
+++ b/kernel/pid_namespace.c
@@ -214,6 +214,7 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns)
*/
do {
clear_thread_flag(TIF_SIGPENDING);
+ clear_thread_flag(TIF_NOTIFY_SIGNAL);
rc = kernel_wait4(-1, NULL, __WALL, NULL);
} while (rc != -ECHILD);
```
Powered by blists - more mailing lists