From patchwork Wed Feb 20 06:32:30 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kazuya Saito X-Patchwork-Id: 221967 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 30CDE2C007C for ; Wed, 20 Feb 2013 17:42:50 +1100 (EST) Received: from localhost ([::1]:46832 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U83FA-0006AJ-Qq for incoming@patchwork.ozlabs.org; Wed, 20 Feb 2013 01:33:28 -0500 Received: from eggs.gnu.org ([208.118.235.92]:51087) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U83EU-0004j9-2W for qemu-devel@nongnu.org; Wed, 20 Feb 2013 01:32:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U83EQ-00044b-TF for qemu-devel@nongnu.org; Wed, 20 Feb 2013 01:32:45 -0500 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:53939) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U83EQ-00044E-Ds for qemu-devel@nongnu.org; Wed, 20 Feb 2013 01:32:42 -0500 Received: from m4.gw.fujitsu.co.jp (unknown [10.0.50.74]) by fgwmail5.fujitsu.co.jp (Postfix) with ESMTP id 971F73EE0BC for ; Wed, 20 Feb 2013 15:32:41 +0900 (JST) Received: from smail (m4 [127.0.0.1]) by outgoing.m4.gw.fujitsu.co.jp (Postfix) with ESMTP id 7DC1545DE4F for ; Wed, 20 Feb 2013 15:32:41 +0900 (JST) Received: from s4.gw.fujitsu.co.jp (s4.gw.fujitsu.co.jp [10.0.50.94]) by m4.gw.fujitsu.co.jp (Postfix) with ESMTP id 5AFDC45DE4D for ; Wed, 20 Feb 2013 15:32:41 +0900 (JST) Received: from s4.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s4.gw.fujitsu.co.jp (Postfix) with ESMTP id 3D67FE18002 for ; Wed, 20 Feb 2013 15:32:41 +0900 (JST) Received: from G01JPEXCHKW23.g01.fujitsu.local (G01JPEXCHKW23.g01.fujitsu.local [10.0.193.106]) by s4.gw.fujitsu.co.jp (Postfix) with ESMTP id EB0F1E18001 for ; Wed, 20 Feb 2013 15:32:40 +0900 (JST) Received: from [127.0.0.1] (10.33.110.106) by G01JPEXCHKW23.g01.fujitsu.local (10.0.193.106) with Microsoft SMTP Server id 14.2.309.2; Wed, 20 Feb 2013 15:32:37 +0900 Message-ID: <51246DFE.2080909@jp.fujitsu.com> Date: Wed, 20 Feb 2013 15:32:30 +0900 From: Kazuya Saito User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: References: <51246D00.8020605@jp.fujitsu.com> In-Reply-To: <51246D00.8020605@jp.fujitsu.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 192.51.44.35 Cc: stefanha@redhat.com, quintela@redhat.com Subject: [Qemu-devel] [PATCH v2 2/2] migration: add migrate_set_state(), add trace_migrate_set_state() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Kazuya Saito --- include/migration/migration.h | 2 ++ migration.c | 19 +++++++++++++------ trace-events | 3 +++ 3 files changed, 18 insertions(+), 6 deletions(-) + +# migration.c +migrate_set_state(int new_state) "new state %d" diff --git a/include/migration/migration.h b/include/migration/migration.h index a8c9639..3d8b2a8 100644 --- a/include/migration/migration.h +++ b/include/migration/migration.h @@ -132,4 +132,6 @@ int migrate_use_xbzrle(void); int64_t migrate_xbzrle_cache_size(void); int64_t xbzrle_cache_resize(int64_t new_size); + +void migrate_set_state(MigrationState *s, int new_state); #endif diff --git a/migration.c b/migration.c index b1ebb01..c52d634 100644 --- a/migration.c +++ b/migration.c @@ -23,6 +23,7 @@ #include "migration/block.h" #include "qemu/thread.h" #include "qmp-commands.h" +#include "trace.h" //#define DEBUG_MIGRATION @@ -277,7 +278,7 @@ static int migrate_fd_cleanup(MigrationState *s) void migrate_fd_error(MigrationState *s) { DPRINTF("setting error state\n"); - s->state = MIG_STATE_ERROR; + migrate_set_state(s, MIG_STATE_ERROR); notifier_list_notify(&migration_state_notifiers, s); migrate_fd_cleanup(s); } @@ -286,9 +287,9 @@ static void migrate_fd_completed(MigrationState *s) { DPRINTF("setting completed state\n"); if (migrate_fd_cleanup(s) < 0) { - s->state = MIG_STATE_ERROR; + migrate_set_state(s, MIG_STATE_ERROR); } else { - s->state = MIG_STATE_COMPLETED; + migrate_set_state(s, MIG_STATE_COMPLETED); runstate_set(RUN_STATE_POSTMIGRATE); } notifier_list_notify(&migration_state_notifiers, s); @@ -320,7 +321,7 @@ static void migrate_fd_cancel(MigrationState *s) DPRINTF("cancelling migration\n"); - s->state = MIG_STATE_CANCELLED; + migrate_set_state(s, MIG_STATE_CANCELLED); notifier_list_notify(&migration_state_notifiers, s); qemu_savevm_state_cancel(); @@ -381,7 +382,7 @@ static MigrationState *migrate_init(const MigrationParams *params) s->xbzrle_cache_size = xbzrle_cache_size; s->bandwidth_limit = bandwidth_limit; - s->state = MIG_STATE_SETUP; + migrate_set_state(s, MIG_STATE_SETUP); s->total_time = qemu_get_clock_ms(rt_clock); return s; @@ -769,7 +770,7 @@ static const QEMUFileOps buffered_file_ops = { void migrate_fd_connect(MigrationState *s) { - s->state = MIG_STATE_ACTIVE; + migrate_set_state(s, MIG_STATE_ACTIVE); s->bytes_xfer = 0; s->buffer = NULL; s->buffer_size = 0; @@ -784,3 +785,9 @@ void migrate_fd_connect(MigrationState *s) QEMU_THREAD_DETACHED); notifier_list_notify(&migration_state_notifiers, s); } + +void migrate_set_state(MigrationState *s, int new_state) +{ + s->state = new_state; + trace_migrate_set_state(new_state); +} diff --git a/trace-events b/trace-events index bf508f0..1be907e 100644 --- a/trace-events +++ b/trace-events @@ -1091,3 +1091,6 @@ css_io_interrupt(int cssid, int ssid, int schid, uint32_t intparm, uint8_t isc, # hw/s390x/virtio-ccw.c virtio_ccw_interpret_ccw(int cssid, int ssid, int schid, int cmd_code) "VIRTIO-CCW: %x.%x.%04x: interpret command %x" virtio_ccw_new_device(int cssid, int ssid, int schid, int devno, const char *devno_mode) "VIRTIO-CCW: add subchannel %x.%x.%04x, devno %04x (%s)"