Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

perfctr-watchdog: fix interchanged parameters to release_{evntsel,perfctr}_nmi

Fix oops triggered during: echo 0 > /proc/sys/kernel/nmi_watchdog

The culprit seems to be 09198e68501a7e34737cd9264d266f42429abcdc:
[PATCH] i386: Clean up NMI watchdog code

In two places, the parameters to release_{evntsel,perfctr}_nmi
got interchanged during the cleanup.

Fix interchanged parameters to release_{evntsel,perfctr}_nmi.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Cc: Stephane Eranian <eranian@hpl.hp.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Björn Steinbrink and committed by
Linus Torvalds
da88ba17 2f41dddb

+5 -5
+5 -5
arch/i386/kernel/cpu/perfctr-watchdog.c
··· 276 276 277 277 static void single_msr_unreserve(void) 278 278 { 279 - release_evntsel_nmi(wd_ops->perfctr); 280 - release_perfctr_nmi(wd_ops->evntsel); 279 + release_evntsel_nmi(wd_ops->evntsel); 280 + release_perfctr_nmi(wd_ops->perfctr); 281 281 } 282 282 283 283 static void single_msr_rearm(struct nmi_watchdog_ctlblk *wd, unsigned nmi_hz) ··· 475 475 { 476 476 #ifdef CONFIG_SMP 477 477 if (smp_num_siblings > 1) 478 - release_evntsel_nmi(MSR_P4_IQ_PERFCTR1); 478 + release_perfctr_nmi(MSR_P4_IQ_PERFCTR1); 479 479 #endif 480 - release_evntsel_nmi(MSR_P4_IQ_PERFCTR0); 481 - release_perfctr_nmi(MSR_P4_CRU_ESCR0); 480 + release_evntsel_nmi(MSR_P4_CRU_ESCR0); 481 + release_perfctr_nmi(MSR_P4_IQ_PERFCTR0); 482 482 } 483 483 484 484 static void p4_rearm(struct nmi_watchdog_ctlblk *wd, unsigned nmi_hz)