Re: [RFC PATCH] Bug during kexec...not all cpus are stopped

Eric W. Biederman
2010-10-11T22:10:18Z

Vivek Goyal <vgoyal@redhat.com> writes:

> On Mon, Oct 11, 2010 at 12:41:23PM -0700, Alok Kataria wrote:

> I don't think that kdump path uses smp_send_stop().

It doesn't.

> IIUC, on x86, we directly send NMI to other cpus.
>
> native_machine_crash_shutdown()
> kdump_nmi_shootdown_cpus()
> nmi_shootdown_cpus()
> smp_send_nmi_allbutself
> apic->send_IPI_allbutself(NMI_VECTOR);
>
> So above description should be limited to only panic() path.

Is it actually confusing? With respect to documenting the line
of thinking it seems reasonable.

> On a side note, I am wondering why panic() and kdump path can't share the
> shutdown routine.

Hysterical raisins. Andi's change to smp_send_stop says that NMIs not
working on some boxes. When someone wants to weed through all of the
insanity it would probably be good to get the panic and the kdump paths
sharing code. For now simply separating panic and reboot should be
enough, and it lets the code evolve where it needs to.

Eric