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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]