From: "Alex Bennée" <alex.bennee@linaro.org>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: "Denis V. Lunev" <den@openvz.org>,
Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>
Subject: Re: [Qemu-devel] [PULL 05/13] trace: split trace_init_file out of trace_init_backends
Date: Mon, 08 Feb 2016 18:43:55 +0000 [thread overview]
Message-ID: <87lh6vvy8k.fsf@linaro.org> (raw)
In-Reply-To: <1454514465-11856-6-git-send-email-stefanha@redhat.com>
Stefan Hajnoczi <stefanha@redhat.com> writes:
> From: Paolo Bonzini <pbonzini@redhat.com>
>
> This is cleaner, and improves error reporting with -daemonize.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Message-id: 1452174932-28657-4-git-send-email-den@openvz.org
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> qemu-io.c | 2 +-
> trace/control.c | 17 ++++++++++++-----
> trace/control.h | 13 ++++++++++++-
> trace/simple.c | 6 ++----
> trace/simple.h | 4 ++--
> vl.c | 13 +++++++++----
> 6 files changed, 38 insertions(+), 17 deletions(-)
>
> diff --git a/qemu-io.c b/qemu-io.c
> index 1c11d57..83c48f4 100644
> --- a/qemu-io.c
> +++ b/qemu-io.c
> @@ -435,7 +435,7 @@ int main(int argc, char **argv)
> }
> break;
> case 'T':
> - if (!trace_init_backends(optarg)) {
> + if (!trace_init_backends()) {
> exit(1); /* error message will have been printed */
> }
> break;
> diff --git a/trace/control.c b/trace/control.c
> index 931d64c..f5a497a 100644
> --- a/trace/control.c
> +++ b/trace/control.c
> @@ -145,17 +145,24 @@ void trace_init_events(const char *fname)
> loc_pop(&loc);
> }
>
> -bool trace_init_backends(const char *file)
> +void trace_init_file(const char *file)
> {
> #ifdef CONFIG_TRACE_SIMPLE
> - if (!st_init(file)) {
> - fprintf(stderr, "failed to initialize simple tracing backend.\n");
> - return false;
> - }
> + st_set_trace_file(file);
This breaks "make check" as st_set_trace_file will attempt to flush the
file:
/* Halt trace writeout */
flush_trace_file(true);
trace_writeout_enabled = false;
flush_trace_file(true);
And this deadlocks waiting for trace_empty_cond to get tickled which
will never happen because:
<snip>
> diff --git a/vl.c b/vl.c
> index ff2a7d5..955f364 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2988,7 +2988,7 @@ int main(int argc, char **argv, char **envp)
> bool userconfig = true;
> const char *log_mask = NULL;
> const char *log_file = NULL;
> - const char *trace_file = NULL;
> + char *trace_file = NULL;
> ram_addr_t maxram_size;
> uint64_t ram_slots = 0;
> FILE *vmstate_dump_file = NULL;
> @@ -3905,7 +3905,10 @@ int main(int argc, char **argv, char **envp)
> exit(1);
> }
> trace_init_events(qemu_opt_get(opts, "events"));
> - trace_file = qemu_opt_get(opts, "file");
> + if (trace_file) {
> + g_free(trace_file);
> + }
> + trace_file = g_strdup(qemu_opt_get(opts, "file"));
> qemu_opts_del(opts);
> break;
> }
> @@ -4089,6 +4092,8 @@ int main(int argc, char **argv, char **envp)
> exit(0);
> }
>
> + trace_init_file(trace_file);
> +
This happens before:
> */
> if (log_file) {
> @@ -4106,7 +4111,7 @@ int main(int argc, char **argv, char **envp)
> }
>
> if (!is_daemonized()) {
> - if (!trace_init_backends(trace_file)) {
> + if (!trace_init_backends()) {
> exit(1);
> }
> }
> @@ -4653,7 +4658,7 @@ int main(int argc, char **argv, char **envp)
> os_setup_post();
>
> if (is_daemonized()) {
> - if (!trace_init_backends(trace_file)) {
> + if (!trace_init_backends()) {
This which creates the thread.
> exit(1);
> }
> }
--
Alex Bennée
next prev parent reply other threads:[~2016-02-08 18:44 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-03 15:47 [Qemu-devel] [PULL 00/13] Tracing patches Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 01/13] trace: count number of enabled events Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 02/13] trace: track enabled events in a separate array Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 03/13] trace: fix documentation Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 04/13] trace: split trace_init_events out of trace_init_backends Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 05/13] trace: split trace_init_file " Stefan Hajnoczi
2016-02-08 18:43 ` Alex Bennée [this message]
2016-02-09 11:17 ` Denis V. Lunev
2016-02-09 12:28 ` Alex Bennée
2016-02-09 19:19 ` Denis V. Lunev
2016-02-03 15:47 ` [Qemu-devel] [PULL 06/13] trace: no need to call trace_backend_init in different branches now Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 07/13] trace: add "-trace enable=..." Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 08/13] trace: add "-trace help" Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 09/13] log: do not unnecessarily include qom/cpu.h Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 10/13] log: move qemu-log.c into util/ directory Stefan Hajnoczi
2016-02-03 16:03 ` Daniel P. Berrange
2016-02-03 16:15 ` Denis V. Lunev
2016-02-03 16:36 ` Eric Blake
2016-02-03 17:38 ` Dimitris Aragiorgis
2016-02-03 18:46 ` Paolo Bonzini
2016-02-03 15:47 ` [Qemu-devel] [PULL 11/13] trace: convert stderr backend to log Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 12/13] trace: switch default backend to "log" Stefan Hajnoczi
2016-02-03 15:47 ` [Qemu-devel] [PULL 13/13] log: add "-d trace:PATTERN" Stefan Hajnoczi
2016-02-03 17:55 ` [Qemu-devel] [PULL 00/13] Tracing patches Peter Maydell
2016-02-03 18:49 ` Paolo Bonzini
2016-02-04 11:05 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lh6vvy8k.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=den@openvz.org \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).