diff options
author | Paul E. McKenney <paulmck@linux.ibm.com> | 2018-10-22 08:33:06 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.ibm.com> | 2018-11-12 08:15:59 -0800 |
commit | f0ad56e876cdd67730065274625edbcfe0cca278 (patch) | |
tree | d29ef247705f788e9b9b148da3e2d1f020b95621 /kernel/rcu | |
parent | 9213784b48f8ba666b4695ca3f5d34f583daab83 (diff) | |
download | blackbird-op-linux-f0ad56e876cdd67730065274625edbcfe0cca278.tar.gz blackbird-op-linux-f0ad56e876cdd67730065274625edbcfe0cca278.zip |
rcu: Eliminate BUG_ON() for kernel/rcu/update.c
The update.c file has a number of calls to BUG_ON(), which panics the
kernel, which is not a good strategy for devices (like embedded) that
don't have a way to capture console output. This commit therefore
converts these BUG_ON() calls to WARN_ON_ONCE() and WARN_ONCE().
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Diffstat (limited to 'kernel/rcu')
-rw-r--r-- | kernel/rcu/update.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index f203b94f6b5b..cb26de25658a 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c @@ -822,7 +822,8 @@ static int __init rcu_spawn_tasks_kthread(void) struct task_struct *t; t = kthread_run(rcu_tasks_kthread, NULL, "rcu_tasks_kthread"); - BUG_ON(IS_ERR(t)); + if (WARN_ONCE(IS_ERR(t), "%s: Could not start Tasks-RCU grace-period kthread, OOM is now expected behavior\n", __func__)) + return 0; smp_mb(); /* Ensure others see full kthread. */ WRITE_ONCE(rcu_tasks_kthread_ptr, t); return 0; |