mirror of
https://github.com/qemu/qemu.git
synced 2026-05-21 07:37:14 +00:00
docs/user: expand section on threading
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>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user