lkml.org 
[lkml]   [2007]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [rfc 08/45] cpu alloc: x86 support
Christoph Lameter wrote:
> On Tue, 20 Nov 2007, Andi Kleen wrote:
>
>>> This limitation shouldn't apply to the percpu area, since gs_base can be
>>> pointed anywhere in the address space -- in effect we're always indirect.
>> The initial reference copy of the percpu area has to be addressed by
>> the linker.
>
> Right that is important for the percpu references that can be folded by
> the linker in order to avoid address calculations.
>
>> Hmm, in theory since it is not actually used by itself I suppose you could
>> move it into positive space.
>
> But the positive space is reserved for a processes memory.
>

But you wouldn't actually *use* this address space. It's just for the
linker to know what address to tag the references with; it gets
relocated by gs_base down into proper kernel space. The linker can
stash the initialized reference copy at any address (LMA) which can be
different from what it will be used at (VMA); that is not an issue.

To use %rip references, though, which are more efficient, you probably
want to use offsets that are just below .text (at -2 GB); presumably
-2 GB-[max size of percpu section]. Again, however, no CPU actually
needs to have its data stashed in that particular location; it's just an
offset.

-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-11-20 22:09    [W:2.208 / U:0.596 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site