[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers |
Date: |
Wed, 17 Aug 2011 17:51:00 +0000 |
On Wed, Aug 17, 2011 at 5:45 PM, Paolo Bonzini <address@hidden> wrote:
> 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.
According to this blog, also pthread_getspecific on OSX can amount to
three instructions except on PPC:
http://lifecs.likai.org/2010/05/mac-os-x-thread-local-storage.html
- Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, (continued)
Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Stefan Hajnoczi, 2011/08/17
- Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Paolo Bonzini, 2011/08/17
- Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Stefan Hajnoczi, 2011/08/17
- Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Paolo Bonzini, 2011/08/17
- Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Blue Swirl, 2011/08/17
- Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Paolo Bonzini, 2011/08/17
- Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers,
Blue Swirl <=
- Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Paolo Bonzini, 2011/08/17
- Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, malc, 2011/08/17
Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Brad, 2011/08/17
Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Blue Swirl, 2011/08/17
Re: [Qemu-devel] [PATCH] qemu-thread: add TLS wrappers, Paolo Bonzini, 2011/08/17