Re: Linux 2.6.21-rc5

From: Linus Torvalds
Date: Wed Mar 28 2007 - 13:57:07 EST




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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/