EXPORT_SYMBOL(local_bh_disable);
------- -void __local_bh_enable(void)
------- -{
------- - WARN_ON_ONCE(in_irq());
------- -
------- - /*
------- - * softirqs should never be enabled by __local_bh_enable(),
------- - * it always nests inside local_bh_enable() sections:
------- - */
------- - WARN_ON_ONCE(softirq_count() == SOFTIRQ_OFFSET);
------- -
------- - sub_preempt_count(SOFTIRQ_OFFSET);
------- -}
------- -EXPORT_SYMBOL_GPL(__local_bh_enable);
------- -
/*
* Special-case - softirqs can safely be enabled in
* cond_resched_softirq(), or by __do_softirq(),
{
int cpu = smp_processor_id();
+++++ +++ rcu_irq_enter();
if (idle_cpu(cpu) && !in_interrupt()) {
__irq_enter();
tick_check_idle(cpu);
#ifdef CONFIG_NO_HZ
/* Make sure that timer wheel updates are propagated */
----- --- if (!in_interrupt() && idle_cpu(smp_processor_id()) && !need_resched())
----- --- tick_nohz_stop_sched_tick(0);
rcu_irq_exit();
+++++ +++ if (idle_cpu(smp_processor_id()) && !in_interrupt() && !need_resched())
+++++ +++ tick_nohz_stop_sched_tick(0);
#endif
preempt_enable_no_resched();
}
timer routines to track the life time of timer objects and
validate the timer operations.
+ +++++++config DEBUG_OBJECTS_ENABLE_DEFAULT
+ +++++++ int "debug_objects bootup default value (0-1)"
+ +++++++ range 0 1
+ +++++++ default "1"
+ +++++++ depends on DEBUG_OBJECTS
+ +++++++ help
+ +++++++ Debug objects boot parameter default value
+ +++++++
config DEBUG_SLAB
bool "Debug slab memory allocations"
depends on DEBUG_KERNEL && SLAB
their sg tables.
If unsure, say N.
+
++++++++config DEBUG_NOTIFIERS
++++++++ bool "Debug notifier call chains"
++++++++ depends on DEBUG_KERNEL
++++++++ help
++++++++ Enable this to turn on sanity checking for notifier call chains.
++++++++ This is most useful for kernel developers to make sure that
++++++++ modules properly unregister themselves from notifier chains.
++++++++ This is a relatively cheap check but if you care about maximum
++++++++ performance, say N.
++++ +++
config FRAME_POINTER
bool "Compile the kernel with frame pointers"
depends on DEBUG_KERNEL && \
This option causes RCU to printk information on which
CPUs are delaying the current grace period, but only when
the grace period extends for excessive time periods.
+++++ +++
+++++ +++ Say Y if you want RCU to perform such checks.
+++++ +++
+++++ +++ Say N if you are unsure.
+++++ +++
+++++ +++config RCU_CPU_STALL_DETECTOR
+++++ +++ bool "Check for stalled CPUs delaying RCU grace periods"
+++++ +++ depends on CLASSIC_RCU || TREE_RCU
+++++ +++ default n
+++++ +++ help
+++++ +++ This option causes RCU to printk information on which
+++++ +++ CPUs are delaying the current grace period, but only when
+++++ +++ the grace period extends for excessive time periods.
Say Y if you want RCU to perform such checks.