mirror of https://gitee.com/openkylin/linux.git
rcu: Print out rcupdate.c non-default boot-time settings
This commit adds a rcupdate_announce_bootup_oddness() function to print out non-default values of significant kernel boot parameter settings to aid in debugging. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
parent
f4687d2637
commit
59d80fd835
|
@ -76,6 +76,7 @@ bool rcu_gp_is_normal(void); /* Internal RCU use. */
|
||||||
bool rcu_gp_is_expedited(void); /* Internal RCU use. */
|
bool rcu_gp_is_expedited(void); /* Internal RCU use. */
|
||||||
void rcu_expedite_gp(void);
|
void rcu_expedite_gp(void);
|
||||||
void rcu_unexpedite_gp(void);
|
void rcu_unexpedite_gp(void);
|
||||||
|
void rcupdate_announce_bootup_oddness(void);
|
||||||
#endif /* #else #ifdef CONFIG_TINY_RCU */
|
#endif /* #else #ifdef CONFIG_TINY_RCU */
|
||||||
|
|
||||||
enum rcutorture_type {
|
enum rcutorture_type {
|
||||||
|
|
|
@ -92,6 +92,7 @@ static void __init rcu_bootup_announce_oddness(void)
|
||||||
pr_info("\tRCU restricting CPUs from NR_CPUS=%d to nr_cpu_ids=%d.\n", NR_CPUS, nr_cpu_ids);
|
pr_info("\tRCU restricting CPUs from NR_CPUS=%d to nr_cpu_ids=%d.\n", NR_CPUS, nr_cpu_ids);
|
||||||
if (IS_ENABLED(CONFIG_RCU_BOOST))
|
if (IS_ENABLED(CONFIG_RCU_BOOST))
|
||||||
pr_info("\tRCU kthread priority: %d.\n", kthread_prio);
|
pr_info("\tRCU kthread priority: %d.\n", kthread_prio);
|
||||||
|
rcupdate_announce_bootup_oddness();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PREEMPT_RCU
|
#ifdef CONFIG_PREEMPT_RCU
|
||||||
|
|
|
@ -560,7 +560,8 @@ static DEFINE_RAW_SPINLOCK(rcu_tasks_cbs_lock);
|
||||||
DEFINE_SRCU(tasks_rcu_exit_srcu);
|
DEFINE_SRCU(tasks_rcu_exit_srcu);
|
||||||
|
|
||||||
/* Control stall timeouts. Disable with <= 0, otherwise jiffies till stall. */
|
/* Control stall timeouts. Disable with <= 0, otherwise jiffies till stall. */
|
||||||
static int rcu_task_stall_timeout __read_mostly = HZ * 60 * 10;
|
#define RCU_TASK_STALL_TIMEOUT (HZ * 60 * 10)
|
||||||
|
static int rcu_task_stall_timeout __read_mostly = RCU_TASK_STALL_TIMEOUT;
|
||||||
module_param(rcu_task_stall_timeout, int, 0644);
|
module_param(rcu_task_stall_timeout, int, 0644);
|
||||||
|
|
||||||
static void rcu_spawn_tasks_kthread(void);
|
static void rcu_spawn_tasks_kthread(void);
|
||||||
|
@ -851,6 +852,23 @@ static void rcu_spawn_tasks_kthread(void)
|
||||||
|
|
||||||
#endif /* #ifdef CONFIG_TASKS_RCU */
|
#endif /* #ifdef CONFIG_TASKS_RCU */
|
||||||
|
|
||||||
|
#ifndef CONFIG_TINY_RCU
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print any non-default Tasks RCU settings.
|
||||||
|
*/
|
||||||
|
static void __init rcu_tasks_bootup_oddness(void)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_TASKS_RCU
|
||||||
|
if (rcu_task_stall_timeout != RCU_TASK_STALL_TIMEOUT)
|
||||||
|
pr_info("\tTasks-RCU CPU stall warnings timeout set to %d (rcu_task_stall_timeout).\n", rcu_task_stall_timeout);
|
||||||
|
else
|
||||||
|
pr_info("\tTasks RCU enabled.\n");
|
||||||
|
#endif /* #ifdef CONFIG_TASKS_RCU */
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* #ifndef CONFIG_TINY_RCU */
|
||||||
|
|
||||||
#ifdef CONFIG_PROVE_RCU
|
#ifdef CONFIG_PROVE_RCU
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -935,3 +953,25 @@ late_initcall(rcu_verify_early_boot_tests);
|
||||||
#else
|
#else
|
||||||
void rcu_early_boot_tests(void) {}
|
void rcu_early_boot_tests(void) {}
|
||||||
#endif /* CONFIG_PROVE_RCU */
|
#endif /* CONFIG_PROVE_RCU */
|
||||||
|
|
||||||
|
#ifndef CONFIG_TINY_RCU
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print any significant non-default boot-time settings.
|
||||||
|
*/
|
||||||
|
void __init rcupdate_announce_bootup_oddness(void)
|
||||||
|
{
|
||||||
|
if (rcu_normal)
|
||||||
|
pr_info("\tNo expedited grace period (rcu_normal).\n");
|
||||||
|
else if (rcu_normal_after_boot)
|
||||||
|
pr_info("\tNo expedited grace period (rcu_normal_after_boot).\n");
|
||||||
|
else if (rcu_expedited)
|
||||||
|
pr_info("\tAll grace periods are expedited (rcu_expedited).\n");
|
||||||
|
if (rcu_cpu_stall_suppress)
|
||||||
|
pr_info("\tRCU CPU stall warnings suppressed (rcu_cpu_stall_suppress).\n");
|
||||||
|
if (rcu_cpu_stall_timeout != CONFIG_RCU_CPU_STALL_TIMEOUT)
|
||||||
|
pr_info("\tRCU CPU stall warnings timeout set to %d (rcu_cpu_stall_timeout).\n", rcu_cpu_stall_timeout);
|
||||||
|
rcu_tasks_bootup_oddness();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* #ifndef CONFIG_TINY_RCU */
|
||||||
|
|
Loading…
Reference in New Issue