stopping all cpus in one go

Olaf Hering olh at suse.de
Tue Dec 9 09:42:30 EST 2003


Is there a good reason to leave the other cpus running?
could this change deadlock?


diff -p -purNX kernel_exclude.txt orig/linux-2.6.0-test11/arch/ppc64/xmon/xmon.c linux-2.6.0-test11/arch/ppc64/xmon/xmon.c
--- orig/linux-2.6.0-test11/arch/ppc64/xmon/xmon.c      2003-11-26 20:45:27.000000000 +0000
+++ linux-2.6.0-test11/arch/ppc64/xmon/xmon.c   2003-12-08 22:15:43.000000000 +0000
@@ -228,7 +228,7 @@ xmon(struct pt_regs *excp)
 {
        struct pt_regs regs;
        int cmd;
-       unsigned long msr;
+       unsigned long msr, cpu;

        if (excp == NULL) {
                /* Ok, grab regs as they are now.
@@ -300,6 +300,8 @@ xmon(struct pt_regs *excp)
 #endif /* CONFIG_SMP */
        remove_bpts();
        disable_surveillance();
+       cpu = MSG_ALL_BUT_SELF;
+       smp_send_xmon_break(cpu);
        cmd = cmds(excp);
        if (cmd == 's') {
                xmon_trace[smp_processor_id()] = SSTEP;

--
USB is for mice, FireWire is for men!

sUse lINUX ag, nÜRNBERG

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc64-dev mailing list