From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH RFC LINUX v1] xen: arm: enable migration on ARM. Date: Thu, 7 Jan 2016 09:47:23 +0000 Message-ID: <1452160043.21055.139.camel@citrix.com> References: <1449671507.16124.264.camel@citrix.com> <1449671617-26379-1-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: julien.grall@citrix.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Wed, 2016-01-06 at 17:57 +0000, Stefano Stabellini wrote: > On Wed, 6 Jan 2016, Stefano Stabellini wrote: > > Please CC linux-arm for the non-RFC patches > > > > On Wed, 9 Dec 2015, Ian Campbell wrote: > > > Replace various stub functions with real functionality, including > > > reestablishing the shared info page and the per-vcpu info pages on > > > restore. > > > > > > Reestablishing the vcpu info page is a little subtle. The > > > VCPUOP_register_vcpu_info hypercall can only be called on either the > > > current VCPU or on an offline different VCPU. Since migration occurs > > > with all VCPUS online they are all therefore online at the point of > > > resume. > > > > > > Therefore we must perform a cross VCPU call to each non-boot VCPU, > > > which cannot be done in the xen_arch_post_suspend() callback since > > > that is run from stop_machine() with interrupts disabled. > > > > > > Furthermore VCPUOP_register_vcpu_info can only be called once per- > > > VCPU > > > in a given domain, so it must not be called after a cancelled suspend > > > (which resumes in the same domain). > > > > > > Therefore xen_arch_resume() gains a suspend_cancelled parameter and > > > we > > > resume the secondary VCPUs there only if needed. > > > > This is a bit complex, maybe we could use a cpu notifier like we do on > > x86? > > Sorry forget this email, it was sent by mistake. Too late, you may ignore my reply though ;-)