Loading kernel/rcuclassic.c +13 −13 Original line number Original line Diff line number Diff line Loading @@ -294,6 +294,7 @@ static inline void record_gp_check_time(struct rcu_ctrlblk *rcp) { { rcp->gp_check = get_seconds() + 3; rcp->gp_check = get_seconds() + 3; } } static void print_other_cpu_stall(struct rcu_ctrlblk *rcp) static void print_other_cpu_stall(struct rcu_ctrlblk *rcp) { { int cpu; int cpu; Loading @@ -303,11 +304,9 @@ static void print_other_cpu_stall(struct rcu_ctrlblk *rcp) spin_lock(&rcp->lock); spin_lock(&rcp->lock); delta = get_seconds() - rcp->gp_check; delta = get_seconds() - rcp->gp_check; if (delta < 2L || if (delta < 2L || cpus_empty(rcp->cpumask)) { cpus_empty(rcp->cpumask)) { spin_unlock(&rcp->lock); spin_unlock(&rcp->lock); return; return; rcp->gp_check = get_seconds() + 30; } } spin_unlock(&rcp->lock); spin_unlock(&rcp->lock); Loading @@ -319,6 +318,7 @@ static void print_other_cpu_stall(struct rcu_ctrlblk *rcp) printk(" (detected by %d, t=%lu/%lu)\n", printk(" (detected by %d, t=%lu/%lu)\n", smp_processor_id(), get_seconds(), rcp->gp_check); smp_processor_id(), get_seconds(), rcp->gp_check); } } static void print_cpu_stall(struct rcu_ctrlblk *rcp) static void print_cpu_stall(struct rcu_ctrlblk *rcp) { { printk(KERN_ERR "RCU detected CPU %d stall (t=%lu/%lu)\n", printk(KERN_ERR "RCU detected CPU %d stall (t=%lu/%lu)\n", Loading @@ -329,8 +329,8 @@ static void print_cpu_stall(struct rcu_ctrlblk *rcp) rcp->gp_check = get_seconds() + 30; rcp->gp_check = get_seconds() + 30; spin_unlock(&rcp->lock); spin_unlock(&rcp->lock); } } static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, struct rcu_data *rdp) static void check_cpu_stall(struct rcu_ctrlblk *rcp, struct rcu_data *rdp) { { long delta; long delta; Loading @@ -341,12 +341,11 @@ static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, print_cpu_stall(rcp); print_cpu_stall(rcp); } else if (!cpus_empty(rcp->cpumask) && delta >= 2L) { } else { if (!cpus_empty(rcp->cpumask) && delta >= 2L) { /* They had two seconds to dump stack, so complain. */ /* They had two seconds to dump stack, so complain. */ print_other_cpu_stall(rcp); print_other_cpu_stall(rcp); } } } } } Loading @@ -355,8 +354,9 @@ static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, static inline void record_gp_check_time(struct rcu_ctrlblk *rcp) static inline void record_gp_check_time(struct rcu_ctrlblk *rcp) { { } } static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, struct rcu_data *rdp) static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, struct rcu_data *rdp) { { } } Loading Loading
kernel/rcuclassic.c +13 −13 Original line number Original line Diff line number Diff line Loading @@ -294,6 +294,7 @@ static inline void record_gp_check_time(struct rcu_ctrlblk *rcp) { { rcp->gp_check = get_seconds() + 3; rcp->gp_check = get_seconds() + 3; } } static void print_other_cpu_stall(struct rcu_ctrlblk *rcp) static void print_other_cpu_stall(struct rcu_ctrlblk *rcp) { { int cpu; int cpu; Loading @@ -303,11 +304,9 @@ static void print_other_cpu_stall(struct rcu_ctrlblk *rcp) spin_lock(&rcp->lock); spin_lock(&rcp->lock); delta = get_seconds() - rcp->gp_check; delta = get_seconds() - rcp->gp_check; if (delta < 2L || if (delta < 2L || cpus_empty(rcp->cpumask)) { cpus_empty(rcp->cpumask)) { spin_unlock(&rcp->lock); spin_unlock(&rcp->lock); return; return; rcp->gp_check = get_seconds() + 30; } } spin_unlock(&rcp->lock); spin_unlock(&rcp->lock); Loading @@ -319,6 +318,7 @@ static void print_other_cpu_stall(struct rcu_ctrlblk *rcp) printk(" (detected by %d, t=%lu/%lu)\n", printk(" (detected by %d, t=%lu/%lu)\n", smp_processor_id(), get_seconds(), rcp->gp_check); smp_processor_id(), get_seconds(), rcp->gp_check); } } static void print_cpu_stall(struct rcu_ctrlblk *rcp) static void print_cpu_stall(struct rcu_ctrlblk *rcp) { { printk(KERN_ERR "RCU detected CPU %d stall (t=%lu/%lu)\n", printk(KERN_ERR "RCU detected CPU %d stall (t=%lu/%lu)\n", Loading @@ -329,8 +329,8 @@ static void print_cpu_stall(struct rcu_ctrlblk *rcp) rcp->gp_check = get_seconds() + 30; rcp->gp_check = get_seconds() + 30; spin_unlock(&rcp->lock); spin_unlock(&rcp->lock); } } static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, struct rcu_data *rdp) static void check_cpu_stall(struct rcu_ctrlblk *rcp, struct rcu_data *rdp) { { long delta; long delta; Loading @@ -341,12 +341,11 @@ static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, print_cpu_stall(rcp); print_cpu_stall(rcp); } else if (!cpus_empty(rcp->cpumask) && delta >= 2L) { } else { if (!cpus_empty(rcp->cpumask) && delta >= 2L) { /* They had two seconds to dump stack, so complain. */ /* They had two seconds to dump stack, so complain. */ print_other_cpu_stall(rcp); print_other_cpu_stall(rcp); } } } } } Loading @@ -355,8 +354,9 @@ static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, static inline void record_gp_check_time(struct rcu_ctrlblk *rcp) static inline void record_gp_check_time(struct rcu_ctrlblk *rcp) { { } } static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, struct rcu_data *rdp) static inline void check_cpu_stall(struct rcu_ctrlblk *rcp, struct rcu_data *rdp) { { } } Loading