[Devel] [PATCH RH7] ms/tracing: remove WARN_ON in start_thread()

Vasily Averin vvs at virtuozzo.com
Fri Nov 20 09:20:36 MSK 2020


This patch reverts upstream commit 978defee11a5 ("tracing: Do a WARN_ON()
 if start_thread() in hwlat is called when thread exists")

.start hook can be legally called several times if according
tracer is stopped

screen window 1
[root at localhost ~]# echo 1 > /sys/kernel/tracing/events/kmem/kfree/enable
[root at localhost ~]# echo 1 > /sys/kernel/tracing/options/pause-on-trace
[root at localhost ~]# less -F /sys/kernel/tracing/trace

screen window 2
[root at localhost ~]# cat /sys/kernel/debug/tracing/tracing_on
0
[root at localhost ~]# echo hwlat >  /sys/kernel/debug/tracing/current_tracer
[root at localhost ~]# echo 1 > /sys/kernel/debug/tracing/tracing_on
[root at localhost ~]# cat /sys/kernel/debug/tracing/tracing_on
0
[root at localhost ~]# echo 2 > /sys/kernel/debug/tracing/tracing_on

triggers warning in dmesg:
WARNING: CPU: 3 PID: 1403 at kernel/trace/trace_hwlat.c:371 hwlat_tracer_start+0xc9/0xd0

Fixes: 978defee11a5 ("tracing: Do a WARN_ON() if start_thread() in hwlat is called when thread exists")
Patch was sent to upstream but is not approved yet.
https://jira.sw.ru/browse/PSBM-122204
Signed-off-by: Vasily Averin <vvs at virtuozzo.com>
---
 kernel/trace/trace_hwlat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/trace_hwlat.c b/kernel/trace/trace_hwlat.c
index 45a9e3b..12b8bd7 100644
--- a/kernel/trace/trace_hwlat.c
+++ b/kernel/trace/trace_hwlat.c
@@ -368,7 +368,7 @@ static int start_kthread(struct trace_array *tr)
 {
 	struct task_struct *kthread;
 
-	if (WARN_ON(hwlat_kthread))
+	if (hwlat_kthread)
 		return 0;
 
 	kthread = kthread_create(kthread_fn, NULL, "hwlatd");
-- 
1.8.3.1



More information about the Devel mailing list