[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH 6/10] Allow vcpu to pause self


  • To: "Keir Fraser" <keir@xxxxxxxxxxxxx>
  • From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
  • Date: Thu, 12 Jul 2007 16:23:21 +0800
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Thu, 12 Jul 2007 01:21:28 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Ace4wFEyWBrDMwUBRbudwW+SC7WIGwLHO6q6ABLR0tAABjWo8AAFyyMWAACQPssAAEOGMA==
  • Thread-topic: [Xen-devel] [PATCH 6/10] Allow vcpu to pause self

>From: Keir Fraser [mailto:keir@xxxxxxxxxxxxx]
>Sent: 2007年7月12日 16:01
>
>On 12/7/07 08:44, "Keir Fraser" <keir@xxxxxxxxxxxxx> wrote:
>
>> 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().
>
>You may need to temporarily rewrite ->schedule_tail as well, to regain
>control after the scheduling softirq.
>
> -- Keir

Yes, schedule_tail has to be overridden with a special stub to continue 
with previous suspend flow. Maybe we can make it generic, for example, 
to create a new vcpu_migrate_and_continue, which basically:
        - save continue point to vcpu structure
        - override schedule_tail with a helper function
        - switch out
Then that helper function jumps to continue point on new processor. At
finish, reset stack and recover schedule_tail.

Is it sounds like the way?

Thanks,
Kevin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.