Messages in this thread |  | | | From | Rusty Russell <> | | Subject | Re: [PATCH 13/13] x86_32: make percpu symbols zerobased on SMP | | Date | Wed, 14 Jan 2009 10:48:58 +1030 |
| |
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.
|  |