lkml.org 
[lkml]   [2009]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 13/13] x86_32: make percpu symbols zerobased on SMP
Date
On Tuesday 13 January 2009 21:08:17 Tejun Heo wrote:
> This patch makes percpu symbols zerobased on x86_32 SMP by using
> PERCPU_VADDR() with 0 vaddr in vmlinux_32.lds.S. A new PHDR is added
> as existing ones cannot contain sections near address zero.
...
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Cc: Mike Travis <travis@sgi.com>
> ---
> arch/x86/kernel/cpu/common.c | 8 ++++++++
> arch/x86/kernel/head_32.S | 37 ++++++++++++++++++++++++++++++++++---
> arch/x86/kernel/setup_percpu.c | 4 ----
> arch/x86/kernel/vmlinux_32.lds.S | 16 +++++++++++++++-
> 4 files changed, 57 insertions(+), 8 deletions(-)

Hmm, the only reason for this change is to unify with 64-bit, yes? Yet it
doesn't actually win us anything on that front, as this diffstat shows.

If gcc's -mcmodel=kernel had used a weak symbol for the offset of the stack
canary, we would have been happy. Unfortunately generic per-cpu and x86-64
PDA were developed separately, so noone realize the problem until too late.

The basic series looks good: it will clash with my per-cpu work (mainly
because I remove the per_cpu__ prefix) in a purely-textual way though.

Thanks for this!
Rusty.


\
 
 \ /
  Last update: 2009-01-14 01:21    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site