qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/3] Name threads
@ 2014-01-30 10:20 Dr. David Alan Gilbert (git)
  2014-01-30 10:20 ` [Qemu-devel] [PATCH v2 1/3] Rework --name to use QemuOpts Dr. David Alan Gilbert (git)
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2014-01-30 10:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, lersek, mst

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

This series uses pthread_setname_np (when available) to set the names on
threads that QEMU creates to make life easier when debugging.

It's turned off by default (because there were worries that it might break
tools that relied on process names) but is enabled by adding

   debug-threads=on

to the --name option.

Note that the initial thread still has the default name (or the value passed
as the process= parameter to --name).

The naming of the individual threads is not meant to form an API; tools
shall not rely on the names.

The first patch converts --name to use QemuOpts, a side effect of this is that
  --name process=foo,bar
no longer allows a process name of 'foo,bar', since ',' is a separator.

With this enabled in gdb we see:

(gdb) info threads
  Id   Target Id         Frame 
  5    Thread 0x7fb6670f9700 (LWP 18243) "worker" 0x00007fb66b8fcec0 in sem_timedwait () from /lib64/libpthread.so.0
  4    Thread 0x7fb666515700 (LWP 18244) "CPU 0/KVM" 0x00007fb669ab0117 in ioctl () from /lib64/libc.so.6
  3    Thread 0x7fb665d14700 (LWP 18245) "CPU 1/KVM" 0x00007fb669ab0117 in ioctl () from /lib64/libc.so.6
  2    Thread 0x7fb5d7fff700 (LWP 18247) "vnc_worker" 0x00007fb66b8fad20 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
* 1    Thread 0x7fb66d451a00 (LWP 18242) "qemuprocess" 0x00007fb669aaeb4f in ppoll () from /lib64/libc.so.6

and it also shows up well in 'top' using the H and V options.

V1->V2 changes
   Change the name to debug-threads and add more scary warnings to stop
anyone even thinking they should use the thread names as an API.

   Number CPU threads

Dr. David Alan Gilbert (3):
  Rework --name to use QemuOpts
  Add 'debug-threads' suboption to --name
  Add a 'name' parameter to qemu_thread_create

 cpus.c                          | 25 +++++++++++++----
 hw/block/dataplane/virtio-blk.c |  2 +-
 hw/usb/ccid-card-emulated.c     |  8 +++---
 include/qemu/thread.h           |  3 +-
 libcacard/vscclient.c           |  2 +-
 migration.c                     |  2 +-
 qemu-options.hx                 |  7 +++--
 thread-pool.c                   |  2 +-
 ui/vnc-jobs.c                   |  3 +-
 util/compatfd.c                 |  3 +-
 util/qemu-thread-posix.c        | 16 +++++++++--
 util/qemu-thread-win32.c        | 10 ++++++-
 vl.c                            | 61 ++++++++++++++++++++++++++++++++---------
 13 files changed, 110 insertions(+), 34 deletions(-)

-- 
1.8.5.3

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2014-02-11 13:30 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-30 10:20 [Qemu-devel] [PATCH v2 0/3] Name threads Dr. David Alan Gilbert (git)
2014-01-30 10:20 ` [Qemu-devel] [PATCH v2 1/3] Rework --name to use QemuOpts Dr. David Alan Gilbert (git)
2014-02-09  8:43   ` Laszlo Ersek
2014-02-10 10:03     ` Dr. David Alan Gilbert
2014-02-10 16:12       ` Laszlo Ersek
2014-02-11  9:07         ` Paolo Bonzini
2014-02-11 13:30           ` Eric Blake
2014-01-30 10:20 ` [Qemu-devel] [PATCH v2 2/3] Add 'debug-threads' suboption to --name Dr. David Alan Gilbert (git)
2014-02-09  9:08   ` Laszlo Ersek
2014-02-10 10:16     ` Dr. David Alan Gilbert
2014-02-10 16:14       ` Laszlo Ersek
2014-01-30 10:20 ` [Qemu-devel] [PATCH v2 3/3] Add a 'name' parameter to qemu_thread_create Dr. David Alan Gilbert (git)
2014-02-09  9:37   ` Laszlo Ersek
2014-02-10  9:49     ` Dr. David Alan Gilbert
2014-01-30 12:59 ` [Qemu-devel] [PATCH v2 0/3] Name threads Eric Blake
2014-01-30 13:03   ` Dr. David Alan Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).