Messages in this thread | | | Date | Wed, 28 Mar 2007 10:56:37 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: Linux 2.6.21-rc5 |
| |
On Wed, 28 Mar 2007, Andi Kleen wrote: > > Can you test this patch please?
This patch is totally broken.
> i386/x86-64: Convert nmi reservation to be global > > It doesn't make much sense to have this per CPU, because all > the services using NMIs run on all CPUs. So make it global.
NO!
If you do this, then you must make all *callers* be global too. But they aren't. Right now all callers do per-CPU setup!
See for example enable_lapic_nmi_watchdog():
on_each_cpu(setup_apic_nmi_watchdog, NULL, 0, 1);
where "setup_apic_nmi_watchdog()" will call "setup_k7_watchdog()", which in turn will do a per-CPU reservation of the perfctl for the watchdog.
So I agree in that it probably doesn't make sense to have NMI/perfctl reservation per-CPU, but you can't just change the reservation and ignore all the *users* of that reservation that assumed that it was per-CPU.
Is that code insane? Probably. But it probably also works. After your patch, one CPU will be able to reserve the NMI/perfctl thing (fine so far) but then all the other CPU's that try to do it will fail.
Linus - 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/
| |