[lkml]   [2019]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[for-linus][PATCH 4/5] samples/trace_printk: Wait for IRQ work to finish
From: Sven Schnelle <>

trace_printk schedules work via irq_work_queue(), but doesn't
wait until it was processed. The testcase does:

:;: "Load module again, which means the event1 should be recorded";:
modprobe trace-printk
grep "event1:" trace

so the grep which checks the trace file might run before the irq work
was processed. Fix this by adding a irq_work_sync().


Fixes: af2a0750f3749 ("selftests/ftrace: Improve kprobe on module testcase to load/unload module")
Signed-off-by: Sven Schnelle <>
Signed-off-by: Steven Rostedt (VMware) <>
samples/trace_printk/trace-printk.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/samples/trace_printk/trace-printk.c b/samples/trace_printk/trace-printk.c
index 7affc3b50b61..cfc159580263 100644
--- a/samples/trace_printk/trace-printk.c
+++ b/samples/trace_printk/trace-printk.c
@@ -36,6 +36,7 @@ static int __init trace_printk_init(void)

/* Kick off printing in irq context */
+ irq_work_sync(&irqwork);

trace_printk("This is a %s that will use trace_bprintk()\n",
"static string");

 \ /
  Last update: 2019-12-21 22:13    [W:0.050 / U:7.408 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site