Re: [rfc 37/45] x86_64: Support for fast per cpu operations

Andi Kleen
2007-11-20T03:27:29Z

On Tuesday 20 November 2007 03:19, H. Peter Anvin wrote:
> David Miller wrote:
> >> There was, at some point, discussion about using the gcc TLS mechanism,
> >> which should permit even better code to be generated. Unfortunately, it
> >> would require gcc to be able to reference %gs instead of %fs (and vice
> >> versa for i386), which I don't think is available in anything except
> >> maybe the most cutting-edge version of gcc.
> >
> > You can't use __thread because GCC will cache __thread computed
> > addresses across context switches and cpu changes.
> >
> > It's been tried before on powerpc, it doesn't work.
>
> OK, that pretty much answers that question.

I investigated that some time ago.

There are other obstacles too on x86-64, e.g. the relocations
are wrong for kernel mode. You would need to extend the linker first.

-Andi