* HVM smp guest save/restore support
@ 2007-01-23 15:34 Zhai, Edwin
2007-01-23 15:49 ` Keir Fraser
0 siblings, 1 reply; 6+ messages in thread
From: Zhai, Edwin @ 2007-01-23 15:34 UTC (permalink / raw)
To: Keir; +Cc: Tim, xen-devel
Keir,
smp save/restore has been reverted in the changeset 13499:
*****************************************
--- a/xen/common/domain.c Fri Jan 19 11:58:52 2007 +0000
+++ b/xen/common/domain.c Fri Jan 19 12:03:51 2007 +0000
@@ -506,14 +506,6 @@ int set_info_guest(struct domain *d,
if ( rc == 0 )
rc = arch_set_info_guest(v, c);
- /*XXX: hvm smp guest restore support */
- if ( rc == 0 &&
- v->vcpu_id != 0 &&
- is_hvm_vcpu(v) &&
- test_and_clear_bit(_VCPUF_down, &v->vcpu_flags) ) {
- vcpu_wake(v);
- }
-
domain_unpause(d);
xfree(c.nat);
******************************************
this code wake up all the aps like hvm_bringup_ap, since no IPI for ap when
restore.
if it's slightly ugly, how about add a similar hypercall like xc_domain_resume?
thanks,
--
best rgds,
edwin
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: HVM smp guest save/restore support
2007-01-23 15:34 HVM smp guest save/restore support Zhai, Edwin
@ 2007-01-23 15:49 ` Keir Fraser
2007-01-24 13:30 ` Zhai, Edwin
0 siblings, 1 reply; 6+ messages in thread
From: Keir Fraser @ 2007-01-23 15:49 UTC (permalink / raw)
To: Zhai, Edwin; +Cc: Tim, xen-devel
On 23/1/07 15:34, "Zhai, Edwin" <edwin.zhai@intel.com> wrote:
> this code wake up all the aps like hvm_bringup_ap, since no IPI for ap when
> restore.
> if it's slightly ugly, how about add a similar hypercall like
> xc_domain_resume?
All hvm vcpu context restore should be done via the new hvm domctl, and the
wakeup of APs can be implemented there (rather than in common/ directory).
-- Keir
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: HVM smp guest save/restore support
2007-01-23 15:49 ` Keir Fraser
@ 2007-01-24 13:30 ` Zhai, Edwin
2007-01-24 18:32 ` Keir Fraser
0 siblings, 1 reply; 6+ messages in thread
From: Zhai, Edwin @ 2007-01-24 13:30 UTC (permalink / raw)
To: Keir Fraser; +Cc: Tim, xen-devel, Zhai, Edwin
[-- Attachment #1: Type: text/plain, Size: 287 bytes --]
On Tue, Jan 23, 2007 at 03:49:04PM +0000, Keir Fraser wrote:
> All hvm vcpu context restore should be done via the new hvm domctl, and the
> wakeup of APs can be implemented there (rather than in common/ directory).
how about this patch?
thanks,
>
> -- Keir
>
--
best rgds,
edwin
[-- Attachment #2: smp_fix_save_restore.patch --]
[-- Type: text/plain, Size: 538 bytes --]
diff -r bea505a69722 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c Tue Jan 23 15:58:05 2007 +0000
+++ b/xen/arch/x86/hvm/vmx/vmx.c Wed Jan 24 17:37:51 2007 +0800
@@ -659,6 +659,12 @@ int vmx_load_vmcs_ctxt(hvm_domain_contex
printk("vmx_vmcs restore failed!\n");
domain_crash(v->domain);
return -EINVAL;
+ }
+
+ /* wake up this vcpu for smp support */
+ if ( is_hvm_vcpu(v) &&
+ test_and_clear_bit(_VCPUF_down, &v->vcpu_flags) ) {
+ vcpu_wake(v);
}
return 0;
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Re: HVM smp guest save/restore support
2007-01-24 13:30 ` Zhai, Edwin
@ 2007-01-24 18:32 ` Keir Fraser
2007-01-25 3:30 ` Zhai, Edwin
0 siblings, 1 reply; 6+ messages in thread
From: Keir Fraser @ 2007-01-24 18:32 UTC (permalink / raw)
To: Zhai, Edwin; +Cc: xen-devel
On 24/1/07 13:30, "Zhai, Edwin" <edwin.zhai@intel.com> wrote:
>> All hvm vcpu context restore should be done via the new hvm domctl, and the
>> wakeup of APs can be implemented there (rather than in common/ directory).
>
> how about this patch?
> thanks,
This new piece of code is not VMX specific. Define an hvm_load_cpu_ctxt()
function which executes that new piece of code after calling the VMX/SVM
specific hook function. Also you shouldn't need to check if the vcpu is HVM,
as otherwise you wouldn't be in this function!
-- Keir
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Re: HVM smp guest save/restore support
2007-01-24 18:32 ` Keir Fraser
@ 2007-01-25 3:30 ` Zhai, Edwin
2007-01-25 12:29 ` Keir Fraser
0 siblings, 1 reply; 6+ messages in thread
From: Zhai, Edwin @ 2007-01-25 3:30 UTC (permalink / raw)
To: Keir Fraser; +Cc: xen-devel, Zhai, Edwin
[-- Attachment #1: Type: text/plain, Size: 700 bytes --]
thanks for your comments,
update it.
thanks,
On Wed, Jan 24, 2007 at 06:32:36PM +0000, Keir Fraser wrote:
> On 24/1/07 13:30, "Zhai, Edwin" <edwin.zhai@intel.com> wrote:
>
> >> All hvm vcpu context restore should be done via the new hvm domctl, and the
> >> wakeup of APs can be implemented there (rather than in common/ directory).
> >
> > how about this patch?
> > thanks,
>
> This new piece of code is not VMX specific. Define an hvm_load_cpu_ctxt()
> function which executes that new piece of code after calling the VMX/SVM
> specific hook function. Also you shouldn't need to check if the vcpu is HVM,
> as otherwise you wouldn't be in this function!
>
> -- Keir
>
--
best rgds,
edwin
[-- Attachment #2: smp_fix2.patch --]
[-- Type: text/plain, Size: 1015 bytes --]
diff -r bea505a69722 xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c Tue Jan 23 15:58:05 2007 +0000
+++ b/xen/arch/x86/hvm/hvm.c Thu Jan 25 10:29:18 2007 +0800
@@ -170,12 +170,27 @@ void hvm_domain_destroy(struct domain *d
unmap_domain_page_global((void *)d->arch.hvm_domain.buffered_io_va);
}
+int hvm_load_cpu_ctxt(hvm_domain_context_t *h, void *opaque, int version)
+{
+ struct vcpu *v = opaque;
+
+ if ( hvm_funcs.load_cpu_ctxt(h, opaque, version) < 0 )
+ return -EINVAL;
+
+ /* wake up this vcpu for smp support */
+ if ( test_and_clear_bit(_VCPUF_down, &v->vcpu_flags) ) {
+ vcpu_wake(v);
+ }
+
+ return 0;
+}
+
int hvm_vcpu_initialise(struct vcpu *v)
{
int rc;
hvm_register_savevm(v->domain, "xen_hvm_cpu", v->vcpu_id, 1,
- hvm_funcs.save_cpu_ctxt, hvm_funcs.load_cpu_ctxt,
+ hvm_funcs.save_cpu_ctxt, hvm_load_cpu_ctxt,
(void *)v);
if ( (rc = vlapic_init(v)) != 0 )
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Re: HVM smp guest save/restore support
2007-01-25 3:30 ` Zhai, Edwin
@ 2007-01-25 12:29 ` Keir Fraser
0 siblings, 0 replies; 6+ messages in thread
From: Keir Fraser @ 2007-01-25 12:29 UTC (permalink / raw)
To: Zhai, Edwin; +Cc: xen-devel
Applied, thanks.
On 25/1/07 03:30, "Zhai, Edwin" <edwin.zhai@intel.com> wrote:
> thanks for your comments,
> update it.
>
> thanks,
>
> On Wed, Jan 24, 2007 at 06:32:36PM +0000, Keir Fraser wrote:
>> On 24/1/07 13:30, "Zhai, Edwin" <edwin.zhai@intel.com> wrote:
>>
>>>> All hvm vcpu context restore should be done via the new hvm domctl, and the
>>>> wakeup of APs can be implemented there (rather than in common/ directory).
>>>
>>> how about this patch?
>>> thanks,
>>
>> This new piece of code is not VMX specific. Define an hvm_load_cpu_ctxt()
>> function which executes that new piece of code after calling the VMX/SVM
>> specific hook function. Also you shouldn't need to check if the vcpu is HVM,
>> as otherwise you wouldn't be in this function!
>>
>> -- Keir
>>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-01-25 12:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-23 15:34 HVM smp guest save/restore support Zhai, Edwin
2007-01-23 15:49 ` Keir Fraser
2007-01-24 13:30 ` Zhai, Edwin
2007-01-24 18:32 ` Keir Fraser
2007-01-25 3:30 ` Zhai, Edwin
2007-01-25 12:29 ` Keir Fraser
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.