cpumask_copy(to_cpumask(backtrace_mask), mask); if (exclude_cpu != -1)
cpumask_clear_cpu(exclude_cpu, to_cpumask(backtrace_mask));
/* *Don'ttrytosendanNMItothiscpu;itmayworkonsome *architectures,butonothersitmaynot,andwe'llget *informationatleastasusefuljustbydoingadump_stack()here. *Notethatnmi_cpu_backtrace(NULL)willclearthecpubit.
*/ if (cpumask_test_cpu(this_cpu, to_cpumask(backtrace_mask)))
nmi_cpu_backtrace(NULL);
if (!cpumask_empty(to_cpumask(backtrace_mask))) {
pr_info("Sending NMI from CPU %d to CPUs %*pbl:\n",
this_cpu, nr_cpumask_bits, to_cpumask(backtrace_mask));
nmi_backtrace_stall_snap(to_cpumask(backtrace_mask));
raise(to_cpumask(backtrace_mask));
}
/* Wait for up to 10 seconds for all CPUs to do the backtrace */ for (i = 0; i < 10 * 1000; i++) { if (cpumask_empty(to_cpumask(backtrace_mask))) break;
mdelay(1);
touch_softlockup_watchdog();
}
nmi_backtrace_stall_check(to_cpumask(backtrace_mask));
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.