Thread (11 messages) 11 messages, 3 authors, 2015-06-11

Re: [OSADL QA 3.18.9-rt5 #1]

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2015-05-13 16:34:30

On Fri, 10 Apr 2015 14:36:34 +0200
Sebastian Andrzej Siewior [off-list ref] wrote:
quoted hunk ↗ jump to hunk
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -1450,9 +1450,9 @@ void update_process_times(int user_tick)
 	scheduler_tick();
 	run_local_timers();
 	rcu_check_callbacks(cpu, user_tick);
-#ifdef CONFIG_IRQ_WORK
-	if (in_irq())
-		irq_work_tick();
+
+#if defined(CONFIG_IRQ_WORK) && !defined(CONFIG_PREEMPT_RT_FULL)
+	irq_work_tick();
 #endif
Found the bug. The above actually changes the code
for !CONFIG_PREEMPT_RT_FULL. You still need to keep that

	if (in_irq())

check, otherwise you can call irq_work_tick() from softirq in non RT
configs, which talking to Peter Zijlstra, is a no no.

Note, my tests were failing on CONFIG_PREEMPT_LL (low latency).

-- Steve

 	run_posix_cpu_timers(p);
 }
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help