* [Qemu-devel] [PULL 0/4] Tracing patches
@ 2011-10-03 11:30 Stefan Hajnoczi
2011-10-08 16:35 ` Blue Swirl
0 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2011-10-03 11:30 UTC (permalink / raw)
To: qemu-devel; +Cc: Anthony Liguori, Stefan Hajnoczi
The following changes since commit d11cf8cc80d946dfc9a23597cd9a0bb1c487cfa7:
etrax-dma: Remove bogus if statement (2011-10-03 10:20:13 +0200)
are available in the git repository at:
ssh://repo.or.cz/srv/git/qemu/stefanha.git tracing
Michael Roth (1):
hmp: re-enable trace-file command
Stefan Hajnoczi (3):
trace: trace bdrv_open_common()
trace: trace monitor qmp dispatch/completion
trace: add arguments to bdrv_co_io_em() trace event
block.c | 4 +++-
hmp-commands.hx | 2 +-
monitor.c | 7 +++++--
trace-events | 7 ++++++-
4 files changed, 15 insertions(+), 5 deletions(-)
--
1.7.6.3
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/4] Tracing patches
2011-10-03 11:30 Stefan Hajnoczi
@ 2011-10-08 16:35 ` Blue Swirl
0 siblings, 0 replies; 23+ messages in thread
From: Blue Swirl @ 2011-10-08 16:35 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: Anthony Liguori, qemu-devel
On Mon, Oct 3, 2011 at 11:30 AM, Stefan Hajnoczi
<stefanha@linux.vnet.ibm.com> wrote:
> The following changes since commit d11cf8cc80d946dfc9a23597cd9a0bb1c487cfa7:
>
> etrax-dma: Remove bogus if statement (2011-10-03 10:20:13 +0200)
>
> are available in the git repository at:
> ssh://repo.or.cz/srv/git/qemu/stefanha.git tracing
Thanks, pulled.
>
> Michael Roth (1):
> hmp: re-enable trace-file command
>
> Stefan Hajnoczi (3):
> trace: trace bdrv_open_common()
> trace: trace monitor qmp dispatch/completion
> trace: add arguments to bdrv_co_io_em() trace event
>
> block.c | 4 +++-
> hmp-commands.hx | 2 +-
> monitor.c | 7 +++++--
> trace-events | 7 ++++++-
> 4 files changed, 15 insertions(+), 5 deletions(-)
>
> --
> 1.7.6.3
>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/4] Tracing patches
@ 2012-07-19 10:52 Stefan Hajnoczi
2012-07-19 11:52 ` Harsh Bora
0 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2012-07-19 10:52 UTC (permalink / raw)
To: Anthony Liguori; +Cc: qemu-devel, Stefan Hajnoczi
Simpletrace v2 has landed:
* Strings are now logged instead of their pointers
* Variable-length arguments allow for >6 trace event arguments
Thanks to Harsh Prateek Bora for this improvement!
The following changes since commit dfe1ce5d80cba603bafaac91b239d683abe19cf7:
Merge remote-tracking branch 'kwolf/for-anthony' into staging (2012-07-18 14:44:50 -0500)
are available in the git repository at:
git://github.com/stefanha/qemu.git tracing
for you to fetch changes up to 90a147a275da3a432bdf00238ebf438eff1d2c1b:
Update simpletrace.py for new log format (2012-07-19 11:34:33 +0100)
----------------------------------------------------------------
Alexey Kardashevskiy (1):
trace: added ability to comment out events in the list
Harsh Prateek Bora (3):
monitor: remove unused do_info_trace
Simpletrace v2: Support multiple arguments, strings.
Update simpletrace.py for new log format
monitor.c | 16 ---
scripts/simpletrace.py | 116 +++++++++------
scripts/tracetool/backend/simple.py | 90 +++++++++---
trace/control.c | 3 +
trace/simple.c | 271 ++++++++++++++++++++---------------
trace/simple.h | 40 ++++--
6 files changed, 340 insertions(+), 196 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/4] Tracing patches
2012-07-19 10:52 Stefan Hajnoczi
@ 2012-07-19 11:52 ` Harsh Bora
0 siblings, 0 replies; 23+ messages in thread
From: Harsh Bora @ 2012-07-19 11:52 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: Anthony Liguori, qemu-devel
On 07/19/2012 04:22 PM, Stefan Hajnoczi wrote:
> Simpletrace v2 has landed:
> * Strings are now logged instead of their pointers
> * Variable-length arguments allow for >6 trace event arguments
>
> Thanks to Harsh Prateek Bora for this improvement!
Thanks very much to Stefan Hajnoczi for his effective, detailed reviews
without which it would have taken longer.
regards,
Harsh
>
> The following changes since commit dfe1ce5d80cba603bafaac91b239d683abe19cf7:
>
> Merge remote-tracking branch 'kwolf/for-anthony' into staging (2012-07-18 14:44:50 -0500)
>
> are available in the git repository at:
>
>
> git://github.com/stefanha/qemu.git tracing
>
> for you to fetch changes up to 90a147a275da3a432bdf00238ebf438eff1d2c1b:
>
> Update simpletrace.py for new log format (2012-07-19 11:34:33 +0100)
>
> ----------------------------------------------------------------
> Alexey Kardashevskiy (1):
> trace: added ability to comment out events in the list
>
> Harsh Prateek Bora (3):
> monitor: remove unused do_info_trace
> Simpletrace v2: Support multiple arguments, strings.
> Update simpletrace.py for new log format
>
> monitor.c | 16 ---
> scripts/simpletrace.py | 116 +++++++++------
> scripts/tracetool/backend/simple.py | 90 +++++++++---
> trace/control.c | 3 +
> trace/simple.c | 271 ++++++++++++++++++++---------------
> trace/simple.h | 40 ++++--
> 6 files changed, 340 insertions(+), 196 deletions(-)
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/4] Tracing patches
@ 2012-11-16 13:19 Stefan Hajnoczi
0 siblings, 0 replies; 23+ messages in thread
From: Stefan Hajnoczi @ 2012-11-16 13:19 UTC (permalink / raw)
To: qemu-devel; +Cc: Stefan Hajnoczi
The following changes since commit 6801038bc52d61f81ac8a25fbe392f1bad982887:
target-mips: fix wrong microMIPS opcode encoding (2012-11-15 14:48:16 +0100)
are available in the git repository at:
git://github.com/stefanha/qemu.git tracing
for you to fetch changes up to e94c4c9287392e9c4de5e9cc3a0fa40da959ccb5:
trace: Remove "info trace" from documents (2012-11-16 13:35:48 +0100)
----------------------------------------------------------------
Daniel P. Berrange (1):
Avoid all systemtap reserved words
Gerd Hoffmann (1):
trace: allow disabling events in events file
Liming Wang (1):
trace: Remove "info trace" from documents
Stefan Hajnoczi (1):
trace: document '-' syntax for disabling events
docs/tracing.txt | 13 ++++---------
hmp-commands.hx | 7 -------
scripts/tracetool/backend/dtrace.py | 11 ++++++++++-
trace/control.c | 9 ++++++++-
4 files changed, 22 insertions(+), 18 deletions(-)
--
1.8.0
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/4] Tracing patches
@ 2013-05-03 12:01 Stefan Hajnoczi
0 siblings, 0 replies; 23+ messages in thread
From: Stefan Hajnoczi @ 2013-05-03 12:01 UTC (permalink / raw)
To: qemu-devel; +Cc: Anthony Liguori, Stefan Hajnoczi
This tracing pull request is long overdue for QEMU 1.5.
Eiichi Tsukata's ftrace backend makes it easy to correlate QEMU events with
host kernel events. He also reports good performance.
Kazuya Saito's trace events make it easier to observe the KVM run loop.
The following changes since commit 8ca27ce2e1150486ea2db4116a03706b28294f16:
Merge remote-tracking branch 'afaerber/qom-cpu' into staging (2013-05-02 10:57:01 -0500)
are available in the git repository at:
git://github.com/stefanha/qemu.git tracing
for you to fetch changes up to e64dd5efb2c6d522a3bc9d096cd49a4e53f0ae10:
trace: document ftrace backend (2013-05-03 13:58:09 +0200)
----------------------------------------------------------------
Eiichi Tsukata (2):
trace: Add ftrace tracing backend
trace: document ftrace backend
Kazuya Saito (2):
kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints
kvm-all: add kvm_run_exit tracepoint
configure | 8 +++
docs/tracing.txt | 16 ++++++
kvm-all.c | 5 ++
scripts/tracetool/backend/ftrace.py | 54 +++++++++++++++++++
trace-events | 7 +++
trace/Makefile.objs | 1 +
trace/ftrace.c | 102 ++++++++++++++++++++++++++++++++++++
trace/ftrace.h | 10 ++++
8 files changed, 203 insertions(+)
create mode 100644 scripts/tracetool/backend/ftrace.py
create mode 100644 trace/ftrace.c
create mode 100644 trace/ftrace.h
--
1.8.1.4
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/4] Tracing patches
@ 2014-01-27 14:53 Stefan Hajnoczi
2014-01-27 14:53 ` [Qemu-devel] [PULL 1/4] tracing: start trace processing thread in final child process Stefan Hajnoczi
` (4 more replies)
0 siblings, 5 replies; 23+ messages in thread
From: Stefan Hajnoczi @ 2014-01-27 14:53 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori
The following changes since commit 0169c511554cb0014a00290b0d3d26c31a49818f:
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2014-01-24 15:52:44 -0800)
are available in the git repository at:
git://github.com/stefanha/qemu.git tags/tracing-pull-request
for you to fetch changes up to 736ec1677f1ae7e64f2f3436ca3775c48f79678c:
trace: fix simple trace "disable" keyword (2014-01-27 15:49:39 +0100)
----------------------------------------------------------------
Tracing pull request
----------------------------------------------------------------
Lluís Vilanova (1):
trace: [simple] Do not include "trace/simple.h" in generated tracer headers
Michael Mueller (1):
tracing: start trace processing thread in final child process
Stefan Hajnoczi (2):
trace: add glib 2.32+ static GMutex support
trace: fix simple trace "disable" keyword
scripts/tracetool/backend/simple.py | 6 ++----
trace/simple.c | 24 +++++++++++++++++-------
vl.c | 12 ++++++++++--
3 files changed, 29 insertions(+), 13 deletions(-)
--
1.8.4.2
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 1/4] tracing: start trace processing thread in final child process
2014-01-27 14:53 [Qemu-devel] [PULL 0/4] Tracing patches Stefan Hajnoczi
@ 2014-01-27 14:53 ` Stefan Hajnoczi
2014-01-27 19:25 ` Eric Blake
2014-01-27 14:53 ` [Qemu-devel] [PULL 2/4] trace: [simple] Do not include "trace/simple.h" in generated tracer headers Stefan Hajnoczi
` (3 subsequent siblings)
4 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2014-01-27 14:53 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori
From: Michael Mueller <mimu@linux.vnet.ibm.com>
When running with trace backend e.g. "simple" the writer thread needs to be
implemented in the same process context as the trace points that will be
processed. Under libvirtd control, qemu gets first started in daemonized
mode to privide its capabilities. Creating the writer thread in the initial
process context then leads to a dead lock because the thread gets termined
together with the initial parent. (-daemonize)
Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
[minor whitespace fixes]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
vl.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/vl.c b/vl.c
index 7f4fe0d..63f4d55 100644
--- a/vl.c
+++ b/vl.c
@@ -3879,8 +3879,10 @@ int main(int argc, char **argv, char **envp)
qemu_set_log(mask);
}
- if (!trace_backend_init(trace_events, trace_file)) {
- exit(1);
+ if (!is_daemonized()) {
+ if (!trace_backend_init(trace_events, trace_file)) {
+ exit(1);
+ }
}
/* If no data_dir is specified then try to find it relative to the
@@ -4379,6 +4381,12 @@ int main(int argc, char **argv, char **envp)
os_setup_post();
+ if (is_daemonized()) {
+ if (!trace_backend_init(trace_events, trace_file)) {
+ exit(1);
+ }
+ }
+
main_loop();
bdrv_close_all();
pause_all_vcpus();
--
1.8.4.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 2/4] trace: [simple] Do not include "trace/simple.h" in generated tracer headers
2014-01-27 14:53 [Qemu-devel] [PULL 0/4] Tracing patches Stefan Hajnoczi
2014-01-27 14:53 ` [Qemu-devel] [PULL 1/4] tracing: start trace processing thread in final child process Stefan Hajnoczi
@ 2014-01-27 14:53 ` Stefan Hajnoczi
2014-01-27 14:53 ` [Qemu-devel] [PULL 3/4] trace: add glib 2.32+ static GMutex support Stefan Hajnoczi
` (2 subsequent siblings)
4 siblings, 0 replies; 23+ messages in thread
From: Stefan Hajnoczi @ 2014-01-27 14:53 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori
From: Lluís Vilanova <vilanova@ac.upc.edu>
The header is not necessary, given that the simple backend does not define any
inlined tracing routines.
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
scripts/tracetool/backend/simple.py | 3 ---
trace/simple.c | 1 +
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/scripts/tracetool/backend/simple.py b/scripts/tracetool/backend/simple.py
index 37ef599..30faac9 100644
--- a/scripts/tracetool/backend/simple.py
+++ b/scripts/tracetool/backend/simple.py
@@ -93,9 +93,6 @@ def c(events):
def h(events):
- out('#include "trace/simple.h"',
- '')
-
for event in events:
out('void trace_%(name)s(%(args)s);',
name = event.name,
diff --git a/trace/simple.c b/trace/simple.c
index 1e3f691..410172e 100644
--- a/trace/simple.c
+++ b/trace/simple.c
@@ -19,6 +19,7 @@
#include "qemu/timer.h"
#include "trace.h"
#include "trace/control.h"
+#include "trace/simple.h"
/** Trace file header event ID */
#define HEADER_EVENT_ID (~(uint64_t)0) /* avoids conflicting with TraceEventIDs */
--
1.8.4.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 3/4] trace: add glib 2.32+ static GMutex support
2014-01-27 14:53 [Qemu-devel] [PULL 0/4] Tracing patches Stefan Hajnoczi
2014-01-27 14:53 ` [Qemu-devel] [PULL 1/4] tracing: start trace processing thread in final child process Stefan Hajnoczi
2014-01-27 14:53 ` [Qemu-devel] [PULL 2/4] trace: [simple] Do not include "trace/simple.h" in generated tracer headers Stefan Hajnoczi
@ 2014-01-27 14:53 ` Stefan Hajnoczi
2014-01-27 15:15 ` Daniel P. Berrange
2014-01-27 14:53 ` [Qemu-devel] [PULL 4/4] trace: fix simple trace "disable" keyword Stefan Hajnoczi
2014-01-31 11:22 ` [Qemu-devel] [PULL 0/4] Tracing patches Peter Maydell
4 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2014-01-27 14:53 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori
The GStaticMutex API was deprecated in glib 2.32. We cannot switch over
to GMutex unconditionally since we would drop support for older glib
versions. But the deprecated API warnings during build are annoying so
use static GMutex when possible.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
trace/simple.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/trace/simple.c b/trace/simple.c
index 410172e..57572c4 100644
--- a/trace/simple.c
+++ b/trace/simple.c
@@ -40,7 +40,17 @@
* Trace records are written out by a dedicated thread. The thread waits for
* records to become available, writes them out, and then waits again.
*/
+#if GLIB_CHECK_VERSION(2, 32, 0)
+static GMutex trace_lock;
+#define lock_trace_lock() g_mutex_lock(&trace_lock)
+#define unlock_trace_lock() g_mutex_unlock(&trace_lock)
+#define get_trace_lock_mutex() (&trace_lock)
+#else
static GStaticMutex trace_lock = G_STATIC_MUTEX_INIT;
+#define lock_trace_lock() g_static_mutex_lock(&trace_lock)
+#define unlock_trace_lock() g_static_mutex_unlock(&trace_lock)
+#define get_trace_lock_mutex() g_static_mutex_get_mutex(&trace_lock)
+#endif
/* g_cond_new() was deprecated in glib 2.31 but we still need to support it */
#if GLIB_CHECK_VERSION(2, 31, 0)
@@ -140,27 +150,26 @@ static bool get_trace_record(unsigned int idx, TraceRecord **recordptr)
*/
static void flush_trace_file(bool wait)
{
- g_static_mutex_lock(&trace_lock);
+ lock_trace_lock();
trace_available = true;
g_cond_signal(trace_available_cond);
if (wait) {
- g_cond_wait(trace_empty_cond, g_static_mutex_get_mutex(&trace_lock));
+ g_cond_wait(trace_empty_cond, get_trace_lock_mutex());
}
- g_static_mutex_unlock(&trace_lock);
+ unlock_trace_lock();
}
static void wait_for_trace_records_available(void)
{
- g_static_mutex_lock(&trace_lock);
+ lock_trace_lock();
while (!(trace_available && trace_writeout_enabled)) {
g_cond_signal(trace_empty_cond);
- g_cond_wait(trace_available_cond,
- g_static_mutex_get_mutex(&trace_lock));
+ g_cond_wait(trace_available_cond, get_trace_lock_mutex());
}
trace_available = false;
- g_static_mutex_unlock(&trace_lock);
+ unlock_trace_lock();
}
static gpointer writeout_thread(gpointer opaque)
--
1.8.4.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 4/4] trace: fix simple trace "disable" keyword
2014-01-27 14:53 [Qemu-devel] [PULL 0/4] Tracing patches Stefan Hajnoczi
` (2 preceding siblings ...)
2014-01-27 14:53 ` [Qemu-devel] [PULL 3/4] trace: add glib 2.32+ static GMutex support Stefan Hajnoczi
@ 2014-01-27 14:53 ` Stefan Hajnoczi
2014-01-31 11:22 ` [Qemu-devel] [PULL 0/4] Tracing patches Peter Maydell
4 siblings, 0 replies; 23+ messages in thread
From: Stefan Hajnoczi @ 2014-01-27 14:53 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori
The trace-events "disable" keyword turns an event into a nop at
compile-time. This is important for high-frequency events that can
impact performance.
The "disable" keyword is currently broken in the simple trace backend.
This patch fixes the problem as follows:
Trace events are identified by their TraceEventID number. When events
are disabled there are two options for assigning TraceEventID numbers:
1. Skip disabled events and don't assign them a number.
2. Assign numbers for all events regardless of the disabled keyword.
The simple trace backend and its binary file format uses approach #1.
The tracetool infrastructure has been using approach #2 for a while.
The result is that the numbers used in simple trace files do not
correspond with TraceEventIDs. In trace/simple.c we assumed that they
are identical and therefore emitted bogus numbers.
This patch fixes the bug by using TraceEventID for trace_event_id()
while sticking to approach #1 for simple trace file numbers. This
preserves simple trace file format compatibility.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
scripts/tracetool/backend/simple.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/tracetool/backend/simple.py b/scripts/tracetool/backend/simple.py
index 30faac9..3dde372 100644
--- a/scripts/tracetool/backend/simple.py
+++ b/scripts/tracetool/backend/simple.py
@@ -56,7 +56,7 @@ def c(events):
out('',
- ' TraceEvent *eventp = trace_event_id(%(event_id)s);',
+ ' TraceEvent *eventp = trace_event_id(%(event_enum)s);',
' bool _state = trace_event_get_state_dynamic(eventp);',
' if (!_state) {',
' return;',
@@ -65,6 +65,7 @@ def c(events):
' if (trace_record_start(&rec, %(event_id)s, %(size_str)s)) {',
' return; /* Trace Buffer Full, Event Dropped ! */',
' }',
+ event_enum = 'TRACE_' + event.name.upper(),
event_id = num,
size_str = sizestr,
)
--
1.8.4.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 3/4] trace: add glib 2.32+ static GMutex support
2014-01-27 14:53 ` [Qemu-devel] [PULL 3/4] trace: add glib 2.32+ static GMutex support Stefan Hajnoczi
@ 2014-01-27 15:15 ` Daniel P. Berrange
2014-01-28 12:01 ` Stefan Hajnoczi
0 siblings, 1 reply; 23+ messages in thread
From: Daniel P. Berrange @ 2014-01-27 15:15 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: Peter Maydell, qemu-devel, Anthony Liguori
On Mon, Jan 27, 2014 at 03:53:05PM +0100, Stefan Hajnoczi wrote:
> The GStaticMutex API was deprecated in glib 2.32. We cannot switch over
> to GMutex unconditionally since we would drop support for older glib
> versions. But the deprecated API warnings during build are annoying so
> use static GMutex when possible.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> trace/simple.c | 23 ++++++++++++++++-------
> 1 file changed, 16 insertions(+), 7 deletions(-)
>
> diff --git a/trace/simple.c b/trace/simple.c
> index 410172e..57572c4 100644
> --- a/trace/simple.c
> +++ b/trace/simple.c
> @@ -40,7 +40,17 @@
> * Trace records are written out by a dedicated thread. The thread waits for
> * records to become available, writes them out, and then waits again.
> */
> +#if GLIB_CHECK_VERSION(2, 32, 0)
> +static GMutex trace_lock;
> +#define lock_trace_lock() g_mutex_lock(&trace_lock)
> +#define unlock_trace_lock() g_mutex_unlock(&trace_lock)
> +#define get_trace_lock_mutex() (&trace_lock)
> +#else
> static GStaticMutex trace_lock = G_STATIC_MUTEX_INIT;
> +#define lock_trace_lock() g_static_mutex_lock(&trace_lock)
> +#define unlock_trace_lock() g_static_mutex_unlock(&trace_lock)
> +#define get_trace_lock_mutex() g_static_mutex_get_mutex(&trace_lock)
> +#endif
coroutine-gthread.c also uses GStaticMutex - is there somewhere you
could put some compat calls tobe shared. Perhaps some hack like
#define GStaticMutex GMutex
#define g_static_mutex_lock(m) g_mutex_lock(m)
?
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 1/4] tracing: start trace processing thread in final child process
2014-01-27 14:53 ` [Qemu-devel] [PULL 1/4] tracing: start trace processing thread in final child process Stefan Hajnoczi
@ 2014-01-27 19:25 ` Eric Blake
0 siblings, 0 replies; 23+ messages in thread
From: Eric Blake @ 2014-01-27 19:25 UTC (permalink / raw)
To: Stefan Hajnoczi, qemu-devel; +Cc: Peter Maydell, Anthony Liguori
[-- Attachment #1: Type: text/plain, Size: 942 bytes --]
On 01/27/2014 07:53 AM, Stefan Hajnoczi wrote:
> From: Michael Mueller <mimu@linux.vnet.ibm.com>
>
> When running with trace backend e.g. "simple" the writer thread needs to be
> implemented in the same process context as the trace points that will be
> processed. Under libvirtd control, qemu gets first started in daemonized
> mode to privide its capabilities. Creating the writer thread in the initial
s/privide/provide/
> process context then leads to a dead lock because the thread gets termined
s/dead lock/deadlock/
s/termined/terminated/
> together with the initial parent. (-daemonize)
>
> Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> [minor whitespace fixes]
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 3/4] trace: add glib 2.32+ static GMutex support
2014-01-27 15:15 ` Daniel P. Berrange
@ 2014-01-28 12:01 ` Stefan Hajnoczi
0 siblings, 0 replies; 23+ messages in thread
From: Stefan Hajnoczi @ 2014-01-28 12:01 UTC (permalink / raw)
To: Daniel P. Berrange
Cc: Peter Maydell, qemu-devel, Stefan Hajnoczi, Anthony Liguori
On Mon, Jan 27, 2014 at 03:15:47PM +0000, Daniel P. Berrange wrote:
> On Mon, Jan 27, 2014 at 03:53:05PM +0100, Stefan Hajnoczi wrote:
> > The GStaticMutex API was deprecated in glib 2.32. We cannot switch over
> > to GMutex unconditionally since we would drop support for older glib
> > versions. But the deprecated API warnings during build are annoying so
> > use static GMutex when possible.
> >
> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> > ---
> > trace/simple.c | 23 ++++++++++++++++-------
> > 1 file changed, 16 insertions(+), 7 deletions(-)
> >
> > diff --git a/trace/simple.c b/trace/simple.c
> > index 410172e..57572c4 100644
> > --- a/trace/simple.c
> > +++ b/trace/simple.c
> > @@ -40,7 +40,17 @@
> > * Trace records are written out by a dedicated thread. The thread waits for
> > * records to become available, writes them out, and then waits again.
> > */
> > +#if GLIB_CHECK_VERSION(2, 32, 0)
> > +static GMutex trace_lock;
> > +#define lock_trace_lock() g_mutex_lock(&trace_lock)
> > +#define unlock_trace_lock() g_mutex_unlock(&trace_lock)
> > +#define get_trace_lock_mutex() (&trace_lock)
> > +#else
> > static GStaticMutex trace_lock = G_STATIC_MUTEX_INIT;
> > +#define lock_trace_lock() g_static_mutex_lock(&trace_lock)
> > +#define unlock_trace_lock() g_static_mutex_unlock(&trace_lock)
> > +#define get_trace_lock_mutex() g_static_mutex_get_mutex(&trace_lock)
> > +#endif
>
> coroutine-gthread.c also uses GStaticMutex - is there somewhere you
> could put some compat calls tobe shared. Perhaps some hack like
>
> #define GStaticMutex GMutex
> #define g_static_mutex_lock(m) g_mutex_lock(m)
>
> ?
I'll do a follow-up patch to pull together all the glib version
abstraction hacks we have in QEMU.
Stefan
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/4] Tracing patches
2014-01-27 14:53 [Qemu-devel] [PULL 0/4] Tracing patches Stefan Hajnoczi
` (3 preceding siblings ...)
2014-01-27 14:53 ` [Qemu-devel] [PULL 4/4] trace: fix simple trace "disable" keyword Stefan Hajnoczi
@ 2014-01-31 11:22 ` Peter Maydell
4 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2014-01-31 11:22 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers, Anthony Liguori
On 27 January 2014 14:53, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 0169c511554cb0014a00290b0d3d26c31a49818f:
>
> Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2014-01-24 15:52:44 -0800)
>
> are available in the git repository at:
>
>
> git://github.com/stefanha/qemu.git tags/tracing-pull-request
>
> for you to fetch changes up to 736ec1677f1ae7e64f2f3436ca3775c48f79678c:
>
> trace: fix simple trace "disable" keyword (2014-01-27 15:49:39 +0100)
>
> ----------------------------------------------------------------
> Tracing pull request
>
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/4] Tracing patches
@ 2016-01-07 9:13 Stefan Hajnoczi
2016-01-07 11:22 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2016-01-07 9:13 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi
The following changes since commit 38a762fec63fd5c035aae29ba9a77d357e21e4a7:
Merge remote-tracking branch 'remotes/berrange/tags/pull-crypto-fixes-2015-12-23-1' into staging (2015-12-23 13:53:32 +0000)
are available in the git repository at:
git://github.com/stefanha/qemu.git tags/tracing-pull-request
for you to fetch changes up to cef517ca4bf890ef5405aac1b95f75dcda043d6a:
trace: add make dependencies on tracetool source (2016-01-07 16:59:56 +0800)
----------------------------------------------------------------
----------------------------------------------------------------
Mark Cave-Ayland (1):
trace: fix PRIx64 constants in trace-events
Qinghua Jin (1):
trace: reflect the file name change
Stefan Hajnoczi (2):
trace: fix make foo-timestamp rules
trace: add make dependencies on tracetool source
trace-events | 14 ++++++++------
trace/Makefile.objs | 48 ++++++++++++++++++++++++++++--------------------
2 files changed, 36 insertions(+), 26 deletions(-)
--
2.5.0
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/4] Tracing patches
2016-01-07 9:13 Stefan Hajnoczi
@ 2016-01-07 11:22 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2016-01-07 11:22 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers
On 7 January 2016 at 09:13, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 38a762fec63fd5c035aae29ba9a77d357e21e4a7:
>
> Merge remote-tracking branch 'remotes/berrange/tags/pull-crypto-fixes-2015-12-23-1' into staging (2015-12-23 13:53:32 +0000)
>
> are available in the git repository at:
>
> git://github.com/stefanha/qemu.git tags/tracing-pull-request
>
> for you to fetch changes up to cef517ca4bf890ef5405aac1b95f75dcda043d6a:
>
> trace: add make dependencies on tracetool source (2016-01-07 16:59:56 +0800)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
Applied, thanks. (Hopefully this fixes the travis builds.)
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/4] Tracing patches
@ 2016-03-31 12:35 Stefan Hajnoczi
2016-03-31 13:58 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2016-03-31 12:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi
The following changes since commit 9370a3bbc478f623dd21d783560629ea2064625b:
Update version for v2.6.0-rc0 release (2016-03-30 19:25:40 +0100)
are available in the git repository at:
git://github.com/stefanha/qemu.git tags/tracing-pull-request
for you to fetch changes up to a6d4953b6057dfc0b9b6b2d775231648fca3ca2b:
trace-events: Fix typos (found by codespell) (2016-03-31 10:37:00 +0100)
----------------------------------------------------------------
----------------------------------------------------------------
Denis V. Lunev (2):
trace: do not always call exit() in trace_enable_events
log: move qemu_log_close/qemu_log_flush from header to log.c
Richard W.M. Jones (1):
docs: Update documentation for stderr (now log) tracing backend.
Stefan Weil (1):
trace-events: Fix typos (found by codespell)
docs/tracing.txt | 4 ++--
include/qemu/log.h | 22 +++++-----------------
trace-events | 4 ++--
trace/control.c | 5 ++++-
util/log.c | 17 +++++++++++++++++
5 files changed, 30 insertions(+), 22 deletions(-)
--
2.5.5
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/4] Tracing patches
2016-03-31 12:35 Stefan Hajnoczi
@ 2016-03-31 13:58 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2016-03-31 13:58 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers
On 31 March 2016 at 13:35, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 9370a3bbc478f623dd21d783560629ea2064625b:
>
> Update version for v2.6.0-rc0 release (2016-03-30 19:25:40 +0100)
>
> are available in the git repository at:
>
> git://github.com/stefanha/qemu.git tags/tracing-pull-request
>
> for you to fetch changes up to a6d4953b6057dfc0b9b6b2d775231648fca3ca2b:
>
> trace-events: Fix typos (found by codespell) (2016-03-31 10:37:00 +0100)
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/4] Tracing patches
@ 2017-01-16 13:44 Stefan Hajnoczi
2017-01-19 10:46 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2017-01-16 13:44 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi
The following changes since commit 2ccede18bd24fce5db83fef3674563a1f256717b:
Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-2.9-pull-request' into staging (2017-01-16 12:41:35 +0000)
are available in the git repository at:
git://github.com/stefanha/qemu.git tags/tracing-pull-request
for you to fetch changes up to a47e87151e785977d34e7b726495e7781860ca9f:
trace: Add event "guest_cpu_exit" (2017-01-16 13:40:56 +0000)
----------------------------------------------------------------
----------------------------------------------------------------
Lluís Vilanova (3):
trace: Lock vCPU list when initializing dynamic tracing state
trace: Fix dynamic event state on vCPU hot-unplug
trace: Add event "guest_cpu_exit"
Marc-André Lureau (1):
trace-events: spelling fix
trace/control.h | 8 ++++++++
qom/cpu.c | 2 ++
trace/control-target.c | 11 ++++++++++-
trace/control.c | 19 +++++++++++++++++++
trace-events | 8 +++++++-
5 files changed, 46 insertions(+), 2 deletions(-)
--
2.9.3
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/4] Tracing patches
2017-01-16 13:44 Stefan Hajnoczi
@ 2017-01-19 10:46 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2017-01-19 10:46 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers
On 16 January 2017 at 13:44, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 2ccede18bd24fce5db83fef3674563a1f256717b:
>
> Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-2.9-pull-request' into staging (2017-01-16 12:41:35 +0000)
>
> are available in the git repository at:
>
> git://github.com/stefanha/qemu.git tags/tracing-pull-request
>
> for you to fetch changes up to a47e87151e785977d34e7b726495e7781860ca9f:
>
> trace: Add event "guest_cpu_exit" (2017-01-16 13:40:56 +0000)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
>
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/4] Tracing patches
@ 2017-12-18 14:47 Stefan Hajnoczi
2017-12-19 12:48 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2017-12-18 14:47 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi
The following changes since commit 411ad78115ebeb3411cf4b7622784b93dfabe259:
Merge remote-tracking branch 'remotes/stefanberger/tags/pull-tpm-2017-12-15-1' into staging (2017-12-17 15:27:41 +0000)
are available in the Git repository at:
git://github.com/stefanha/qemu.git tags/tracing-pull-request
for you to fetch changes up to 5c9522b358faf9688fd83cd0a881e1990bb84516:
gdbstub: add tracing (2017-12-18 14:37:36 +0000)
----------------------------------------------------------------
----------------------------------------------------------------
Doug Gale (1):
gdbstub: add tracing
Namhyung Kim (3):
trace: Simplify find_debugfs()
trace: Generalize searching for debugfs
trace: Try using tracefs first
gdbstub.c | 113 +++++++++++++++++++++++++++++++++++++++------------------
trace/ftrace.c | 33 ++++++++++-------
trace-events | 28 ++++++++++++++
3 files changed, 125 insertions(+), 49 deletions(-)
--
2.14.3
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/4] Tracing patches
2017-12-18 14:47 Stefan Hajnoczi
@ 2017-12-19 12:48 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2017-12-19 12:48 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers
On 18 December 2017 at 14:47, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 411ad78115ebeb3411cf4b7622784b93dfabe259:
>
> Merge remote-tracking branch 'remotes/stefanberger/tags/pull-tpm-2017-12-15-1' into staging (2017-12-17 15:27:41 +0000)
>
> are available in the Git repository at:
>
> git://github.com/stefanha/qemu.git tags/tracing-pull-request
>
> for you to fetch changes up to 5c9522b358faf9688fd83cd0a881e1990bb84516:
>
> gdbstub: add tracing (2017-12-18 14:37:36 +0000)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
>
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2017-12-19 12:49 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-27 14:53 [Qemu-devel] [PULL 0/4] Tracing patches Stefan Hajnoczi
2014-01-27 14:53 ` [Qemu-devel] [PULL 1/4] tracing: start trace processing thread in final child process Stefan Hajnoczi
2014-01-27 19:25 ` Eric Blake
2014-01-27 14:53 ` [Qemu-devel] [PULL 2/4] trace: [simple] Do not include "trace/simple.h" in generated tracer headers Stefan Hajnoczi
2014-01-27 14:53 ` [Qemu-devel] [PULL 3/4] trace: add glib 2.32+ static GMutex support Stefan Hajnoczi
2014-01-27 15:15 ` Daniel P. Berrange
2014-01-28 12:01 ` Stefan Hajnoczi
2014-01-27 14:53 ` [Qemu-devel] [PULL 4/4] trace: fix simple trace "disable" keyword Stefan Hajnoczi
2014-01-31 11:22 ` [Qemu-devel] [PULL 0/4] Tracing patches Peter Maydell
-- strict thread matches above, loose matches on Subject: below --
2017-12-18 14:47 Stefan Hajnoczi
2017-12-19 12:48 ` Peter Maydell
2017-01-16 13:44 Stefan Hajnoczi
2017-01-19 10:46 ` Peter Maydell
2016-03-31 12:35 Stefan Hajnoczi
2016-03-31 13:58 ` Peter Maydell
2016-01-07 9:13 Stefan Hajnoczi
2016-01-07 11:22 ` Peter Maydell
2013-05-03 12:01 Stefan Hajnoczi
2012-11-16 13:19 Stefan Hajnoczi
2012-07-19 10:52 Stefan Hajnoczi
2012-07-19 11:52 ` Harsh Bora
2011-10-03 11:30 Stefan Hajnoczi
2011-10-08 16:35 ` Blue Swirl
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).