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