unicorn/qemu/util
Vijay 5608b53b6f
target-arm: Use Neon for zero checking
Use Neon instructions to perform zero checking of
buffer. This is helps in reducing total migration time.

Use case: Idle VM live migration with 4 VCPUS and 8GB ram
running CentOS 7.

Without Neon, the Total migration time is 3.5 Sec

Migration status: completed
total time: 3560 milliseconds
downtime: 33 milliseconds
setup: 5 milliseconds
transferred ram: 297907 kbytes
throughput: 685.76 mbps
remaining ram: 0 kbytes
total ram: 8519872 kbytes
duplicate: 2062760 pages
skipped: 0 pages
normal: 69808 pages
normal bytes: 279232 kbytes
dirty sync count: 3

With Neon, the total migration time is 2.9 Sec

Migration status: completed
total time: 2960 milliseconds
downtime: 65 milliseconds
setup: 4 milliseconds
transferred ram: 299869 kbytes
throughput: 830.19 mbps
remaining ram: 0 kbytes
total ram: 8519872 kbytes
duplicate: 2064313 pages
skipped: 0 pages
normal: 70294 pages
normal bytes: 281176 kbytes
dirty sync count: 3

Backports commit 7069532e3b944c25707d4f69998e68a739eabff9 from qemu
2018-02-25 19:17:38 -05:00
..
bitmap.c util: Clean up includes 2018-02-19 01:27:55 -05:00
bitops.c util: Clean up includes 2018-02-19 01:27:55 -05:00
crc32c.c util: Clean up includes 2018-02-19 01:27:55 -05:00
cutils.c target-arm: Use Neon for zero checking 2018-02-25 19:17:38 -05:00
error.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
getauxval.c util: Clean up includes 2018-02-19 01:27:55 -05:00
host-utils.c util: Clean up includes 2018-02-19 01:27:55 -05:00
Makefile.objs range: Create range.c for code that should not be inline 2018-02-24 23:59:13 -05:00
mmap-alloc.c Use #include "..." for our own headers, <...> for others 2018-02-25 04:10:33 -05:00
module.c util: Clean up includes 2018-02-19 01:27:55 -05:00
oslib-posix.c Use #include "..." for our own headers, <...> for others 2018-02-25 04:10:33 -05:00
oslib-win32.c util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
qemu-error.c util: Clean up includes 2018-02-19 01:27:55 -05:00
qemu-thread-posix.c util: Clean up includes 2018-02-19 01:27:55 -05:00
qemu-thread-win32.c util: Clean up includes 2018-02-19 01:27:55 -05:00
qemu-timer-common.c util: Clean up includes 2018-02-19 01:27:55 -05:00
range.c range: Replace internal representation of Range 2018-02-25 00:44:36 -05:00