xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
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

             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).