From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51421) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VClzO-000704-Uz for qemu-devel@nongnu.org; Fri, 23 Aug 2013 03:41:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VClzI-0001VV-Vk for qemu-devel@nongnu.org; Fri, 23 Aug 2013 03:40:58 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42678) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VClzI-0001VL-NI for qemu-devel@nongnu.org; Fri, 23 Aug 2013 03:40:52 -0400 Message-ID: <521711D3.80107@redhat.com> Date: Fri, 23 Aug 2013 09:40:03 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1377069536-12658-1-git-send-email-lilei@linux.vnet.ibm.com> <1377069536-12658-12-git-send-email-lilei@linux.vnet.ibm.com> <5214DA32.1060403@redhat.com> <52167992.3080806@linux.vnet.ibm.com> In-Reply-To: <52167992.3080806@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 11/18] migration: introduce capability localhost List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael R. Hines" Cc: aarcange@redhat.com, aliguori@us.ibm.com, Lei Li , quintela@redhat.com, qemu-devel@nongnu.org, lagarcia@br.ibm.com, rcj@linux.vnet.ibm.com Il 22/08/2013 22:50, Michael R. Hines ha scritto: > On 08/21/2013 11:18 AM, Paolo Bonzini wrote: >> Il 21/08/2013 09:18, Lei Li ha scritto: >>> } else if (strstart(uri, "unix:", &p)) { >>> + if (s->enabled_capabilities[MIGRATION_CAPABILITY_LOCALHOST]) { >>> + local_start_outgoing_migration(s, p, &local_err); >>> + } >>> unix_start_outgoing_migration(s, p, &local_err); >>> } else if (strstart(uri, "fd:", &p)) { >>> fd_start_outgoing_migration(s, p, &local_err); >>> @@ -521,6 +524,15 @@ int migrate_use_xbzrle(void) >>> return s->enabled_capabilities[MIGRATION_CAPABILITY_XBZRLE]; >>> } >>> +bool migrate_is_localhost(void) >>> +{ >>> + MigrationState *s; >>> + >>> + s = migrate_get_current(); >>> + >>> + return s->enabled_capabilities[MIGRATION_CAPABILITY_LOCALHOST]; >>> +} >> I think this is a bad name, too. There is nothing more "local" in this >> migration than in "unix:" migration. >> >> Let's call the capability according to what it does, for example >> unix-page-flipping. > > Why is there a capability at all? Isn't that what the "local" URI is for? Because in these patches, the local URI is only present in the destination (which is wrong: the destination should autodetect local mode using the load-page hook). As you can see above, a "unix" URI will examine the capability and pick the appropriate migration method. However, this is also the wrong place to look at the capability. It is the save-page hook that should examine the capability. It will then do nothing if it is disabled, and do page-flipping if the capability is on. Paolo