On Thu, Jun 02, 2011 at 09:21:11PM +0100, David Laight wrote: > Passing 'l' is a register rename (or copy) so is almost zero cost. > > Recovering curlwp may involve a function call, and is, at best, a real > memory access of global data (possibly via an asm statement) that will > be slow and multiple accesses might need caching in a local anyway.
I wonder on what archs we would be able to do the MIPS curlwp optimization (place curlwp in a reserved register). Sparc64 and sparc will likely follow this in the near future (needs some audit and will do some benchmarks first; it closely resembles TLS for userland). What's the cost on other archs and what optimizations are possible? Martin