*/
        if (is_hardlockup(cpu)) {
                unsigned int this_cpu = smp_processor_id();
-               struct cpumask backtrace_mask;
-
-               cpumask_copy(&backtrace_mask, cpu_online_mask);
 
                /* Only print hardlockups once. */
                if (per_cpu(watchdog_hardlockup_warned, cpu))
                                show_regs(regs);
                        else
                                dump_stack();
-                       cpumask_clear_cpu(cpu, &backtrace_mask);
                } else {
-                       if (trigger_single_cpu_backtrace(cpu))
-                               cpumask_clear_cpu(cpu, &backtrace_mask);
+                       trigger_single_cpu_backtrace(cpu);
                }
 
                /*
                 */
                if (sysctl_hardlockup_all_cpu_backtrace &&
                    !test_and_set_bit(0, &watchdog_hardlockup_all_cpu_dumped))
-                       trigger_cpumask_backtrace(&backtrace_mask);
+                       trigger_allbutcpu_cpu_backtrace(cpu);
 
                if (hardlockup_panic)
                        nmi_panic(regs, "Hard LOCKUP");