This commit fixes a system lockup that happens with no system log reporting and affects all Red Hat RT kernels.
From the commit log:
Traditionally hrtimer callbacks were run with IRQs disabled, but with
the introduction of HRTIMER_MODE_SOFT it is possible they run from
SoftIRQ context, which does _NOT_ have IRQs disabled.
Allow for the CFS bandwidth timers (period_timer and slack_timer) to
be ran from SoftIRQ context; this entails removing the assumption that
IRQs are already disabled from the locking.
While mainline doesn't strictly need this, -RT forces all timers not
explicitly marked with MODE_HARD into MODE_SOFT and trips over this.
And marking these timers as MODE_HARD doesn't make sense as they're
not required for RT operation and can potentially be quite expensive.
Reported-by: Tom Putzeys <firstname.lastname@example.org>
Tested-by: Mike Galbraith <email@example.com>
Signed-off-by: Peter Zijlstra (Intel) <firstname.lastname@example.org>
Cc: Linus Torvalds <email@example.com>
Cc: Peter Zijlstra <firstname.lastname@example.org>
Cc: Sebastian Andrzej Siewior <email@example.com>
Cc: Thomas Gleixner <firstname.lastname@example.org>
Signed-off-by: Ingo Molnar <email@example.com>
Upstream commit from PREEMPT_RT tree: c0ad4aa4d8
The code from commit c0ad4aa4d8 got pulled in with other 5.2-rt backports, so this is mainly relevant for pulling back to zstreams
(In reply to Clark Williams from comment #2)
> The code from commit c0ad4aa4d8 got pulled in with other 5.2-rt backports,
> so this is mainly relevant for pulling back to zstreams
kernel-rt-4.18.0-80.5.rt16.1.el8 (2019-03-27) and newer contains this commit
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.