Messages in this thread | | | Date | Thu, 13 Oct 2011 16:17:42 +0800 | From | Chen Gong <> | Subject | Re: [PATCH 1/3] x86, reboot: Use NMI instead of REBOOT_VECTOR to stop cpus |
| |
于 2011/10/12 20:51, Don Zickus 写道: > On Wed, Oct 12, 2011 at 10:35:42AM +0800, Chen Gong wrote: >> 于 2011/10/11 23:24, Don Zickus 写道: >>> + >>> + /* sync above data before sending NMI */ >>> + wmb(); >>> + >>> + apic->send_IPI_allbutself(NMI_VECTOR); >>> + >>> + /* >>> + * Don't wait longer than a second if the caller >>> + * didn't ask us to wait. >>> + */ >>> + timeout = USEC_PER_SEC; >>> + while (num_online_cpus()> 1&& (wait || timeout--)) >>> + udelay(1); >> >> In this patch and next patch, how about using the same logic in commit 74d91e3c6 > > I guess I don't understand why I would do that. That commit doesn't seem > to have a way to break out of the while loop and it does not take into account > the 'wait' variable the virt folks needed. The only thing that could be > usable seems to be the 'touch_nmi_watchdog', but in that case if the other > cpus haven't hit the NMI yet, I would be happy for other NMI sources to > trigger to, to help move things along. :-)
Maybe two birds with on stone :-)
> > The above code snippet is what is currently there and that seems to work > well, so I didn't want to change to much when moving from the IRQ path to > the NMI path.
Fine, if so, I have no objection.
-- 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/
| |