From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Christoph Lameter <clameter@sgi.com>
Cc: Mike Travis <travis@sgi.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [crash, bisected] Re: [PATCH 3/4] x86_64: Fold pda into per cpu area
Date: Fri, 20 Jun 2008 12:04:55 -0700 [thread overview]
Message-ID: <485BFF57.5090906@goop.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0806201148430.16227@schroedinger.engr.sgi.com>
Christoph Lameter wrote:
> On Fri, 20 Jun 2008, Jeremy Fitzhardinge wrote:
>
>
>>> The loader setup for the percpu section changes with zero basing. Maybe that
>>> has bad side effects
>>>
>> How does it work? The symbols in the percpu segment are 0-based, but where
>> does the data for the sections which correspond to that segment go?
>>
>
> Its loaded at __per_cpu_load but the symbols have addresses starting at 0.
>
Yes, which leads to an odd-looking ELF file where the Phdrs aren't
sorted by virtual address order. I'm wondering what would happen if a
bootloader that actually understood ELF files tried to load it as an
actual ELF file...
>> So the question is what kernel virtual address is it being loaded to?
>> __per_cpu_load is ffffffff808d1000, so ffffffff808d6000 is what you'd
>> expect...
>>
>
> Correct.
>
Well, reading back from that address got zeros, so something is amiss.
>> Hm, but what happens when this gets converted to bzImage? Hm, looks OK, I
>> think.
>>
>> BTW, I think __per_cpu_load will cause trouble if you make a relocatable
>> kernel, being an absolute symbol. But I have relocation off at the moment.
>>
>
> Hmmm.... we could add the relocation offset to __per_cpu_load?
> __per_cpu_load is used very sparingly. Basically only useful during early
> boot and when a new per cpu area has to be setup. In that case we want to
> copy from __per_cpu_load to the newly allocated percpu area.
>
Yes, it should be fairly easy to manually relocate it by applying the
(load - link) offset to it.
J
next prev parent reply other threads:[~2008-06-20 19:05 UTC|newest]
Thread overview: 108+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-04 0:30 [PATCH 0/4] percpu: Optimize percpu accesses Mike Travis
2008-06-04 0:30 ` [PATCH 1/4] Zero based percpu: Infrastructure to rebase the per cpu area to zero Mike Travis
2008-06-10 10:06 ` Ingo Molnar
2008-06-04 0:30 ` [PATCH 2/4] x86: Extend percpu ops to 64 bit Mike Travis
2008-06-10 10:04 ` Ingo Molnar
2008-06-04 0:30 ` [PATCH 3/4] x86_64: Fold pda into per cpu area Mike Travis
2008-06-04 12:59 ` Jeremy Fitzhardinge
2008-06-04 13:48 ` Mike Travis
2008-06-04 13:58 ` Jeremy Fitzhardinge
2008-06-04 14:17 ` Mike Travis
2008-06-09 23:18 ` Christoph Lameter
2008-06-05 10:22 ` [crash, bisected] " Ingo Molnar
2008-06-05 16:02 ` Mike Travis
2008-06-06 8:29 ` Jeremy Fitzhardinge
2008-06-06 13:15 ` Mike Travis
2008-06-18 5:34 ` Jeremy Fitzhardinge
2008-06-10 21:31 ` Mike Travis
2008-06-18 17:36 ` Jeremy Fitzhardinge
2008-06-18 18:17 ` Mike Travis
2008-06-18 18:33 ` Ingo Molnar
2008-06-18 19:33 ` Jeremy Fitzhardinge
[not found] ` <48596893.4040908@sgi.com>
[not found] ` <485AADAC.3070301@sgi.com>
[not found] ` <485AB78B.5090904@goop.org>
[not found] ` <485AC120.6010202@sgi.com>
[not found] ` <485AC5D4.6040302@goop.org>
[not found] ` <485ACA8F.10006@sgi.com>
[not found] ` <485ACD92.8050109@sgi.com>
2008-06-19 21:35 ` Jeremy Fitzhardinge
2008-06-19 21:54 ` Jeremy Fitzhardinge
2008-06-19 22:13 ` Mike Travis
2008-06-19 22:21 ` Jeremy Fitzhardinge
2008-06-30 17:49 ` Mike Travis
2008-06-19 22:23 ` Jeremy Fitzhardinge
[not found] ` <485BDB04.4090709@sgi.com>
2008-06-20 17:25 ` Jeremy Fitzhardinge
2008-06-20 17:48 ` Christoph Lameter
2008-06-20 18:30 ` Mike Travis
2008-06-20 18:40 ` Jeremy Fitzhardinge
2008-06-20 18:37 ` Jeremy Fitzhardinge
2008-06-20 18:51 ` Christoph Lameter
2008-06-20 19:04 ` Jeremy Fitzhardinge [this message]
2008-06-20 19:21 ` H. Peter Anvin
2008-06-20 19:43 ` Eric W. Biederman
2008-06-20 20:04 ` Mike Travis
2008-06-20 20:37 ` Christoph Lameter
2008-06-20 19:06 ` Mike Travis
2008-06-20 20:25 ` Eric W. Biederman
2008-06-20 20:55 ` Christoph Lameter
2008-06-23 16:55 ` Mike Travis
2008-06-23 17:33 ` Jeremy Fitzhardinge
2008-06-23 18:04 ` Mike Travis
2008-06-23 18:36 ` Mike Travis
2008-06-23 19:41 ` Jeremy Fitzhardinge
2008-06-24 0:02 ` Mike Travis
2008-06-30 17:07 ` Mike Travis
2008-06-30 17:18 ` H. Peter Anvin
2008-06-30 17:57 ` Mike Travis
2008-06-30 20:50 ` Eric W. Biederman
2008-06-30 21:08 ` Jeremy Fitzhardinge
2008-07-01 8:40 ` Eric W. Biederman
2008-07-01 16:27 ` Jeremy Fitzhardinge
2008-07-01 16:55 ` Mike Travis
2008-07-01 16:56 ` H. Peter Anvin
2008-07-01 17:26 ` Jeremy Fitzhardinge
2008-07-01 20:40 ` Eric W. Biederman
2008-07-01 21:10 ` Jeremy Fitzhardinge
2008-07-01 21:39 ` Eric W. Biederman
2008-07-01 21:52 ` Jeremy Fitzhardinge
2008-07-02 0:20 ` H. Peter Anvin
2008-07-02 1:15 ` Mike Travis
2008-07-02 1:32 ` Eric W. Biederman
2008-07-02 1:51 ` Mike Travis
2008-07-02 2:50 ` Eric W. Biederman
2008-07-02 1:40 ` H. Peter Anvin
2008-07-02 1:44 ` Mike Travis
2008-07-02 1:45 ` H. Peter Anvin
2008-07-02 1:55 ` Mike Travis
2008-07-02 22:50 ` Mike Travis
2008-07-03 4:34 ` Eric W. Biederman
2008-07-07 17:17 ` Mike Travis
2008-07-07 19:46 ` Eric W. Biederman
2008-07-08 18:21 ` Mike Travis
2008-07-08 23:36 ` Eric W. Biederman
2008-07-08 23:49 ` Jeremy Fitzhardinge
2008-07-09 14:39 ` Mike Travis
2008-07-25 20:06 ` Mike Travis
2008-07-25 20:12 ` Jeremy Fitzhardinge
2008-07-25 20:34 ` Mike Travis
2008-07-25 20:43 ` Jeremy Fitzhardinge
2008-07-25 21:05 ` Mike Travis
2008-07-09 14:37 ` Mike Travis
2008-07-09 22:38 ` Eric W. Biederman
2008-07-09 23:30 ` Mike Travis
2008-07-10 0:04 ` Eric W. Biederman
2008-07-02 2:01 ` H. Peter Anvin
2008-07-02 3:08 ` Eric W. Biederman
2008-07-01 21:11 ` Andi Kleen
2008-07-01 21:42 ` Eric W. Biederman
2008-07-01 18:41 ` Eric W. Biederman
2008-07-01 12:09 ` Mike Travis
2008-07-01 11:49 ` Mike Travis
2008-06-30 17:43 ` Jeremy Fitzhardinge
2008-06-04 0:30 ` [PATCH 4/4] x86: Replace xxx_pda() operations with x86_xx_percpu() Mike Travis
2008-06-09 13:03 ` Ingo Molnar
2008-06-09 16:08 ` Mike Travis
2008-06-09 17:36 ` Mike Travis
2008-06-09 18:20 ` Christoph Lameter
2008-06-09 23:29 ` Jeremy Fitzhardinge
2008-06-10 10:09 ` Ingo Molnar
2008-06-10 15:07 ` Mike Travis
2008-06-04 10:18 ` [PATCH] x86: collapse the various size-dependent percpu accessors together Jeremy Fitzhardinge
2008-06-04 10:45 ` Jeremy Fitzhardinge
2008-06-04 11:29 ` Ingo Molnar
2008-06-04 12:09 ` Jeremy Fitzhardinge
2008-06-10 17:21 ` Christoph Lameter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=485BFF57.5090906@goop.org \
--to=jeremy@goop.org \
--cc=clameter@sgi.com \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=travis@sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.