Re: [Qemu-devel] [PATCH v4 qemu 0/6] Fast (de)inflating & fast live migration

2017-01-11 Thread no-reply
Hi,

Your series failed automatic 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: 1484124524-481-1-git-send-email-liang.z...@intel.com
Subject: [Qemu-devel] [PATCH v4 qemu 0/6] Fast (de)inflating & fast live 
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=16
make docker-test-quick@centos6
make docker-test-mingw@fedora
make docker-test-build@min-glib
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
7e2ce67 migration: skip unused pages during live migration
687ca7e kvm.c: Add two new arch specific functions
b2682d9 bitmap: Add a new bitmap_move function
3983f00 balloon: get unused page info from guest
df86151 virtio-balloon: speed up inflating & deflating process
1a58699 virtio-balloon: update linux head file

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into 'dtc'...
Submodule path 'dtc': checked out '65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf'
  BUILD   centos6
make[1]: Entering directory `/var/tmp/patchew-tester-tmp-rci9ithc/src'
  ARCHIVE qemu.tgz
  ARCHIVE dtc.tgz
  COPYRUNNER
RUN test-quick in qemu:centos6 
Packages installed:
SDL-devel-1.2.14-7.el6_7.1.x86_64
ccache-3.1.6-2.el6.x86_64
epel-release-6-8.noarch
gcc-4.4.7-17.el6.x86_64
git-1.7.1-4.el6_7.1.x86_64
glib2-devel-2.28.8-5.el6.x86_64
libfdt-devel-1.4.0-1.el6.x86_64
make-3.81-23.el6.x86_64
package g++ is not installed
pixman-devel-0.32.8-1.el6.x86_64
tar-1.23-15.el6_8.x86_64
zlib-devel-1.2.3-29.el6.x86_64

Environment variables:
PACKAGES=libfdt-devel ccache tar git make gcc g++ zlib-devel 
glib2-devel SDL-devel pixman-devel epel-release
HOSTNAME=895a50ddab01
TERM=xterm
MAKEFLAGS= -j16
HISTSIZE=1000
J=16
USER=root
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
MAIL=/var/spool/mail/root
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LANG=en_US.UTF-8
TARGET_LIST=
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
LOGNAME=root
LESSOPEN=||/usr/bin/lesspipe.sh %s
FEATURES= dtc
DEBUG=
G_BROKEN_FILENAMES=1
CCACHE_HASHDIR=
_=/usr/bin/env

Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu 
--prefix=/var/tmp/qemu-build/install
No C++ compiler available; disabling C++ specific optional code
Install prefix/var/tmp/qemu-build/install
BIOS directory/var/tmp/qemu-build/install/share/qemu
binary directory  /var/tmp/qemu-build/install/bin
library directory /var/tmp/qemu-build/install/lib
module directory  /var/tmp/qemu-build/install/lib/qemu
libexec directory /var/tmp/qemu-build/install/libexec
include directory /var/tmp/qemu-build/install/include
config directory  /var/tmp/qemu-build/install/etc
local state directory   /var/tmp/qemu-build/install/var
Manual directory  /var/tmp/qemu-build/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path   /tmp/qemu-test/src
C compilercc
Host C compiler   cc
C++ compiler  
Objective-C compiler cc
ARFLAGS   rv
CFLAGS-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS   -I/usr/include/pixman-1-pthread -I/usr/include/glib-2.0 
-I/usr/lib64/glib-2.0/include   -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes 
-Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes 
-fno-strict-aliasing -fno-common -fwrapv  -Wendif-labels -Wmissing-include-dirs 
-Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self 
-Wignored-qualifiers -Wold-style-declaration -Wold-style-definition 
-Wtype-limits -fstack-protector-all
LDFLAGS   -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g 
make  make
install   install
pythonpython -B
smbd  /usr/sbin/smbd
module supportno
host CPU  x86_64
host big endian   no
target list   x86_64-softmmu aarch64-softmmu
tcg debug enabled no
gprof enabled no
sparse enabledno
strip binariesyes
profiler  no
static build  no
pixmansystem
SDL support   yes (1.2.14)
GTK support   no 
GTK GL supportno
VTE support   no 
TLS priority  NORMAL
GNUTLS supportno
GNUTLS rndno
libgcrypt no
libgcrypt kdf no
nettleno 
nettle kdfno
libtasn1  no
curses supportno
virgl support no
curl support  no
mingw32 support   no
Audio drivers oss
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS supportno
VNC support   yes
VNC SASL support  no
VNC JPEG support  no
VNC PNG support   no
xen support   no
brlapi supportno
bluez  supportno
Docum

Re: [Qemu-devel] [PATCH v4 qemu 0/6] Fast (de)inflating & fast live migration

2017-01-11 Thread no-reply
Hi,

Your series seems to have some coding style problems. See output below for
more information:

Message-id: 1484124524-481-1-git-send-email-liang.z...@intel.com
Subject: [Qemu-devel] [PATCH v4 qemu 0/6] Fast (de)inflating & fast live 
migration
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

# Useful git options
git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
failed=1
echo
fi
n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag] 
patchew/1484124524-481-1-git-send-email-liang.z...@intel.com -> 
patchew/1484124524-481-1-git-send-email-liang.z...@intel.com
Switched to a new branch 'test'
7e2ce67 migration: skip unused pages during live migration
687ca7e kvm.c: Add two new arch specific functions
b2682d9 bitmap: Add a new bitmap_move function
3983f00 balloon: get unused page info from guest
df86151 virtio-balloon: speed up inflating & deflating process
1a58699 virtio-balloon: update linux head file

=== OUTPUT BEGIN ===
Checking PATCH 1/6: virtio-balloon: update linux head file...
Checking PATCH 2/6: virtio-balloon: speed up inflating & deflating process...
Checking PATCH 3/6: balloon: get unused page info from guest...
ERROR: suspect code indent for conditional statements (12, 17)
#147: FILE: hw/virtio/virtio-balloon.c:430:
+if (s->bmap_len < hdr.data_len) {
+ hdr.data_len = s->bmap_len;

total: 1 errors, 0 warnings, 344 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 4/6: bitmap: Add a new bitmap_move function...
Checking PATCH 5/6: kvm.c: Add two new arch specific functions...
Checking PATCH 6/6: migration: skip unused pages during live migration...
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-de...@freelists.org

[Qemu-devel] [PATCH v4 qemu 0/6] Fast (de)inflating & fast live migration

2017-01-11 Thread Liang Li
This patch set intends to do two optimizations, one is to speed up
the (de)inflating process of virtio balloon, and another one which
is to speed up the live migration process. We put them together
because both of them are required to change the virtio balloon spec.
 
The main idea of speeding up the (de)inflating process is to use
{pfn|length} to send the page information to host instead of the PFNs,
to reduce the overhead of virtio data transmission, address translation
and madvise(). This can help to improve the performance by about 85%.
 
The idea of speeding up live migration is to skip process guest's
unused pages in the first round of data copy, to reduce needless
data processing, this can help to save quite a lot of CPU cycles and
network bandwidth. We get guest's unused page information through the
virt queue of virtio-balloon, and filter out these unused pages during
live migration. For an idle 8GB guest, this can help to shorten the
total live migration time from 2Sec to about 500ms in the 10Gbps
network environment.
 
Changes from v3 to v4:
* Update kernel head file because of ABI change 
* Change the code to get the page information

Changes from v2 to v3:
* Merged two patches for kernel head file updating into one 
* Removed one patch which was unrelated with this feature 
* Removed the patch to migrate the vq elem, use a new way instead

Changes from v1 to v2:
* Abandon the patch for dropping page cache.
* Get a struct from vq instead of separate variables.
* Use two separate APIs to request free pages and query the status.
* Changed the virtio balloon interface.
* Addressed some of the comments of v1.

Liang Li (6):
  virtio-balloon: update linux head file
  virtio-balloon: speed up inflating & deflating process
  balloon: get unused page info from guest
  bitmap: Add a new bitmap_move function
  kvm.c: Add two new arch specific functions
  migration: skip unused pages during live migration

 balloon.c   |  47 +++-
 hw/virtio/virtio-balloon.c  | 291 +---
 include/hw/virtio/virtio-balloon.h  |  18 +-
 include/qemu/bitmap.h   |  13 ++
 include/standard-headers/linux/virtio_balloon.h |  34 +++
 include/sysemu/balloon.h|  18 +-
 include/sysemu/kvm.h|  18 ++
 migration/ram.c |  86 ++-
 target/arm/kvm.c|  14 ++
 target/i386/kvm.c   |  37 +++
 target/mips/kvm.c   |  14 ++
 target/ppc/kvm.c|  14 ++
 target/s390x/kvm.c  |  14 ++
 13 files changed, 587 insertions(+), 31 deletions(-)

-- 
1.9.1