[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <44F5C73F.2060308@goop.org>
Date: Wed, 30 Aug 2006 10:13:35 -0700
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: Andi Kleen <ak@...e.de>
CC: Chuck Ebbert <76306.1226@...puserve.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
Zachary Amsden <zach@...are.com>,
Jan Beulich <jbeulich@...ell.com>,
Andrew Morton <akpm@...l.org>
Subject: Re: [PATCH RFC 0/6] Implement per-processor data areas for i386.
Andi Kleen wrote:
> I tried that once on x86-64, but it wasn't possible because the linker
> is missing the right relocations. It has something on the first look similar
> for __thread data in user space, but it wasn't usable for the kernel.
>
The other difficulty is that you can't take the addresses of things in
the pda and pass them around, which happens a lot. It would be another
matter if you could add an attribute to a pointer which told gcc "always
use a %gs override for indirecting through this pointer", though that
would still require some type qualifier on any pointer which holds the
value.
(Hm, it would be interesting to see if we could possibly use the code
generated by gcc for TLS variables...)
> Even with a single indirection it is still far more efficient than a
> array lookup.
Yes. Even in the Xen case it will be useful to have a pointer to the
vcpu structure, at least until Xen can be convinced to put the vcpu
structure in the PDA itself.
J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists