[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables |
Date: |
Mon, 25 Oct 2021 16:20:07 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 |
+Richard/Peter
On 10/25/21 16:07, Stefan Hajnoczi wrote:
> This is a preview of how we can solve the coroutines TLS problem. Coroutines
> re-entered from another thread sometimes see stale TLS values. This happens
> because compilers may cache values across yield points, so a value from the
> previous thread will be used when the coroutine is re-entered in another
> thread.
>
> Serge Guelton developed this technique, see the first patch for details. I'm
> submitting it for discussion before I go ahead with a full conversion of the
> source tree.
Beside the point Daniel raised (shared libs) this sensible
approach LGTM.
>
> Todo:
> - Convert all uses of __thread
$ git grep __thread | wc -l
55
:/
> - Extend checkpatch.pl to reject code that uses __thread
>
> Stefan Hajnoczi (2):
> tls: add macros for coroutine-safe TLS variables
> util/async: replace __thread with QEMU TLS macros
>
> MAINTAINERS | 1 +
> include/qemu/tls.h | 142 +++++++++++++++++++++++++++++++++++++++++++++
> util/async.c | 12 ++--
> 3 files changed, 150 insertions(+), 5 deletions(-)
> create mode 100644 include/qemu/tls.h
>
- Re: [RFC 1/2] tls: add macros for coroutine-safe TLS variables, (continued)
Re: [RFC 1/2] tls: add macros for coroutine-safe TLS variables, Richard Henderson, 2021/10/25
[RFC 2/2] util/async: replace __thread with QEMU TLS macros, Stefan Hajnoczi, 2021/10/25
Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables,
Philippe Mathieu-Daudé <=
Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Richard Henderson, 2021/10/25
- Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Warner Losh, 2021/10/25
- Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Stefan Hajnoczi, 2021/10/26
- Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Richard Henderson, 2021/10/26
- Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Stefan Hajnoczi, 2021/10/26
- Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Richard Henderson, 2021/10/26
- Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Thomas Huth, 2021/10/26
- Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Richard Henderson, 2021/10/26
- Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Kevin Wolf, 2021/10/27
- Re: [RFC 0/2] tls: add macros for coroutine-safe TLS variables, Stefan Hajnoczi, 2021/10/27