List Info

Thread: pv_ops save/restore support




pv_ops save/restore support
user name
2008-06-10 03:24:16
This patch series introduce new ia64 save/restore format
to support pv_ops linux guest.

Currently Linux kernel makes vcpus offline except a boot
processor
(vcpu = 0) when saving so that only vcpu = 0 is made online
by the tools
stack when restoring. Then Linux kernel itself makes other
vcpus up.
On the other hand, pv_ops linux guest doesn't make vcpus
offline.
It uses stop_machine_run() keeping all vcpus online.
Thus all of vcpus context must be saved/restored and all
vcpus needs to be
made online by the tools stack. So there needs a way to make
vcpu online.
Add VGCF_online flag to the XEN_DOMCTL_setvcpucontext
hypercall
following the x86 way.

[PATCH 1/3] pv_ops save/restore xen part
            extend hypercall XEN_DOMCTL_setvcpucontext
[PATCH 2/3] pv_ops save/restore restore part
[PATCH 3/3] pv_ops save/restore save part

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devellists.xensource.com
http://list
s.xensource.com/xen-ia64-devel

Re: pv_ops save/restore support
user name
2008-06-10 03:33:19
FYI.
Currently pv_ops save/restore isn't working fully because
of
imcomplete itc paravirtualization.
I'm planning to address it after the first ia64/xen merge.

The following patch is the band-aid patch to show (a part
of)
the problems.


>From 5d2fab2c1c51ba412a6b736a7c16a24514f76842 Mon Sep 17
00:00:00 2001
From: Isaku Yamahata <yamahatavalinux.co.jp>
Date: Tue, 10 Jun 2008 11:22:47 +0900
Subject: [PATCH] ia64/xen: working around for save/restore

working around for save/restore.

Signed-off-by: Isaku Yamahata <yamahatavalinux.co.jp>
---
 arch/ia64/xen/time.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/ia64/xen/time.c b/arch/ia64/xen/time.c
index 81a61e8..fd6956a 100644
--- a/arch/ia64/xen/time.c
+++ b/arch/ia64/xen/time.c
 -183,6
+183,8  xen_timer_resume(void)
 
 	for_each_online_cpu(cpu)
 		xen_init_missing_ticks_accounting(cpu);
+
+	current->se.exec_start = sched_clock();
 }
 
 static void ia64_cpu_local_tick_fn(void *unused)
-- 
1.5.3



On Tue, Jun 10, 2008 at 05:24:16PM +0900, Isaku Yamahata
wrote:
> 
> This patch series introduce new ia64 save/restore
format
> to support pv_ops linux guest.
> 
> Currently Linux kernel makes vcpus offline except a
boot processor
> (vcpu = 0) when saving so that only vcpu = 0 is made
online by the tools
> stack when restoring. Then Linux kernel itself makes
other vcpus up.
> On the other hand, pv_ops linux guest doesn't make
vcpus offline.
> It uses stop_machine_run() keeping all vcpus online.
> Thus all of vcpus context must be saved/restored and
all vcpus needs to be
> made online by the tools stack. So there needs a way to
make vcpu online.
> Add VGCF_online flag to the XEN_DOMCTL_setvcpucontext
hypercall
> following the x86 way.
> 
> [PATCH 1/3] pv_ops save/restore xen part
>             extend hypercall XEN_DOMCTL_setvcpucontext
> [PATCH 2/3] pv_ops save/restore restore part
> [PATCH 3/3] pv_ops save/restore save part
> 
> _______________________________________________
> Xen-ia64-devel mailing list
> Xen-ia64-devellists.xensource.com
> http://list
s.xensource.com/xen-ia64-devel
> 

-- 
yamahata

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devellists.xensource.com
http://list
s.xensource.com/xen-ia64-devel

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )