|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-devel
RE: [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
 | 
 |  | 
  
    |  |  |