On Fri, Mar 12, 2021 at 12:36:41PM +0100, Frederic Weisbecker wrote: > On Wed, Mar 03, 2021 at 04:00:15PM -0800, paul...@kernel.org wrote: > > From: "Paul E. McKenney" <paul...@kernel.org> > > > > If there is heavy softirq activity, the softirq system will attempt > > to awaken ksoftirqd and will stop the traditional back-of-interrupt > > softirq processing. This is all well and good, but only if the > > ksoftirqd kthreads already exist, which is not the case during early > > boot, in which case the system hangs. > > > > One reproducer is as follows: > > > > tools/testing/selftests/rcutorture/bin/kvm.sh --allcpus --duration 2 > > --configs "TREE03" --kconfig "CONFIG_DEBUG_LOCK_ALLOC=y > > CONFIG_PROVE_LOCKING=y CONFIG_NO_HZ_IDLE=y CONFIG_HZ_PERIODIC=n" --bootargs > > "threadirqs=1" --trust-make > > > > This commit therefore adds a couple of existence checks for ksoftirqd > > and forces back-of-interrupt softirq processing when ksoftirqd does not > > yet exist. With this change, the above test passes. > > > > Reported-by: Sebastian Andrzej Siewior <bige...@linutronix.de> > > Reported-by: Uladzislau Rezki <ure...@gmail.com> > > Cc: Peter Zijlstra <pet...@infradead.org> > > Cc: Thomas Gleixner <t...@linutronix.de> > > [ paulmck: Remove unneeded check per Sebastian Siewior feedback. ] > > Signed-off-by: Paul E. McKenney <paul...@kernel.org> > > Reviewed-by: Frederic Weisbecker <frede...@kernel.org>
Applied, thank you! Thanx, Paul