Loading arch/arm64/configs/msm_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -552,6 +552,7 @@ CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y # CONFIG_DETECT_HUNG_TASK is not set CONFIG_PANIC_TIMEOUT=5 CONFIG_PANIC_ON_RECURSIVE_FAULT=y CONFIG_PANIC_ON_SCHED_BUG=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y CONFIG_DEBUG_SPINLOCK=y Loading kernel/sched/core.c +9 −0 Original line number Diff line number Diff line Loading @@ -4412,6 +4412,9 @@ static noinline void __schedule_bug(struct task_struct *prev) print_ip_sym(current->preempt_disable_ip); pr_cont("\n"); } #endif #ifdef CONFIG_PANIC_ON_SCHED_BUG BUG(); #endif dump_stack(); add_taint(TAINT_WARN, LOCKDEP_STILL_OK); Loading Loading @@ -8401,6 +8404,9 @@ struct sched_domain *build_sched_domain(struct sched_domain_topology_level *tl, #ifdef CONFIG_SCHED_DEBUG pr_err(" the %s domain not a subset of the %s domain\n", child->name, sd->name); #endif #ifdef CONFIG_PANIC_ON_SCHED_BUG BUG(); #endif /* Fixup, ensure @sd has at least @child cpus. */ cpumask_or(sched_domain_span(sd), Loading Loading @@ -9060,6 +9066,9 @@ void __might_sleep(const char *file, int line, int preempt_offset) print_ip_sym(current->preempt_disable_ip); pr_cont("\n"); } #endif #ifdef CONFIG_PANIC_ON_SCHED_BUG BUG(); #endif dump_stack(); } Loading lib/Kconfig.debug +10 −0 Original line number Diff line number Diff line Loading @@ -858,6 +858,16 @@ config SCHED_DEBUG that can help debug the scheduler. The runtime overhead of this option is minimal. config PANIC_ON_SCHED_BUG bool "Panic on all bugs encountered by the scheduler" help Say Y here to panic on all 'BUG:' conditions encountered by the scheduler, even potentially-recoverable ones such as scheduling while atomic, sleeping from invalid context, and detection of broken arch topologies. Say N if unsure. config PANIC_ON_RT_THROTTLING bool "Panic on RT throttling" help Loading Loading
arch/arm64/configs/msm_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -552,6 +552,7 @@ CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y # CONFIG_DETECT_HUNG_TASK is not set CONFIG_PANIC_TIMEOUT=5 CONFIG_PANIC_ON_RECURSIVE_FAULT=y CONFIG_PANIC_ON_SCHED_BUG=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y CONFIG_DEBUG_SPINLOCK=y Loading
kernel/sched/core.c +9 −0 Original line number Diff line number Diff line Loading @@ -4412,6 +4412,9 @@ static noinline void __schedule_bug(struct task_struct *prev) print_ip_sym(current->preempt_disable_ip); pr_cont("\n"); } #endif #ifdef CONFIG_PANIC_ON_SCHED_BUG BUG(); #endif dump_stack(); add_taint(TAINT_WARN, LOCKDEP_STILL_OK); Loading Loading @@ -8401,6 +8404,9 @@ struct sched_domain *build_sched_domain(struct sched_domain_topology_level *tl, #ifdef CONFIG_SCHED_DEBUG pr_err(" the %s domain not a subset of the %s domain\n", child->name, sd->name); #endif #ifdef CONFIG_PANIC_ON_SCHED_BUG BUG(); #endif /* Fixup, ensure @sd has at least @child cpus. */ cpumask_or(sched_domain_span(sd), Loading Loading @@ -9060,6 +9066,9 @@ void __might_sleep(const char *file, int line, int preempt_offset) print_ip_sym(current->preempt_disable_ip); pr_cont("\n"); } #endif #ifdef CONFIG_PANIC_ON_SCHED_BUG BUG(); #endif dump_stack(); } Loading
lib/Kconfig.debug +10 −0 Original line number Diff line number Diff line Loading @@ -858,6 +858,16 @@ config SCHED_DEBUG that can help debug the scheduler. The runtime overhead of this option is minimal. config PANIC_ON_SCHED_BUG bool "Panic on all bugs encountered by the scheduler" help Say Y here to panic on all 'BUG:' conditions encountered by the scheduler, even potentially-recoverable ones such as scheduling while atomic, sleeping from invalid context, and detection of broken arch topologies. Say N if unsure. config PANIC_ON_RT_THROTTLING bool "Panic on RT throttling" help Loading