mirror of
https://github.com/torvalds/linux.git
synced 2024-12-18 00:53:40 +00:00
[PATCH] x86_64: Reduce NMI watchdog stack usage
NR_CPUs can be quite big these days. kmalloc the per CPU array instead of putting it onto the stack Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
7179906293
commit
ac6b931c44
@ -114,7 +114,7 @@ static __init int cpu_has_lapic(void)
|
||||
|
||||
static int __init check_nmi_watchdog (void)
|
||||
{
|
||||
int counts[NR_CPUS];
|
||||
int *counts;
|
||||
int cpu;
|
||||
|
||||
if (nmi_watchdog == NMI_NONE)
|
||||
@ -125,6 +125,12 @@ static int __init check_nmi_watchdog (void)
|
||||
return -1;
|
||||
}
|
||||
|
||||
counts = kmalloc(NR_CPUS * sizeof(int),GFP_KERNEL);
|
||||
if (!counts) {
|
||||
nmi_watchdog = NMI_NONE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
printk(KERN_INFO "Testing NMI watchdog ... ");
|
||||
|
||||
for (cpu = 0; cpu < NR_CPUS; cpu++)
|
||||
@ -139,6 +145,7 @@ static int __init check_nmi_watchdog (void)
|
||||
cpu_pda[cpu].__nmi_count);
|
||||
nmi_active = 0;
|
||||
lapic_nmi_owner &= ~LAPIC_NMI_WATCHDOG;
|
||||
kfree(counts);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -149,6 +156,7 @@ static int __init check_nmi_watchdog (void)
|
||||
if (nmi_watchdog == NMI_LOCAL_APIC)
|
||||
nmi_hz = 1;
|
||||
|
||||
kfree(counts);
|
||||
return 0;
|
||||
}
|
||||
/* Have this called later during boot so counters are updating */
|
||||
|
Loading…
Reference in New Issue
Block a user