lkml.org 
[lkml]   [2011]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [tip:x86/debug] x86, reboot: Use NMI instead of REBOOT_VECTOR to stop cpus
    On Wed, Dec 21, 2011 at 10:24:53AM -0800, Yinghai Lu wrote:
    > On Wed, Dec 21, 2011 at 6:59 AM, Don Zickus <dzickus@redhat.com> wrote:
    > > On Tue, Dec 20, 2011 at 02:38:39PM -0800, Yinghai Lu wrote:
    > >> > @@ -230,7 +285,7 @@ struct smp_ops smp_ops = {
    > >> >        .smp_prepare_cpus       = native_smp_prepare_cpus,
    > >> >        .smp_cpus_done          = native_smp_cpus_done,
    > >> >
    > >> > -       .stop_other_cpus        = native_stop_other_cpus,
    > >> > +       .stop_other_cpus        = native_nmi_stop_other_cpus,
    > >> >        .smp_send_reschedule    = native_smp_send_reschedule,
    > >> >
    > >> >        .cpu_up                 = native_cpu_up,
    > >>
    > >> this broke kexec on our intel nehalem, westmere and sandbridge platforms.
    > >> system get reset while try to kexec second kernel.
    > >
    > >
    > > Hmm. Ok.  Does the reboot path work correctly?
    >
    > Yes.
    >
    > > Vivek showed me that the
    > > kexec and reboot paths do the same shutdowns. Perhaps the second kernel
    > > has trouble dealing with cpus spinning in an NMI context and can't
    > > properly reset them.
    >
    > not sure.
    > when use nonmi_ipi in first kernel, it will work well.

    Ok. I tried taking the cpus out of NMI context and putting them into irq
    context with irq_work_queue() but that didn't seem to work. It seems to
    be hanging in the new kernel somewhere. I'll have to wait until I get
    back into the office next year to debug with early_printk and a vga
    console.

    Cheers,
    Don
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-12-22 21:19    [W:0.020 / U:120.412 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site