rcu: Make rcutorture give diagnostics if CPU offline fails
authorPaul E. McKenney <paul.mckenney@linaro.org>
Mon, 24 Sep 2012 23:08:31 +0000 (16:08 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 23 Oct 2012 21:46:47 +0000 (14:46 -0700)
This commit causes rcutorture to print the errno if cpu_down() fails
when the rcutorture "verbose" module parameter is specified.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcutorture.c

index aaa7b9f..9900f56 100644 (file)
@@ -1502,6 +1502,7 @@ rcu_torture_onoff(void *arg)
        unsigned long delta;
        int maxcpu = -1;
        DEFINE_RCU_RANDOM(rand);
+       int ret;
        unsigned long starttime;
 
        VERBOSE_PRINTK_STRING("rcu_torture_onoff task started");
@@ -1522,7 +1523,13 @@ rcu_torture_onoff(void *arg)
                                         torture_type, cpu);
                        starttime = jiffies;
                        n_offline_attempts++;
-                       if (cpu_down(cpu) == 0) {
+                       ret = cpu_down(cpu);
+                       if (ret) {
+                               if (verbose)
+                                       pr_alert("%s" TORTURE_FLAG
+                                                "rcu_torture_onoff task: offline %d failed: errno %d\n",
+                                                torture_type, cpu, ret);
+                       } else {
                                if (verbose)
                                        pr_alert("%s" TORTURE_FLAG
                                                 "rcu_torture_onoff task: offlined %d\n",