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

From: Andi Kleen
Date: Mon Nov 19 2007 - 22:27:29 EST


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