On 06/03/2015 02:09 PM, Aurelien Jarno wrote:
mvcp and mvcs helper get access to the physical memory by a call to
mmu_translate for the virtual to real conversion and then using ldb_phys
and stb_phys to physically access the data. In practice this is quite
slow because it bypasses the QEMU softmmu TLB and because stb_phys calls
try to invalidate the corresponding memory for each access.

Instead use cpu_ldb_{primary,secondary} for the loads and
cpu_stb_{primary,secondary} for the stores. Ideally this should be
further optimized by a call to memcpy, but that already improves the
boot time of a guest by a factor 1.8.

Cc: Alexander Graf<ag...@suse.de>
Cc: Richard Henderson<r...@twiddle.net>
Signed-off-by: Aurelien Jarno<aurel...@aurel32.net>
---
  target-s390x/mem_helper.c | 53 ++++++++++++++++++-----------------------------
  1 file changed, 20 insertions(+), 33 deletions(-)

Reviewed-by: Richard Henderson <r...@twiddle.net>


r~

Reply via email to