From: Jaeyong Yoo <jaeyong.yoo@samsung.com>
To: xen-devel@lists.xen.org
Cc: Jaeyong Yoo <jaeyong.yoo@samsung.com>
Subject: [PATCH v3 00/10] xen/arm: live migration support in arndale board
Date: Thu, 01 Aug 2013 21:57:43 +0900 [thread overview]
Message-ID: <1375361873-32145-1-git-send-email-jaeyong.yoo@samsung.com> (raw)
Hi all,
here goes the v3 patch series for live migration in arndale board.
This version applies the comments from v2 patch series, which are majorly:
1) just use one timer struct for storing vtimer and ptimer
for hvm context: patch 1
2) for dirty page tracing, use virtual-linear page table for accessing
guest p2m in xen: patch 6, 7, and 9
3) Rather than using hard-coded guest memory map in xen, use the one from
toolstack by implementing set/get_memory_map hypercall: patch 3 and 10
This patch series does not support SMP guest migration. We are expecting
to provide SMP-guests live migration in version 4 patch series.
We also have tested the stability of v3 patch series as follows:
- setup two arndale boards with xen (let's say A and B)
- launch 3 domUs at A
- simulataneously migrate 3 domUs from A to B back and forth.
- we say one round of migration if all 3 domUs migrate
from A to B and migrate back from B to A.
When we perform the above tests without any load on domUs, the migration
goes to 80~100 rounds. After that, dom0 suddenly stops responding. When we
perform with network load (iperf on each domU), the migration goes to 2~3
rounds and dom0 stops responding.
After several repeated tests, we gather the PCs where dom0 stucks, and those are
- _raw_spin_lock: (called by try_to_wake_up)
- panic_smp_self_stop
- cpu_v7_dcache_clean_area
I think those bugs are somehow related to live migration or maybe other parts
that may result in complicated cause-and-effect chain to live migration. In any
case, I would like to look into the detail to figure out the cause and possibly
fix the bugs.
In the meanwhile, I would appreciate your comments to this patch series :)
Best,
Jaeyong
lexey Sokolov, Elena Pyatunina, Evgeny Fedotov, and Nikolay Martyanov (1):
xen/arm: Implement toolstack for xl restore/save and migrate
Alexey Sokolov (1):
xen/arm: Implement modify_returncode
Evgeny Fedotov (2):
xen/arm: Implement set_memory_map hypercall
xen/arm: Implement get_maximum_gpfn hypercall for arm
Jaeyong Yoo and Evgeny Fedotov (1):
xen/arm: Implement hvm save and restore
Jaeyong Yoo and Alexey Sokolov (1):
xen/arm: Add more registers for saving and restoring vcpu registers
Jaeyong Yoo and Elena Pyatunina (2)
xen/arm: Add handling write fault for dirty-page tracing
xen/arm: Implement hypercall for dirty page tracing (shadow op)
Jaeyong Yoo (2):
xen/arm: Implement virtual-linear page table for guest p2m
mapping in live migration
xen/arm: Fixing clear_guest_offset macro
config/arm32.mk | 1 +
tools/include/xen-foreign/reference.size | 2 +-
tools/libxc/Makefile | 5 +
tools/libxc/xc_arm_migrate.c | 686 +++++++++++++++++++++++++++++++
tools/libxc/xc_dom_arm.c | 12 +-
tools/libxc/xc_domain.c | 44 ++
tools/libxc/xc_resume.c | 25 ++
tools/libxc/xenctrl.h | 23 ++
tools/misc/Makefile | 4 +
xen/arch/arm/Makefile | 2 +
xen/arch/arm/domain.c | 44 ++
xen/arch/arm/domctl.c | 137 +++++-
xen/arch/arm/hvm.c | 124 ++++++
xen/arch/arm/mm.c | 284 ++++++++++++-
xen/arch/arm/p2m.c | 307 ++++++++++++++
xen/arch/arm/save.c | 66 +++
xen/arch/arm/setup.c | 3 +
xen/arch/arm/traps.c | 16 +-
xen/arch/arm/vlpt.c | 162 ++++++++
xen/common/Makefile | 2 +
xen/include/asm-arm/config.h | 3 +
xen/include/asm-arm/domain.h | 13 +
xen/include/asm-arm/guest_access.h | 5 +-
xen/include/asm-arm/hvm/support.h | 29 ++
xen/include/asm-arm/mm.h | 7 +
xen/include/asm-arm/p2m.h | 4 +
xen/include/asm-arm/processor.h | 2 +
xen/include/asm-arm/vlpt.h | 10 +
xen/include/public/arch-arm.h | 35 ++
xen/include/public/arch-arm/hvm/save.h | 41 ++
xen/include/public/memory.h | 15 +-
xen/include/xsm/dummy.h | 5 +
xen/include/xsm/xsm.h | 5 +
33 files changed, 2113 insertions(+), 10 deletions(-)
create mode 100644 tools/libxc/xc_arm_migrate.c
create mode 100644 xen/arch/arm/save.c
create mode 100644 xen/arch/arm/vlpt.c
create mode 100644 xen/include/asm-arm/hvm/support.h
create mode 100644 xen/include/asm-arm/vlpt.h
--
1.8.1.2
next reply other threads:[~2013-08-01 12:57 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-01 12:57 Jaeyong Yoo [this message]
2013-08-01 12:57 ` [PATCH v3 01/10] xen/arm: Implement hvm save and restore Jaeyong Yoo
2013-08-01 12:57 ` [PATCH v3 02/10] xen/arm: Add more registers for saving and restoring vcpu registers Jaeyong Yoo
2013-08-01 12:57 ` [PATCH v3 03/10] xen/arm: Implement set_memory_map hypercall Jaeyong Yoo
2013-08-01 12:57 ` [PATCH v3 04/10] xen/arm: Implement get_maximum_gpfn hypercall for arm Jaeyong Yoo
2013-08-01 12:57 ` [PATCH v3 05/10] xen/arm: Implement modify_returncode Jaeyong Yoo
2013-08-01 12:57 ` [PATCH v3 06/10] xen/arm: Implement virtual-linear page table for guest p2m mapping in live migration Jaeyong Yoo
2013-08-01 12:57 ` [PATCH v3 07/10] xen/arm: Add handling write fault for dirty-page tracing Jaeyong Yoo
2013-08-04 16:27 ` Stefano Stabellini
2013-08-05 0:23 ` Jaeyong Yoo
2013-08-05 11:11 ` Stefano Stabellini
2013-08-05 11:39 ` Jaeyong Yoo
2013-08-05 13:49 ` Stefano Stabellini
2013-08-05 13:52 ` Ian Campbell
2013-08-06 11:56 ` Jaeyong Yoo
2013-08-06 13:17 ` Ian Campbell
2013-08-07 1:24 ` Jaeyong Yoo
2013-08-15 4:24 ` Jaeyong Yoo
2013-08-17 22:16 ` Ian Campbell
2013-08-17 22:21 ` Ian Campbell
2013-08-20 10:15 ` Jaeyong Yoo
2013-08-18 6:39 ` Ian Campbell
2013-08-20 10:19 ` Jaeyong Yoo
2013-08-17 23:51 ` Julien Grall
2013-08-20 10:16 ` Jaeyong Yoo
2013-08-01 12:57 ` [PATCH v3 08/10] xen/arm: Fixing clear_guest_offset macro Jaeyong Yoo
2013-08-01 12:57 ` [PATCH v3 09/10] xen/arm: Implement hypercall for dirty page tracing (shadow op) Jaeyong Yoo
2013-08-01 12:57 ` [PATCH v3 10/10] xen/arm: Implement toolstack for xl restore/save and migrate Jaeyong Yoo
2013-09-25 15:59 ` [PATCH v3 00/10] xen/arm: live migration support in arndale board Ian Campbell
2013-09-26 6:23 ` Jaeyong Yoo
2013-09-26 15:13 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1375361873-32145-1-git-send-email-jaeyong.yoo@samsung.com \
--to=jaeyong.yoo@samsung.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).