aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/uv
diff options
context:
space:
mode:
authorcpw@sgi.com <cpw@sgi.com>2011-06-21 08:21:31 -0400
committerIngo Molnar <mingo@elte.hu>2011-06-21 08:50:33 -0400
commit442d3924926c62741912d8a930220af253922007 (patch)
tree7ea9f7c0e8133037d36e31e7c4f033fae95abcca /arch/x86/include/asm/uv
parenta456eaab87461e33d94e748565eabd474283a475 (diff)
x86, UV: Remove cpumask_t from the stack
Remove the large stack-resident cpumask_t from reset_with_ipi()'s stack by allocating one per uvhub. Due to the limited size of the stack the potentially huge cpumask_t may cause stack overrun. We haven't seen it happen yet, but we need to make it a practice not to push such structures onto the stack. Signed-off-by: Cliff Wickman <cpw@sgi.com> Reviewed-by: Pekka Enberg <penberg@kernel.org> Link: http://lkml.kernel.org/r/20110621122242.832589130@sgi.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/include/asm/uv')
-rw-r--r--arch/x86/include/asm/uv/uv_bau.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/include/asm/uv/uv_bau.h b/arch/x86/include/asm/uv/uv_bau.h
index fa6a48e264b3..16ce58c6d252 100644
--- a/arch/x86/include/asm/uv/uv_bau.h
+++ b/arch/x86/include/asm/uv/uv_bau.h
@@ -488,6 +488,7 @@ struct bau_control {
488 struct bau_control *uvhub_master; 488 struct bau_control *uvhub_master;
489 struct bau_control *socket_master; 489 struct bau_control *socket_master;
490 struct ptc_stats *statp; 490 struct ptc_stats *statp;
491 cpumask_t *cpumask;
491 unsigned long timeout_interval; 492 unsigned long timeout_interval;
492 unsigned long set_bau_on_time; 493 unsigned long set_bau_on_time;
493 atomic_t active_descriptor_count; 494 atomic_t active_descriptor_count;