From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH 6/10] Allow vcpu to pause self Date: Thu, 12 Jul 2007 08:44:56 +0100 Message-ID: References: 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.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Tian, Kevin" Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 12/7/07 06:05, "Tian, Kevin" wrote: >> But after a further thinking, based on the fact that enter_state will force >> a lazy context flush on all CPUs now, this interface can be abandoned >> then. >> > > Seems issue still existing. It's possible that force lazy context flush > in enter_state is done before dom0/vcpu0 enters context switch, > since softirq is sent out before pause. How to find a safe point where > we know that dom0/vcpu0 is definitely switched out? How about doing the whole suspend/resume in dom0/vcpu0 context? Why switch to a softirq at all? You can force dom0/vcpu0 onto cpu0 temporarily by wrapping the suspend/resume in a pair of calls to vcpu_set_affinity(). If your register save/restore across the low-level S3 entry/exit is comprehensive, then it should be fine to do it in dom0/vcpu0 context. -- Keir