linux_dsm_epyc7002/arch/x86/kernel/apic
Mike Travis 3edcf2ff7a x86/platform/UV: Allocate common per node hub info structs on local node
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>
2016-05-04 08:48:49 +02:00
..
apic_flat_64.c x86/apic: Deinline _flat_send_IPI_mask, save ~150 bytes 2016-03-08 12:26:41 +01:00
apic_noop.c x86/apic: Implement single IPI for apic_noop 2015-11-05 13:07:53 +01:00
apic_numachip.c x86/cpufeature: Replace the old static_cpu_has() with safe variant 2016-01-30 11:22:18 +01:00
apic.c Merge branch 'x86/cleanups' into x86/urgent 2016-03-17 09:44:57 +01:00
bigsmp_32.c x86/apic: Wire up single IPI for bigsmp_apic 2015-11-05 13:07:52 +01:00
htirq.c x86: Constify irqdomain ops 2015-05-05 11:14:48 +02:00
hw_nmi.c nmi: x86: convert to generic nmi handler 2015-07-17 12:23:30 +01:00
io_apic.c x86/irq: Call chip->irq_set_affinity in proper context 2016-01-15 13:43:58 +01:00
ipi.c x86/apic: Deinline __default_send_IPI_*, save ~200 bytes 2016-03-08 12:26:41 +01:00
Makefile kernel: add kcov code coverage 2016-03-22 15:36:02 -07:00
msi.c x86/irq: Export functions to allow MSI domains in modules 2015-12-20 12:40:49 +01:00
probe_32.c x86/apic: Use default send single IPI wrapper 2015-11-05 13:07:53 +01:00
probe_64.c x86/platform: Introduce APIC post-initialization callback 2012-06-06 09:06:19 +02:00
vector.c x86/apic: Handle zero vector gracefully in clear_vector_irq() 2016-04-28 09:53:06 +02:00
x2apic_cluster.c x86/apic: Implement single target IPI function for x2apic_cluster 2015-11-05 13:07:52 +01:00
x2apic_phys.c x86/apic: Implement single IPI for x2apic_phys 2015-11-05 13:07:53 +01:00
x2apic_uv_x.c x86/platform/UV: Allocate common per node hub info structs on local node 2016-05-04 08:48:49 +02:00