rcu: Print negatives for stall-warning counter wraparound
The print_other_cpu_stall() and print_cpu_stall() functions print grace-period numbers using an unsigned format, which means that the number one less than zero is a very large number. This commit therefore causes these numbers to be printed with a signed format in order to improve readability of the RCU CPU stall-warning output. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
This commit is contained in:
@@ -932,9 +932,9 @@ static void print_other_cpu_stall(struct rcu_state *rsp)
|
|||||||
print_cpu_stall_info_end();
|
print_cpu_stall_info_end();
|
||||||
for_each_possible_cpu(cpu)
|
for_each_possible_cpu(cpu)
|
||||||
totqlen += per_cpu_ptr(rsp->rda, cpu)->qlen;
|
totqlen += per_cpu_ptr(rsp->rda, cpu)->qlen;
|
||||||
pr_cont("(detected by %d, t=%ld jiffies, g=%lu, c=%lu, q=%lu)\n",
|
pr_cont("(detected by %d, t=%ld jiffies, g=%ld, c=%ld, q=%lu)\n",
|
||||||
smp_processor_id(), (long)(jiffies - rsp->gp_start),
|
smp_processor_id(), (long)(jiffies - rsp->gp_start),
|
||||||
rsp->gpnum, rsp->completed, totqlen);
|
(long)rsp->gpnum, (long)rsp->completed, totqlen);
|
||||||
if (ndetected == 0)
|
if (ndetected == 0)
|
||||||
pr_err("INFO: Stall ended before state dump start\n");
|
pr_err("INFO: Stall ended before state dump start\n");
|
||||||
else if (!trigger_all_cpu_backtrace())
|
else if (!trigger_all_cpu_backtrace())
|
||||||
@@ -971,8 +971,9 @@ static void print_cpu_stall(struct rcu_state *rsp)
|
|||||||
print_cpu_stall_info_end();
|
print_cpu_stall_info_end();
|
||||||
for_each_possible_cpu(cpu)
|
for_each_possible_cpu(cpu)
|
||||||
totqlen += per_cpu_ptr(rsp->rda, cpu)->qlen;
|
totqlen += per_cpu_ptr(rsp->rda, cpu)->qlen;
|
||||||
pr_cont(" (t=%lu jiffies g=%lu c=%lu q=%lu)\n",
|
pr_cont(" (t=%lu jiffies g=%ld c=%ld q=%lu)\n",
|
||||||
jiffies - rsp->gp_start, rsp->gpnum, rsp->completed, totqlen);
|
jiffies - rsp->gp_start,
|
||||||
|
(long)rsp->gpnum, (long)rsp->completed, totqlen);
|
||||||
if (!trigger_all_cpu_backtrace())
|
if (!trigger_all_cpu_backtrace())
|
||||||
dump_stack();
|
dump_stack();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user