qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL for-2.1 0/1] Tracing pull request
@ 2014-07-01  8:57 Stefan Hajnoczi
  2014-07-01  8:57 ` [Qemu-devel] [PULL for-2.1 1/1] trace: add qemu_system_powerdown_request and qemu_system_shutdown_request trace events Stefan Hajnoczi
  2014-07-01 14:12 ` [Qemu-devel] [PULL for-2.1 0/1] Tracing pull request Peter Maydell
  0 siblings, 2 replies; 3+ messages in thread
From: Stefan Hajnoczi @ 2014-07-01  8:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi

The following changes since commit 53a259da5697ec8a82463161e2e32ff942a08bc2:

  Merge remote-tracking branch 'remotes/awilliam/tags/vfio-pci-for-qemu-20140630.0' into staging (2014-06-30 18:31:07 +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 bc78cff9757782501db15d39828e6af4186fe331:

  trace: add qemu_system_powerdown_request and qemu_system_shutdown_request trace events (2014-07-01 10:56:13 +0200)

----------------------------------------------------------------
Tracing pull request

----------------------------------------------------------------
Yang Zhiyong (1):
      trace: add qemu_system_powerdown_request and qemu_system_shutdown_request trace events

 trace-events | 2 ++
 vl.c         | 2 ++
 2 files changed, 4 insertions(+)

-- 
1.9.3

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

* [Qemu-devel] [PULL for-2.1 1/1] trace: add qemu_system_powerdown_request and qemu_system_shutdown_request trace events
  2014-07-01  8:57 [Qemu-devel] [PULL for-2.1 0/1] Tracing pull request Stefan Hajnoczi
@ 2014-07-01  8:57 ` Stefan Hajnoczi
  2014-07-01 14:12 ` [Qemu-devel] [PULL for-2.1 0/1] Tracing pull request Peter Maydell
  1 sibling, 0 replies; 3+ messages in thread
From: Stefan Hajnoczi @ 2014-07-01  8:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi, Yang Zhiyong

From: Yang Zhiyong <yangzy.fnst@cn.fujitsu.com>

We have the experience that the guest doesn't stop successfully
though it was instructed to shut down.

The root cause may be not in QEMU mostly.  However, QEMU is often
suspected at the beginning just because the issue occurred in
virtualization environment.

Therefore, we need to affirm that QEMU received the shutdown
request and raised ACPI irq from "virsh shutdown" command,
virt-manger or stopping QEMU process to the VM .
So that we can affirm the problems was belonged to the Guset OS
rather than the QEMU itself.

When we stop guests by "virsh shutdown" command or virt-manger,
or stopping QEMU process, qemu_system_powerdown_request() or
qemu_system_shutdown_request() is called. Then the below functions
in main_loop_should_exit() of Vl.c are called roughly in the
following order.

	if (qemu_powerdown_requested())
		qemu_system_powerdown()
			monitor_protocol_event(QEVENT_POWERDOWN, NULL)

	OR

	if(qemu_shutdown_requested()}
		monitor_protocol_event(QEVENT_SHUTDOWN, NULL);

The tracepoint of monitor_protocol_event() already exists, but no
tracepoints are defined for qemu_system_powerdown_request() and
qemu_system_shutdown_request(). So this patch adds two tracepoints for
the two functions. We believe that it will become much easier to
isolate the problem mentioned above by these tracepoints.

Signed-off-by: Yang Zhiyong <yangzy.fnst@cn.fujitsu.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 trace-events | 2 ++
 vl.c         | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/trace-events b/trace-events
index d071b97..11a17a8 100644
--- a/trace-events
+++ b/trace-events
@@ -511,6 +511,8 @@ g_malloc(size_t size, void *ptr) "size %zu ptr %p"
 g_realloc(void *ptr, size_t size, void *newptr) "ptr %p size %zu newptr %p"
 g_free(void *ptr) "ptr %p"
 system_wakeup_request(int reason) "reason=%d"
+qemu_system_shutdown_request(void) ""
+qemu_system_powerdown_request(void) ""
 
 # block/qcow2.c
 qcow2_writev_start_req(void *co, int64_t sector, int nb_sectors) "co %p sector %" PRIx64 " nb_sectors %d"
diff --git a/vl.c b/vl.c
index 41ddcd2..34f8726 100644
--- a/vl.c
+++ b/vl.c
@@ -1921,6 +1921,7 @@ void qemu_system_killed(int signal, pid_t pid)
 
 void qemu_system_shutdown_request(void)
 {
+    trace_qemu_system_shutdown_request();
     shutdown_requested = 1;
     qemu_notify_event();
 }
@@ -1933,6 +1934,7 @@ static void qemu_system_powerdown(void)
 
 void qemu_system_powerdown_request(void)
 {
+    trace_qemu_system_powerdown_request();
     powerdown_requested = 1;
     qemu_notify_event();
 }
-- 
1.9.3

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

* Re: [Qemu-devel] [PULL for-2.1 0/1] Tracing pull request
  2014-07-01  8:57 [Qemu-devel] [PULL for-2.1 0/1] Tracing pull request Stefan Hajnoczi
  2014-07-01  8:57 ` [Qemu-devel] [PULL for-2.1 1/1] trace: add qemu_system_powerdown_request and qemu_system_shutdown_request trace events Stefan Hajnoczi
@ 2014-07-01 14:12 ` Peter Maydell
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2014-07-01 14:12 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers

On 1 July 2014 09:57, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 53a259da5697ec8a82463161e2e32ff942a08bc2:
>
>   Merge remote-tracking branch 'remotes/awilliam/tags/vfio-pci-for-qemu-20140630.0' into staging (2014-06-30 18:31:07 +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 bc78cff9757782501db15d39828e6af4186fe331:
>
>   trace: add qemu_system_powerdown_request and qemu_system_shutdown_request trace events (2014-07-01 10:56:13 +0200)
>
> ----------------------------------------------------------------
> Tracing pull request
>

Applied, thanks.

-- PMM

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

end of thread, other threads:[~2014-07-01 14:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-01  8:57 [Qemu-devel] [PULL for-2.1 0/1] Tracing pull request Stefan Hajnoczi
2014-07-01  8:57 ` [Qemu-devel] [PULL for-2.1 1/1] trace: add qemu_system_powerdown_request and qemu_system_shutdown_request trace events Stefan Hajnoczi
2014-07-01 14:12 ` [Qemu-devel] [PULL for-2.1 0/1] Tracing pull request Peter Maydell

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).