From mboxrd@z Thu Jan 1 00:00:00 1970 From: Radim =?utf-8?B?S3LEjW3DocWZ?= Subject: Re: [PATCH v2 0/3] KVM: x86: use pic/ioapic destructor when proper Date: Thu, 16 Mar 2017 20:32:14 +0100 Message-ID: <20170316193214.GB16668@potion> References: <1489564879-6097-1-git-send-email-peterx@redhat.com> <20170315085936.GD5971@pxdev.xzpeter.org> <2cb28e66-b24a-efba-92d1-55ffd39743c6@redhat.com> <20170316060412.GK5971@pxdev.xzpeter.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: David Hildenbrand , kvm@vger.kernel.org, Paolo Bonzini To: Peter Xu Return-path: Received: from mx1.redhat.com ([209.132.183.28]:38460 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752605AbdCPTcW (ORCPT ); Thu, 16 Mar 2017 15:32:22 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1255F9D4E9 for ; Thu, 16 Mar 2017 19:32:22 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20170316060412.GK5971@pxdev.xzpeter.org> Sender: kvm-owner@vger.kernel.org List-ID: 2017-03-16 14:04+0800, Peter Xu: > On Wed, Mar 15, 2017 at 12:15:24PM +0100, David Hildenbrand wrote: >> Am 15.03.2017 um 09:59 schrieb Peter Xu: >> > On Wed, Mar 15, 2017 at 09:47:14AM +0100, David Hildenbrand wrote: >> >> Am 15.03.2017 um 09:01 schrieb Peter Xu: >> >>> v2: >> >>> - add one more patch (patch 2 in v2) to check pic/ioapic's >> >>> existance before destroying them >> >> >> >> Patch 2+3 without 1 should work, too, right? >> > >> > We may need that? When destroy VM, it's: >> > >> > kvm_destroy_vm() >> > foreach (bus) do kvm_io_bus_destroy() >> > kfree(bus) <--- [1] >> > kvm_arch_destroy_vm() >> > kvm_pic_destroy() >> > kvm_io_bus_unregister_dev() <--- [2] >> > >> >> Wouldn't the natural way be >> >> 1. kvm_arch_destroy_vm() >> 2. foreach (bus) do kvm_io_bus_destroy() >> kfree(bus) >> >> Then we wouldn't have to deal with suddenly removed buses. But maybe >> that order is of importance here ... > > I'll leave this question for Paolo/Radim, or anyone knows this better > than me. :-) I'd like if kvm_destroy_vm() looked like kvm_create_vm() in reverse and the current order is closer to that. I don't think there is dependency between those two and we can easily reverse them in kvm_create_vm(), so go ahead if you get better code out of it in kvm_arch_destroy_vm(). :)