diff options
author | Jan Beulich <jbeulich@novell.com> | 2008-01-30 07:31:21 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:31:21 -0500 |
commit | d88879b2d0225da3ba460bbdb8361bb049653671 (patch) | |
tree | d9a0b8a215434eab6f29df389780dd73b427b8dd /include/asm-x86/pda.h | |
parent | bdb4f156064e5f627213af82292eb8b5cf2dc5aa (diff) |
x86-64: make pda's cpunumber and nodenumber unsigned
This generally allows better code to be generated, since the zero-
extension during 32-bit operations comes for free (needed when the
result is used as array index or similar), whereas sign extension must
be done explicitly and frequently requires a one byte larger
instruction due to the necessary rex64 prefix.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/pda.h')
-rw-r--r-- | include/asm-x86/pda.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-x86/pda.h b/include/asm-x86/pda.h index 3d9dd653628a..b620d0c39a93 100644 --- a/include/asm-x86/pda.h +++ b/include/asm-x86/pda.h | |||
@@ -15,14 +15,14 @@ struct x8664_pda { | |||
15 | unsigned long kernelstack; /* 16 top of kernel stack for current */ | 15 | unsigned long kernelstack; /* 16 top of kernel stack for current */ |
16 | unsigned long oldrsp; /* 24 user rsp for system call */ | 16 | unsigned long oldrsp; /* 24 user rsp for system call */ |
17 | int irqcount; /* 32 Irq nesting counter. Starts with -1 */ | 17 | int irqcount; /* 32 Irq nesting counter. Starts with -1 */ |
18 | int cpunumber; /* 36 Logical CPU number */ | 18 | unsigned int cpunumber; /* 36 Logical CPU number */ |
19 | #ifdef CONFIG_CC_STACKPROTECTOR | 19 | #ifdef CONFIG_CC_STACKPROTECTOR |
20 | unsigned long stack_canary; /* 40 stack canary value */ | 20 | unsigned long stack_canary; /* 40 stack canary value */ |
21 | /* gcc-ABI: this canary MUST be at | 21 | /* gcc-ABI: this canary MUST be at |
22 | offset 40!!! */ | 22 | offset 40!!! */ |
23 | #endif | 23 | #endif |
24 | char *irqstackptr; | 24 | char *irqstackptr; |
25 | int nodenumber; /* number of current node */ | 25 | unsigned int nodenumber; /* number of current node */ |
26 | unsigned int __softirq_pending; | 26 | unsigned int __softirq_pending; |
27 | unsigned int __nmi_count; /* number of NMI on this CPUs */ | 27 | unsigned int __nmi_count; /* number of NMI on this CPUs */ |
28 | short mmu_state; | 28 | short mmu_state; |