mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 23:21:46 +00:00
x86: convert cpuinfo_x86 array to a per_cpu array
cpu_data is currently an array defined using NR_CPUS. This means that we overallocate since we will rarely really use maximum configured cpus. When NR_CPU count is raised to 4096 the size of cpu_data becomes 3,145,728 bytes. These changes were adopted from the sparc64 (and ia64) code. An additional field was added to cpuinfo_x86 to be a non-ambiguous cpu index. This corresponds to the index into a cpumask_t as well as the per_cpu index. It's used in various places like show_cpuinfo(). cpu_data is defined to be the boot_cpu_data structure for the NON-SMP case. Signed-off-by: Mike Travis <travis@sgi.com> Acked-by: Christoph Lameter <clameter@sgi.com> Cc: Andi Kleen <ak@suse.de> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: Dmitry Torokhov <dtor@mail.ru> Cc: "Antonino A. Daplas" <adaplas@pol.net> Cc: Mark M. Hoffman <mhoffman@lightlink.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
f1df280f53
commit
92cb7612ae
39 changed files with 148 additions and 128 deletions
|
@ -132,7 +132,7 @@ static struct ucode_cpu_info {
|
|||
|
||||
static void collect_cpu_info(int cpu_num)
|
||||
{
|
||||
struct cpuinfo_x86 *c = cpu_data + cpu_num;
|
||||
struct cpuinfo_x86 *c = &cpu_data(cpu_num);
|
||||
struct ucode_cpu_info *uci = ucode_cpu_info + cpu_num;
|
||||
unsigned int val[2];
|
||||
|
||||
|
@ -522,7 +522,7 @@ static struct platform_device *microcode_pdev;
|
|||
static int cpu_request_microcode(int cpu)
|
||||
{
|
||||
char name[30];
|
||||
struct cpuinfo_x86 *c = cpu_data + cpu;
|
||||
struct cpuinfo_x86 *c = &cpu_data(cpu);
|
||||
const struct firmware *firmware;
|
||||
void *buf;
|
||||
unsigned long size;
|
||||
|
@ -570,7 +570,7 @@ static int cpu_request_microcode(int cpu)
|
|||
|
||||
static int apply_microcode_check_cpu(int cpu)
|
||||
{
|
||||
struct cpuinfo_x86 *c = cpu_data + cpu;
|
||||
struct cpuinfo_x86 *c = &cpu_data(cpu);
|
||||
struct ucode_cpu_info *uci = ucode_cpu_info + cpu;
|
||||
cpumask_t old;
|
||||
unsigned int val[2];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue