From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [RFC PATCH v3 0/4] Separate thread for VM migration Date: Thu, 11 Aug 2011 18:23:17 +0200 Message-ID: <4E4401F5.1040608@redhat.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, quintela@redhat.com, mtosatti@redhat.com To: Umesh Deshpande Return-path: Received: from mx1.redhat.com ([209.132.183.28]:31474 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751008Ab1HKQXT (ORCPT ); Thu, 11 Aug 2011 12:23:19 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p7BGNJMI029576 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 11 Aug 2011 12:23:19 -0400 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 08/11/2011 05:32 PM, Umesh Deshpande wrote: > Following patch series deals with VCPU and iothread starvation during the > migration of > a guest. Currently the iothread is responsible for performing the guest > migration. It holds qemu_mutex during the migration and doesn't allow VCPU to > enter the qemu mode and delays its return to the guest. The guest migration, > executed as an iohandler also delays the execution of other iohandlers. > In the following patch series, > > The migration has been moved to a separate thread to > reduce the qemu_mutex contention and iohandler starvation. > > Umesh Deshpande (4): > separate thread for VM migration > synchronous migrate_cancel > lock to protect memslots > separate migration bitmap > > arch_init.c | 26 ++++++++++---- > buffered_file.c | 100 +++++++++++++++++++++++++++++++++------------------ > buffered_file.h | 4 ++ > cpu-all.h | 39 ++++++++++++++++++++ > cpus.c | 12 ++++++ > exec.c | 74 +++++++++++++++++++++++++++++++++++++ > hw/hw.h | 5 ++- > migration.c | 50 ++++++++++++-------------- > migration.h | 6 +++ > qemu-common.h | 2 + > qemu-thread-posix.c | 10 +++++ > qemu-thread.h | 1 + > savevm.c | 31 +++++++++++----- > 13 files changed, 280 insertions(+), 80 deletions(-) > Looks quite good. Note that when submitting for inclusion, the last two patches should go first, so that you only add the migration thread after you're race free. If there are parts that do not apply before patches 1/2, that likely means they are in the wrong patch. :) Thanks, Paolo