Re: [PATCH] percpu: add optimized generic percpu accessors
From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2009-01-29 18:50:04
Also in:
lkml
From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2009-01-29 18:50:04
Also in:
lkml
Christoph Lameter wrote:
gcc/glibc support a __thread attribute to variables. As far as I can tell this automatically makes gcc perform the relocation to the current context using a segment register. But its a weird ABI http://people.redhat.com/drepper/tls.pdf. After reading that I agree that we should stay with the cpu ops and forget about the local and thread stuff in gcc/glibc.
We have discussed this a number of times. There are several issues with it; one being that per-cpu != per-thread (we can switch CPU whereever we're preempted), and another that many versions of gcc uses hardcoded registers, in particular %fs on 64 bits, but the kernel *has* to use %gs since there is no swapfs instruction. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.