On 8/30/25 04:03, Daniel P. Berrangé wrote:
When thread naming was introduced years ago, it was disabled by
default and put behind a command line flag:
commit 8f480de0c91a18d550721f8d9af969ebfbda0793
Author: Dr. David Alan Gilbert<dgilb...@redhat.com>
Date: Thu Jan 30 10:20:31 2014 +0000
Add 'debug-threads' suboption to --name
This was done based on a concern that something might depend
on the historical thread naming. Thread names, however, were
never promised to be part of QEMU's public API. The defaults
will vary across platforms, so no assumptions should ever be
made about naming.
An opt-in behaviour is also unfortunately incompatible with
RCU which creates its thread from an constructor function
which is run before command line args are parsed. Thus the
RCU thread lacks any name.
libvirt has unconditionally enabled debug-threads=yes on all
VMs it creates for 10 years. Interestingly this DID expose a
bug in libvirt, as it parsed/proc/$PID/stat and could not
cope with a space in the thread name. This was a latent
pre-existing bug in libvirt though, and not a part of QEMU's
API.
Having thread names always available, will allow thread names
to be included in error reports and log messags QEMU prints
by default, which will improve ability to triage QEMU bugs.
Reviewed-by: Dr. David Alan Gilbert<d...@treblig.org>
Signed-off-by: Daniel P. Berrangé<berra...@redhat.com>
---
docs/about/deprecated.rst | 7 +++++++
include/qemu/thread.h | 1 -
system/vl.c | 11 ++++++-----
util/qemu-thread-posix.c | 18 +-----------------
util/qemu-thread-win32.c | 27 ++++++---------------------
5 files changed, 20 insertions(+), 44 deletions(-)
Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
r~