]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
docs/user: expand section on threading
authorAlex Bennée <alex.bennee@linaro.org>
Fri, 25 Jul 2025 15:45:08 +0000 (16:45 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Sat, 26 Jul 2025 22:04:35 +0000 (23:04 +0100)
Potentially too many weasel words when describing atomic and memory
order issues.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20250725154517.3523095-6-alex.bennee@linaro.org>

docs/user/main.rst

index 05de904225c7d73f0904d18294ab9e4dc4ccfade..347bdfabf8cf64fa12a104ad83e4754e6d33faca 100644 (file)
@@ -46,9 +46,15 @@ Threading
 
 On Linux, QEMU can emulate the ``clone`` syscall and create a real
 host thread (with a separate virtual CPU) for each emulated thread.
-Note that not all targets currently emulate atomic operations
-correctly. x86 and Arm use a global lock in order to preserve their
-semantics.
+However as QEMU relies on the system libc to call ``clone`` on its
+behalf we limit the flags accepted to those it uses. Specifically this
+means flags affecting namespaces (e.g. container runtimes) are not
+supported. QEMU user-mode processes can still be run inside containers
+though.
+
+While QEMU does its best to emulate atomic operations properly
+differences between the host and guest memory models can cause issues
+for software that makes assumptions about the memory model.
 
 QEMU was conceived so that ultimately it can emulate itself. Although it
 is not very useful, it is an important test to show the power of the