Received: from eggs.gnu.org ([2001:4830:134:3::10]:43593) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zr4qv-00008C-GV for qemu-devel@nongnu.org; Tue, 27 Oct 2015 10:04:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zr4qq-0005yY-Db for qemu-devel@nongnu.org; Tue, 27 Oct 2015 10:03:53 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:34189) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zr4qq-0005yR-77 for qemu-devel@nongnu.org; Tue, 27 Oct 2015 10:03:48 -0400 Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NWV00L1MTQ8FU40@mailout2.w1.samsung.com> for qemu-devel@nongnu.org; Tue, 27 Oct 2015 14:03:44 +0000 (GMT) From: Pavel Fedin References: <012c01d110a6$cd61cf90$68256eb0$@samsung.com> <87k2q8e8d4.fsf@neno.neno> In-reply-to: <87k2q8e8d4.fsf@neno.neno> Date: Tue, 27 Oct 2015 17:03:42 +0300 Message-id: <002b01d110c0$4a5c8e40$df15aac0$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit Content-language: ru Subject: Re: [Qemu-devel] [PATCH] migration: Introduce migration_in_completion() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: quintela@redhat.com Cc: 'Amit Shah' , qemu-devel@nongnu.org, 'Luiz Capitulino' Hello! > Applied, thanks. Thank you. > I wonder who it has never been needed before. BTW, what is ITS? ITS is Interrupt Translation Service. It is used by ARM64 architecture. In a short, it is a special hardware which performs table-based lookup of MSI IDs and their destination CPUs, and routes them. There can be lots of CPUs and lots of interrupts, so these tables are large and are held in a system RAM. qemu implementation of this thing needs to be able to flush its internal cached state into memory for live migration. This has to be done during final stage, right after CPUs have been stopped, because right after this point migration code will recheck RAM status and send out modified data for the last time. The implementation itself has to wait, because the necessary KVM API is also not ready yet, but i prefer to upstream as much of the infrastructure as possible, because: a) we want to reduce amount of out-of-tree patches for our project; b) these things affect qemu core code, and upstreaming them makes sure that we do it right, and our out-of-tree code will not diverge from the upstream too much. Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia