Re: per_cpu fixes

Andi Kleen (ak@suse.de)
Thu, 10 Jul 2003 11:37:31 +0200


> When I implemented this, I imagined archs putting their per-cpu offset
> inside a register, so they could get to their vars in one instruction,
> but not the IA64 remapping thing. We are now suffering because of my
> limited imagination (which David has commented on before 8).

x86-64 has similar problems. While the virtual addresses are different
the direct access using the segment register doesn't yield an address
(there is no LEA instruction to read from segment registers). It can be
worked around, but you have to follow an indirect pointer.
For most efficient access you can't take the address.

[currently the code doesn't use the Segment access for per_cpu data,
but I plan to readd this eventually]

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