/[linux-patches]/genpatches-2.6/trunk/2.6.14/1429_15.4_x86_64-cpu-refs.patch
Gentoo

Contents of /genpatches-2.6/trunk/2.6.14/1429_15.4_x86_64-cpu-refs.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (hide annotations) (download) (as text)
Tue Mar 14 13:34:17 2006 UTC (14 years, 8 months ago) by johnm
File MIME type: text/x-diff
File size: 1560 byte(s)
2.6.14-11, rebase against local tree
1 johnm 328 From stable-bounces@linux.kernel.org Mon Feb 6 15:26:07 2006
2     Date: Tue, 07 Feb 2006 00:18:55 +0100
3     From: "Andi Kleen" <ak@suse.de>
4     To: stable@kernel.org
5     Cc:
6     Subject: [PATCH] x86_64: Let impossible CPUs point to reference per cpu data
7    
8     Don't mark the reference per cpu data init data (so it stays
9     around after boot) and point all impossible CPUs to it. This way
10     they reference some valid - although shared memory. Usually
11     this is only initialization like INIT_LIST_HEADs and there
12     won't be races because these CPUs never run. Still somewhat hackish.
13    
14     Signed-off-by: Andi Kleen <ak@suse.de>
15     Signed-off-by: Chris Wright <chrisw@sous-sol.org>
16     ---
17    
18     arch/x86_64/kernel/vmlinux.lds.S | 10 ++++++----
19     1 files changed, 6 insertions(+), 4 deletions(-)
20    
21     Index: linux-2.6.15.3/arch/x86_64/kernel/vmlinux.lds.S
22     ===================================================================
23     --- linux-2.6.15.3.orig/arch/x86_64/kernel/vmlinux.lds.S
24     +++ linux-2.6.15.3/arch/x86_64/kernel/vmlinux.lds.S
25     @@ -170,13 +170,15 @@ SECTIONS
26     . = ALIGN(4096);
27     __initramfs_start = .;
28     .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { *(.init.ramfs) }
29     - __initramfs_end = .;
30     - . = ALIGN(32);
31     + __initramfs_end = .;
32     + /* temporary here to work around NR_CPUS. If you see this comment in 2.6.17+
33     + complain */
34     + . = ALIGN(4096);
35     + __init_end = .;
36     + . = ALIGN(128);
37     __per_cpu_start = .;
38     .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { *(.data.percpu) }
39     __per_cpu_end = .;
40     - . = ALIGN(4096);
41     - __init_end = .;
42    
43     . = ALIGN(4096);
44     __nosave_begin = .;

  ViewVC Help
Powered by ViewVC 1.1.20