[Qemu-devel] [RFC PATCH v1 2/2] target-arm: Use Neon for zero checking

2016-04-04 Thread vijayak
From: Vijay Use Neon instructions to perform zero checking of buffer. This is helps in reducing downtime during live migration. Signed-off-by: Vijaya Kumar K --- util/cutils.c | 81 + 1 file changed, 81 insertions(+) diff --git a/util/

[Qemu-devel] [RFC PATCH v1 1/2] target-arm: Update page size for aarch64

2016-04-04 Thread vijayak
From: Vijay Set target page size to minimum 4K for aarch64. This helps to reduce live migration downtime significantly. Signed-off-by: Vijaya Kumar K --- target-arm/cpu.h |7 +++ 1 file changed, 7 insertions(+) diff --git a/target-arm/cpu.h b/target-arm/cpu.h index 066ff67..2e4b48f 10

[Qemu-devel] [RFC PATCH v2 0/3] ARM64: Live migration optimization

2016-04-07 Thread vijayak
From: Vijaya Kumar K To optimize Live migration time on ARM64 machine following changes are made. - Neon instructions are used for Zero page checking. - Added prefetch for Thunderx platform With these changes, total migration time comes down from 10 seconds to 2.5 seconds. These patches are t

[Qemu-devel] [RFC PATCH v2 1/3] target-arm: Use Neon for zero checking

2016-04-07 Thread vijayak
From: Vijay Use Neon instructions to perform zero checking of buffer. This is helps in reducing downtime during live migration. Signed-off-by: Vijaya Kumar K Signed-off-by: Suresh --- util/cutils.c | 74 + 1 file changed, 74 insertions

[Qemu-devel] [RFC PATCH v2 2/3] utils: Add cpuinfo helper to fetch /proc/cpuinfo

2016-04-07 Thread vijayak
From: Vijaya Kumar K utils cannot read target cpu information to fetch cpu information to implement cpu specific features or erratas. For this parse /proc/cpuinfo and fetch cpu information. For now this helper only fetches cpu information for arm architectures. Signed-off-by: Vijaya Kumar K Si

[Qemu-devel] [RFC PATCH v1 2/4] exec.c: Remove static allocation of sub_section of sub_page

2016-06-13 Thread vijayak
From: Vijaya Kumar K Allocate sub_section dynamically. Remove dependency on TARGET_PAGE_SIZE to make run-time page size detection for arm platforms. Signed-off-by: Vijaya Kumar K --- exec.c |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/exec.c b/exec.c index a9d465

[Qemu-devel] [RFC PATCH v1 1/4] migration: Remove static allocation of xzblre cache buffer

2016-06-13 Thread vijayak
From: Vijaya Kumar K Allocate xzblre zero page cache buffer dynamically. Remove dependency on TARGET_PAGE_SIZE to make run-time page size detection for arm platforms. Signed-off-by: Vijaya Kumar K --- migration/ram.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mig

[Qemu-devel] [RFC PATCH v1 0/4] ARM/AARCH64: Runtime page size computation

2016-06-13 Thread vijayak
From: Vijaya Kumar K For AARCH64, minimum page size is 4K, for ARM32 bit platforms minimum page size is 1K. With this patch series, the page size is calculated at run-time based on cpu model emulated. Having higher/optimal page size, improves emulation and migration performance. Vijaya Kumar K

[Qemu-devel] [RFC PATCH v1 3/4] translate-all.c: Compute L1 page table properties at runtime

2016-06-13 Thread vijayak
From: Vijaya Kumar K Remove L1 page mapping table properties computing statically using macros which is dependent on TARGET_PAGE_BITS. Drop macros V_L1_SIZE, V_L1_SHIFT, V_L1_BITS macros and replace with variables which are computed at early stage of VM boot. Removing dependency can help to make

[Qemu-devel] [RFC PATCH v1 4/4] target-arm: Compute page size based on ARM target cpu type

2016-06-13 Thread vijayak
From: Vijaya Kumar K Replace TARGET_PAGE_BITS with arm_target_page_size function in order to fetch page size at run-time. Introduced MachineClass callback to compute target page size at the early boot before memory initialization. This callback is currently implemented for ARM platforms. Based o

[Qemu-devel] [PATCH v3 0/1] ARM64: Live migration optimization

2016-06-29 Thread vijayak
From: Vijaya Kumar K To optimize Live migration time on ARM64 machine, Neon instructions are used for Zero page checking. With these changes, total migration time comes down from 3.5 seconds to 2.9 seconds. These patches are tested on top of (GICv3 live migration support) https://lists.gnu.org/

[Qemu-devel] [PATCH v3 1/1] target-arm: Use Neon for zero checking

2016-06-29 Thread vijayak
From: Vijay 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 milli