From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54972) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8Cwa-0001Pn-W8 for qemu-devel@nongnu.org; Tue, 28 Jan 2014 12:59:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8CwU-0007oY-UP for qemu-devel@nongnu.org; Tue, 28 Jan 2014 12:59:28 -0500 Received: from mx1.redhat.com ([209.132.183.28]:24779) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8CwU-0007oQ-N0 for qemu-devel@nongnu.org; Tue, 28 Jan 2014 12:59:22 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s0SHxGpZ022124 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 28 Jan 2014 12:59:21 -0500 Date: Tue, 28 Jan 2014 17:53:52 +0200 From: "Michael S. Tsirkin" Message-ID: <20140128155352.GA19526@redhat.com> References: <1390922439-30750-1-git-send-email-dgilbert@redhat.com> <1390922439-30750-3-git-send-email-dgilbert@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1390922439-30750-3-git-send-email-dgilbert@redhat.com> Subject: Re: [Qemu-devel] [PATCH 2/3] Add 'namethreads' suboption to --name List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert (git)" Cc: pbonzini@redhat.com, lersek@redhat.com, qemu-devel@nongnu.org On Tue, Jan 28, 2014 at 03:20:38PM +0000, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" > > Add flag storage to qemu-thread-* to store the namethreads flag > > Signed-off-by: Dr. David Alan Gilbert How about a pattern? threads='vmfoo-%s' and have qemu fill in specific strings for %s. > --- > include/qemu/thread.h | 1 + > qemu-options.hx | 6 ++++-- > util/qemu-thread-posix.c | 7 +++++++ > util/qemu-thread-win32.c | 8 ++++++++ > vl.c | 7 +++++++ > 5 files changed, 27 insertions(+), 2 deletions(-) > > diff --git a/include/qemu/thread.h b/include/qemu/thread.h > index 3e32c65..bf1e110 100644 > --- a/include/qemu/thread.h > +++ b/include/qemu/thread.h > @@ -59,5 +59,6 @@ void *qemu_thread_join(QemuThread *thread); > void qemu_thread_get_self(QemuThread *thread); > bool qemu_thread_is_self(QemuThread *thread); > void qemu_thread_exit(void *retval); > +void qemu_thread_naming(bool enable); > > #endif > diff --git a/qemu-options.hx b/qemu-options.hx > index 56e5fdf..d53343a 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -328,9 +328,10 @@ possible drivers and properties, use @code{-device help} and > ETEXI > > DEF("name", HAS_ARG, QEMU_OPTION_name, > - "-name string1[,process=string2]\n" > + "-name string1[,process=string2][,namethreads=on|off]\n" > " set the name of the guest\n" > - " string1 sets the window title and string2 the process name (on Linux)\n", > + " string1 sets the window title and string2 the process name (on Linux)\n" > + " When namethreads is enabled, individual threads are given a separate name (on Linux)\n", > QEMU_ARCH_ALL) > STEXI > @item -name @var{name} > @@ -339,6 +340,7 @@ Sets the @var{name} of the guest. > This name will be displayed in the SDL window caption. > The @var{name} will also be used for the VNC server. > Also optionally set the top visible process name in Linux. > +Naming of individual threads can also be enabled on Linux. > ETEXI > > DEF("uuid", HAS_ARG, QEMU_OPTION_uuid, > diff --git a/util/qemu-thread-posix.c b/util/qemu-thread-posix.c > index 37dd298..0fa6c81 100644 > --- a/util/qemu-thread-posix.c > +++ b/util/qemu-thread-posix.c > @@ -27,6 +27,13 @@ > #include "qemu/thread.h" > #include "qemu/atomic.h" > > +static bool name_threads; > + > +void qemu_thread_naming(bool enable) > +{ > + name_threads = enable; > +} > + > static void error_exit(int err, const char *msg) > { > fprintf(stderr, "qemu: %s: %s\n", msg, strerror(err)); > diff --git a/util/qemu-thread-win32.c b/util/qemu-thread-win32.c > index 27a5217..e42cb77 100644 > --- a/util/qemu-thread-win32.c > +++ b/util/qemu-thread-win32.c > @@ -16,6 +16,14 @@ > #include > #include > > +static bool name_threads; > + > +void qemu_thread_naming(bool enable) > +{ > + /* But note we don't actually name them on Windows yet */ > + name_threads = enable; > +} > + > static void error_exit(int err, const char *msg) > { > char *pstr; > diff --git a/vl.c b/vl.c > index 5f993e4..8c515ae 100644 > --- a/vl.c > +++ b/vl.c > @@ -547,6 +547,10 @@ static QemuOptsList qemu_name_opts = { > .name = "process", > .type = QEMU_OPT_STRING, > .help = "Sets the name of the QEMU process, as shown in top etc", > + }, { > + .name = "namethreads", > + .type = QEMU_OPT_BOOL, > + .help = "When enabled, name the individual threads; defaults off", > }, > { /* End of list */ } > }, > @@ -1006,6 +1010,9 @@ static void parse_name(QemuOpts *opts) > { > const char *proc_name; > > + if (qemu_opt_get(opts, "namethreads")) { > + qemu_thread_naming(qemu_opt_get_bool(opts, "namethreads", false)); > + } > qemu_name = qemu_opt_get(opts, "guest"); > > proc_name = qemu_opt_get(opts, "process"); > -- > 1.8.5.3