[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0703281051180.6730@woody.linux-foundation.org>
Date: Wed, 28 Mar 2007 10:56:37 -0700 (PDT)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Andi Kleen <ak@...e.de>
cc: Michal Piotrowski <michal.k.k.piotrowski@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Jiri Kosina <jkosina@...e.cz>
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists