mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-18 03:06:43 +00:00
MIPS: Allow __cpu_number_map to be larger than NR_CPUS
In systems where the CPU id space is sparse, this allows a smaller NR_CPUS to be chosen, thus keeping internal data structures smaller. Signed-off-by: David Daney <david.daney@cavium.com> Signed-off-by: Carlos Munoz <cmunoz@caviumnetworks.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/17388/ [jhogan@kernel.org: Add depends on SMP to fix "warning: symbol value '' invalid for MIPS_NR_CPU_NR_MAP"] Signed-off-by: James Hogan <jhogan@kernel.org>
This commit is contained in:
parent
239e14d195
commit
7820b84be8
@ -915,7 +915,8 @@ config CAVIUM_OCTEON_SOC
|
|||||||
select USE_OF
|
select USE_OF
|
||||||
select ARCH_SPARSEMEM_ENABLE
|
select ARCH_SPARSEMEM_ENABLE
|
||||||
select SYS_SUPPORTS_SMP
|
select SYS_SUPPORTS_SMP
|
||||||
select NR_CPUS_DEFAULT_16
|
select NR_CPUS_DEFAULT_64
|
||||||
|
select MIPS_NR_CPU_NR_MAP_1024
|
||||||
select BUILTIN_DTB
|
select BUILTIN_DTB
|
||||||
select MTD_COMPLEX_MAPPINGS
|
select MTD_COMPLEX_MAPPINGS
|
||||||
select SYS_SUPPORTS_RELOCATABLE
|
select SYS_SUPPORTS_RELOCATABLE
|
||||||
@ -2725,6 +2726,15 @@ config NR_CPUS
|
|||||||
config MIPS_PERF_SHARED_TC_COUNTERS
|
config MIPS_PERF_SHARED_TC_COUNTERS
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config MIPS_NR_CPU_NR_MAP_1024
|
||||||
|
bool
|
||||||
|
|
||||||
|
config MIPS_NR_CPU_NR_MAP
|
||||||
|
int
|
||||||
|
depends on SMP
|
||||||
|
default 1024 if MIPS_NR_CPU_NR_MAP_1024
|
||||||
|
default NR_CPUS if !MIPS_NR_CPU_NR_MAP_1024
|
||||||
|
|
||||||
#
|
#
|
||||||
# Timer Interrupt Frequency Configuration
|
# Timer Interrupt Frequency Configuration
|
||||||
#
|
#
|
||||||
|
@ -29,7 +29,7 @@ extern cpumask_t cpu_foreign_map[];
|
|||||||
|
|
||||||
/* Map from cpu id to sequential logical cpu number. This will only
|
/* Map from cpu id to sequential logical cpu number. This will only
|
||||||
not be idempotent when cpus failed to come on-line. */
|
not be idempotent when cpus failed to come on-line. */
|
||||||
extern int __cpu_number_map[NR_CPUS];
|
extern int __cpu_number_map[CONFIG_MIPS_NR_CPU_NR_MAP];
|
||||||
#define cpu_number_map(cpu) __cpu_number_map[cpu]
|
#define cpu_number_map(cpu) __cpu_number_map[cpu]
|
||||||
|
|
||||||
/* The reverse map from sequential logical cpu number to cpu id. */
|
/* The reverse map from sequential logical cpu number to cpu id. */
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
#include <asm/maar.h>
|
#include <asm/maar.h>
|
||||||
|
|
||||||
int __cpu_number_map[NR_CPUS]; /* Map physical to logical */
|
int __cpu_number_map[CONFIG_MIPS_NR_CPU_NR_MAP]; /* Map physical to logical */
|
||||||
EXPORT_SYMBOL(__cpu_number_map);
|
EXPORT_SYMBOL(__cpu_number_map);
|
||||||
|
|
||||||
int __cpu_logical_map[NR_CPUS]; /* Map logical to physical */
|
int __cpu_logical_map[NR_CPUS]; /* Map logical to physical */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user