* [Qemu-devel] [PATCH] migration: do not transfer ram during bulk storage migration
@ 2018-02-20 15:10 Peter Lieven
2018-02-21 11:20 ` Stefan Hajnoczi
2018-02-24 3:40 ` no-reply
0 siblings, 2 replies; 3+ messages in thread
From: Peter Lieven @ 2018-02-20 15:10 UTC (permalink / raw)
To: qemu-devel, qemu-block
Cc: dgilbert, quintela, famz, stefanha, jjherne, Peter Lieven
this patch makes the bulk phase of a block migration to take
place before we start transferring ram. As the bulk block migration
can take a long time its pointless to transfer ram during that phase.
Signed-off-by: Peter Lieven <pl@kamp.de>
---
migration/ram.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/migration/ram.c b/migration/ram.c
index 5e33e5c..42468ee 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2258,6 +2258,13 @@ static int ram_save_iterate(QEMUFile *f, void *opaque)
int64_t t0;
int done = 0;
+ if (blk_mig_bulk_active()) {
+ /* Avoid transferring ram during bulk phase of block migration as
+ * the bulk phase will usually take a long time and transferring
+ * ram updates during that time is pointless. */
+ goto out;
+ }
+
rcu_read_lock();
if (ram_list.version != rs->last_version) {
ram_state_reset(rs);
@@ -2304,6 +2311,7 @@ static int ram_save_iterate(QEMUFile *f, void *opaque)
*/
ram_control_after_iterate(f, RAM_CONTROL_ROUND);
+out:
qemu_put_be64(f, RAM_SAVE_FLAG_EOS);
ram_counters.transferred += 8;
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] migration: do not transfer ram during bulk storage migration
2018-02-20 15:10 [Qemu-devel] [PATCH] migration: do not transfer ram during bulk storage migration Peter Lieven
@ 2018-02-21 11:20 ` Stefan Hajnoczi
2018-02-24 3:40 ` no-reply
1 sibling, 0 replies; 3+ messages in thread
From: Stefan Hajnoczi @ 2018-02-21 11:20 UTC (permalink / raw)
To: Peter Lieven; +Cc: qemu-devel, qemu-block, dgilbert, quintela, famz, jjherne
[-- Attachment #1: Type: text/plain, Size: 476 bytes --]
On Tue, Feb 20, 2018 at 04:10:03PM +0100, Peter Lieven wrote:
> this patch makes the bulk phase of a block migration to take
> place before we start transferring ram. As the bulk block migration
> can take a long time its pointless to transfer ram during that phase.
>
> Signed-off-by: Peter Lieven <pl@kamp.de>
> ---
> migration/ram.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
This makes sense to me:
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] migration: do not transfer ram during bulk storage migration
2018-02-20 15:10 [Qemu-devel] [PATCH] migration: do not transfer ram during bulk storage migration Peter Lieven
2018-02-21 11:20 ` Stefan Hajnoczi
@ 2018-02-24 3:40 ` no-reply
1 sibling, 0 replies; 3+ messages in thread
From: no-reply @ 2018-02-24 3:40 UTC (permalink / raw)
To: pl; +Cc: famz, qemu-devel, qemu-block
Hi,
This series failed docker-build@min-glib build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
Type: series
Message-id: 1519139403-2646-1-git-send-email-pl@kamp.de
Subject: [Qemu-devel] [PATCH] migration: do not transfer ram during bulk storage migration
=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-build@min-glib
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
205e3e78d2..0a773d55ac master -> master
t [tag update] patchew/1519241752-28083-1-git-send-email-walling@linux.vnet.ibm.com -> patchew/1519241752-28083-1-git-send-email-walling@linux.vnet.ibm.com
t [tag update] patchew/1519344729-73482-1-git-send-email-mjc@sifive.com -> patchew/1519344729-73482-1-git-send-email-mjc@sifive.com
* [new tag] patchew/1519390265-15576-1-git-send-email-imbrenda@linux.vnet.ibm.com -> patchew/1519390265-15576-1-git-send-email-imbrenda@linux.vnet.ibm.com
* [new tag] patchew/1519400599-21081-1-git-send-email-walling@linux.vnet.ibm.com -> patchew/1519400599-21081-1-git-send-email-walling@linux.vnet.ibm.com
* [new tag] patchew/1519407778-23095-1-git-send-email-imbrenda@linux.vnet.ibm.com -> patchew/1519407778-23095-1-git-send-email-imbrenda@linux.vnet.ibm.com
* [new tag] patchew/1519421985-18185-1-git-send-email-stefanb@linux.vnet.ibm.com -> patchew/1519421985-18185-1-git-send-email-stefanb@linux.vnet.ibm.com
* [new tag] patchew/1519439425-27883-1-git-send-email-babu.moger@amd.com -> patchew/1519439425-27883-1-git-send-email-babu.moger@amd.com
t [tag update] patchew/20171228180814.9749-1-lukeshu@lukeshu.com -> patchew/20171228180814.9749-1-lukeshu@lukeshu.com
t [tag update] patchew/20180213202701.15858-1-eblake@redhat.com -> patchew/20180213202701.15858-1-eblake@redhat.com
t [tag update] patchew/20180214204915.7980-1-mreitz@redhat.com -> patchew/20180214204915.7980-1-mreitz@redhat.com
t [tag update] patchew/20180215212552.26997-1-marcandre.lureau@redhat.com -> patchew/20180215212552.26997-1-marcandre.lureau@redhat.com
* [new tag] patchew/20180223095406.18251-1-cohuck@redhat.com -> patchew/20180223095406.18251-1-cohuck@redhat.com
* [new tag] patchew/20180223112933.4135-1-mark.cave-ayland@ilande.co.uk -> patchew/20180223112933.4135-1-mark.cave-ayland@ilande.co.uk
* [new tag] patchew/20180223125047.343-1-berto@igalia.com -> patchew/20180223125047.343-1-berto@igalia.com
* [new tag] patchew/20180223145959.18761-1-laurent@vivier.eu -> patchew/20180223145959.18761-1-laurent@vivier.eu
* [new tag] patchew/20180223150201.2960-1-thomas.tai@oracle.com -> patchew/20180223150201.2960-1-thomas.tai@oracle.com
* [new tag] patchew/20180223152640.11459-1-pbonzini@redhat.com -> patchew/20180223152640.11459-1-pbonzini@redhat.com
* [new tag] patchew/20180223153636.29809-1-alex.bennee@linaro.org -> patchew/20180223153636.29809-1-alex.bennee@linaro.org
* [new tag] patchew/20180223161226.11640-1-richard.henderson@linaro.org -> patchew/20180223161226.11640-1-richard.henderson@linaro.org
* [new tag] patchew/20180223164829.29683-1-bsd@redhat.com -> patchew/20180223164829.29683-1-bsd@redhat.com
* [new tag] patchew/20180223173657.29125-1-david@redhat.com -> patchew/20180223173657.29125-1-david@redhat.com
* [new tag] patchew/20180223184700.28854-1-mark.cave-ayland@ilande.co.uk -> patchew/20180223184700.28854-1-mark.cave-ayland@ilande.co.uk
* [new tag] patchew/20180223215858.16987-1-wei@redhat.com -> patchew/20180223215858.16987-1-wei@redhat.com
* [new tag] patchew/20180223232233.31482-1-frasse.iglesias@gmail.com -> patchew/20180223232233.31482-1-frasse.iglesias@gmail.com
* [new tag] patchew/20180223235142.21501-1-jsnow@redhat.com -> patchew/20180223235142.21501-1-jsnow@redhat.com
* [new tag] patchew/alpine.LSU.2.21.1802231729040.10187@wotan.suse.de -> patchew/alpine.LSU.2.21.1802231729040.10187@wotan.suse.de
Switched to a new branch 'test'
83862115e8 migration: do not transfer ram during bulk storage migration
=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-b2bnyei8/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
BUILD min-glib
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-b2bnyei8/src'
GEN /var/tmp/patchew-tester-tmp-b2bnyei8/src/docker-src.2018-02-23-22.39.25.21756/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-b2bnyei8/src/docker-src.2018-02-23-22.39.25.21756/qemu.tar.vroot'...
done.
Checking out files: 40% (2376/5855)
Checking out files: 41% (2401/5855)
Checking out files: 42% (2460/5855)
Checking out files: 43% (2518/5855)
Checking out files: 44% (2577/5855)
Checking out files: 45% (2635/5855)
Checking out files: 46% (2694/5855)
Checking out files: 47% (2752/5855)
Checking out files: 48% (2811/5855)
Checking out files: 49% (2869/5855)
Checking out files: 49% (2901/5855)
Checking out files: 50% (2928/5855)
Checking out files: 51% (2987/5855)
Checking out files: 52% (3045/5855)
Checking out files: 53% (3104/5855)
Checking out files: 53% (3123/5855)
Checking out files: 54% (3162/5855)
Checking out files: 54% (3182/5855)
Checking out files: 55% (3221/5855)
Checking out files: 56% (3279/5855)
Checking out files: 56% (3328/5855)
Checking out files: 57% (3338/5855)
Checking out files: 58% (3396/5855)
Checking out files: 59% (3455/5855)
Checking out files: 60% (3513/5855)
Checking out files: 61% (3572/5855)
Checking out files: 62% (3631/5855)
Checking out files: 63% (3689/5855)
Checking out files: 64% (3748/5855)
Checking out files: 65% (3806/5855)
Checking out files: 66% (3865/5855)
Checking out files: 67% (3923/5855)
Checking out files: 68% (3982/5855)
Checking out files: 69% (4040/5855)
Checking out files: 70% (4099/5855)
Checking out files: 71% (4158/5855)
Checking out files: 72% (4216/5855)
Checking out files: 73% (4275/5855)
Checking out files: 74% (4333/5855)
Checking out files: 75% (4392/5855)
Checking out files: 76% (4450/5855)
Checking out files: 77% (4509/5855)
Checking out files: 78% (4567/5855)
Checking out files: 79% (4626/5855)
Checking out files: 80% (4684/5855)
Checking out files: 81% (4743/5855)
Checking out files: 82% (4802/5855)
Checking out files: 83% (4860/5855)
Checking out files: 84% (4919/5855)
Checking out files: 84% (4932/5855)
Checking out files: 85% (4977/5855)
Checking out files: 86% (5036/5855)
Checking out files: 87% (5094/5855)
Checking out files: 88% (5153/5855)
Checking out files: 89% (5211/5855)
Checking out files: 90% (5270/5855)
Checking out files: 91% (5329/5855)
Checking out files: 92% (5387/5855)
Checking out files: 93% (5446/5855)
Checking out files: 94% (5504/5855)
Checking out files: 95% (5563/5855)
Checking out files: 96% (5621/5855)
Checking out files: 97% (5680/5855)
Checking out files: 98% (5738/5855)
Checking out files: 99% (5797/5855)
Checking out files: 100% (5855/5855)
Checking out files: 100% (5855/5855), done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-b2bnyei8/src/docker-src.2018-02-23-22.39.25.21756/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into '/var/tmp/patchew-tester-tmp-b2bnyei8/src/docker-src.2018-02-23-22.39.25.21756/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
COPY RUNNER
RUN test-build in qemu:min-glib
Environment variables:
HOSTNAME=4e27a71bcc27
MAKEFLAGS= -j8
J=8
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
FEATURES= dtc
DEBUG=
_=/usr/bin/env
Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install
Traceback (most recent call last):
File "./tests/docker/docker.py", line 407, in <module>
sys.exit(main())
File "./tests/docker/docker.py", line 404, in main
return args.cmdobj.run(args, argv)
File "./tests/docker/docker.py", line 261, in run
return Docker().run(argv, args.keep, quiet=args.quiet)
File "./tests/docker/docker.py", line 229, in run
quiet=quiet)
File "./tests/docker/docker.py", line 147, in _do_check
return subprocess.check_call(self._command + cmd, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=5aa38682191411e89c0452540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-b2bnyei8/src/docker-src.2018-02-23-22.39.25.21756:/var/tmp/qemu:z,ro', 'qemu:min-glib', '/var/tmp/qemu/run', 'test-build']' returned non-zero exit status 137
make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-b2bnyei8/src'
make: *** [tests/docker/Makefile.include:163: docker-run-test-build@min-glib] Error 2
real 0m54.460s
user 0m5.095s
sys 0m7.751s
=== OUTPUT END ===
Test command exited with code: 2
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-02-24 11:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-20 15:10 [Qemu-devel] [PATCH] migration: do not transfer ram during bulk storage migration Peter Lieven
2018-02-21 11:20 ` Stefan Hajnoczi
2018-02-24 3:40 ` no-reply
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).