Thread (2 messages) 2 messages, 2 authors, 2015-02-16

Re: [PATCH 3.10-rt] tick-sched: fix inadvertent enabling of interrupts

From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: 2015-02-16 16:51:19

* Paul Gortmaker | 2014-05-16 14:10:23 [-0400]:
which is just a sanity check to ensure irqs are disabled in
run_posix_cpu_timers().  The debug lock splat is more informative
since it points right at tick_check_oneshot_change as the culprit
who re-enabled interrupts [which in turn has called the
tick_nohz_switch_to_nohz before returning].

This isn't a problem on mainline, since there, the call path is
clearly limited to softirq context as follows:

   run_timer_softirq
    --> hrtimer_run_pending
         --> tick_check_oneshot_change
              --> tick_nohz_switch_to_nohz

On rt, there is also only one call path, and since we know irqs
are off for it, we can delete the local_irq ops vs making them
the save/restore variants.  Insert a BUG_ON, since as above
we'll bug anyway later on if we screw this up.  And fix up
the comments to match the way -rt does things.
I reverted one patch in v3.18 release and we are back to this path
softirq path on -RT as well. I got to think how to proceed in future.
Maybe I keep that nohz / highres check as is since it.
However I tried to boot the way you said in KVM and I did not trigger
the splat.
Signed-off-by: Paul Gortmaker <redacted>
Sebastian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help