On 1 July 2013 11:45, Paolo Bonzini <pbonz...@redhat.com> wrote: > Il 29/06/2013 12:55, Peter Maydell ha scritto: >> We should just be consistent and always make this be >> per-thread. > > If it's okay to make cpu_single_env accesses more expensive by a factor > of 4 on TLS-deficient hosts (at least OpenBSD; do Darwin and NetBSD > support thread-local storage?), I'm all for it. I (and I guess Stefan > too) do not want to introduce performance regressions in these patches. > Making it simpler is something that one would do after having tested at > least one of OpenBSD/Darwin/whatever.
MacOSX 10.8 supports __thread if you build with clang (not if you build with gcc), though I can't speak to its performance since it compiles to a function call to get the variable's address. > This patch does not make things worse than before. If anything, it's > better because *more* targets have non-TLS semantics: namely non-KVM > targets on Linux become non-TLS. That is making things worse! Non-TLS is the untested minority case, we want to be taking things out of it, not pushing configs that were previously TLS into it. -- PMM