]> www.infradead.org Git - users/jedix/linux-maple.git/commit
x86/platform/UV: Allocate common per node hub info structs on local node
authorMike Travis <travis@sgi.com>
Fri, 29 Apr 2016 21:54:15 +0000 (16:54 -0500)
committerChuck Anderson <chuck.anderson@oracle.com>
Mon, 27 Feb 2017 01:23:59 +0000 (17:23 -0800)
commitcd98f55b53ec898d03ad84f30f8c9462682f5269
treee4643188d56b2140616aa4099ddf284d6f61f3b0
parent6a5c82b47cdbbb880bd35ac343ff2f92050a68a3
x86/platform/UV: Allocate common per node hub info structs on local node

Orabug: 25477822

Allocate and setup per node hub info structs.  CPU 0/Node 0 hub info
is statically allocated to be accessible early in system startup.  The
remaining hub info structs are allocated on the node's local memory,
and shared among the CPU's on that node.  This leaves the small amount
of info unique to each CPU in the per CPU info struct.

Memory is saved by combining the common per node info fields to common
node local structs.  In addtion, since the info is read only only after
setup, it should stay in the L3 cache of the local processor socket.
This should therefore improve the cache hit rate when a group of cpus
on a node are all interrupted for a common task.

Tested-by: John Estabrook <estabrook@sgi.com>
Tested-by: Gary Kroening <gfk@sgi.com>
Tested-by: Nathan Zimmer <nzimmer@sgi.com>
Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com>
Reviewed-by: Andrew Banman <abanman@sgi.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Len Brown <len.brown@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russ Anderson <rja@sgi.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20160429215404.813051625@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
(cherry picked from commit 3edcf2ff7ae50d1096030fab9a1bafb421e07d4c)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
arch/x86/include/asm/uv/uv_hub.h
arch/x86/kernel/apic/x2apic_uv_x.c