[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/4] target/arm: Reduce overhead of cpu_get_tb_c
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH 0/4] target/arm: Reduce overhead of cpu_get_tb_cpu_state |
Date: |
Thu, 14 Feb 2019 11:05:26 +0000 |
User-agent: |
mu4e 1.1.0; emacs 26.1 |
Richard Henderson <address@hidden> writes:
> We've talked about this before, caching state to reduce the
> amount of computation that happens looking up each TB.
>
> I know that Peter has been concerned that we would not be able to
> reliably maintain all of the places that need to be updates to
> keep this up-to-date.
>
> Well, modulo dirty tricks within linux-user, it appears as if
> exception delivery and return, plus after every TB-ending write
> to a system register is sufficient.
>
> There seems to be a noticable improvement, although wall-time
> is harder to come by -- all of my system-level measurements
> include user input, and my user-level measurements seem to be
> too small to matter.
I'll run some of my benchmarks on it but I'm almost certain it will help
as it is one of the highest hits on "perf top" when running a loaded
guest.
>
>
> r~
>
>
> Richard Henderson (4):
> target/arm: Split out recompute_hflags et al
> target/arm: Rebuild hflags at el changes and MSR writes
> target/arm: Assert hflags is correct in cpu_get_tb_cpu_state
> target/arm: Rely on hflags correct in cpu_get_tb_cpu_state
>
> target/arm/cpu.h | 22 ++-
> target/arm/helper.h | 3 +
> target/arm/internals.h | 4 +
> linux-user/syscall.c | 1 +
> target/arm/cpu.c | 1 +
> target/arm/helper-a64.c | 3 +
> target/arm/helper.c | 267 ++++++++++++++++++++++---------------
> target/arm/machine.c | 1 +
> target/arm/op_helper.c | 1 +
> target/arm/translate-a64.c | 6 +-
> target/arm/translate.c | 14 +-
> 11 files changed, 204 insertions(+), 119 deletions(-)
--
Alex Bennée
- [Qemu-devel] [PATCH 0/4] target/arm: Reduce overhead of cpu_get_tb_cpu_state, Richard Henderson, 2019/02/13
- [Qemu-devel] [PATCH 3/4] target/arm: Assert hflags is correct in cpu_get_tb_cpu_state, Richard Henderson, 2019/02/13
- [Qemu-devel] [PATCH 2/4] target/arm: Rebuild hflags at el changes and MSR writes, Richard Henderson, 2019/02/13
- [Qemu-devel] [PATCH 1/4] target/arm: Split out recompute_hflags et al, Richard Henderson, 2019/02/13
- [Qemu-devel] [PATCH 4/4] target/arm: Rely on hflags correct in cpu_get_tb_cpu_state, Richard Henderson, 2019/02/13
- Re: [Qemu-devel] [PATCH 0/4] target/arm: Reduce overhead of cpu_get_tb_cpu_state, Laurent Desnogues, 2019/02/14
- Re: [Qemu-devel] [PATCH 0/4] target/arm: Reduce overhead of cpu_get_tb_cpu_state,
Alex Bennée <=
- Re: [Qemu-devel] [PATCH 0/4] target/arm: Reduce overhead of cpu_get_tb_cpu_state, Emilio G. Cota, 2019/02/14