qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers
Date: Wed, 17 Aug 2011 10:45:49 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20110707 Thunderbird/5.0

On 08/17/2011 10:37 AM, Blue Swirl wrote:
>  I would agree (just did it for fun and to see how it looks like), but
>  perhaps we can do something similar to what Windows does for OpenBSD too.
>
>  Though I'm quite disappointed and I must say OpenBSD should enter the 21st
>  century.

I can't justify their design decisions, but isn't __thread a
non-standard extension by GCC anyway whereas POSIX threads are the
standard? Are other compilers supporting it?

Visual C++ supports __declspec(thread).

pthread TLS is orders of magnitudes slower than __thread. __thread in an executable is just as fast as a non-TLS variable access, 2 or 3 machine language instructions at most.

Some pthread_getspecific implementation do a _linear walk_ of the keys. In that case it may work to have something like Windows plus a single pthread_getspecific key. On the other hand, Windows provides very good support for that thanks to its ordered subsections (.tls$something). It only needs a bit of preprocessor magic. Thinks such as linker scripts would be way out of scope.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]