From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: A simple question regarding hvm_context_save Date: Fri, 31 May 2013 11:55:19 +0100 Message-ID: <51A88197.1040706@citrix.com> References: <32587091.297611369997199444.JavaMail.weblogic@epv6ml06> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <32587091.297611369997199444.JavaMail.weblogic@epv6ml06> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: "jaeyong.yoo@samsung.com" Cc: "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org On 31/05/13 11:46, Jaeyong Yoo wrote: > Hello, > I'm reading live migration related code and got a simple question > in function hvm_context_save: > > static int hvm_save_cpu_ctxt(struct domain *d, hvm_domain_context_t *h) > { > blah... > /* We don't need to save state for a vcpu that is down; the restore > * code will leave it down if there is nothing saved. */ > if ( test_bit(_VPF_down, &v->pause_flags) ) > continue; > blah... > > In the above, if the vcpu is paused, we don't need to store cpu registers > (since vcpu structure already stored them). But, as far as I know, before > we save the hvm context, we suspend the domain, which calls shutdown > sched_op, and the vcpu is paused. _VPF_down is only one possible pause reason. See xen/include/xen/sched.h for all of them. In particular, _VPF_migrating is a different pause reason. If a VCPU is down, the guest is required to reinitialise it from scratch. This is why the state does not need saving. ~Andrew > Then, I guess testing pause_flags always returns down and we don't > need to store cpu ctxts. Do I miss something here? > > best, > Jaeyong > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel