qemu-e2k/include/exec
Alex Bennée d0aaf08bb9 tcg: remove the final vestiges of dstate
Now we no longer have dynamic state affecting things we can remove the
additional fields in cpu.h and simplify the TB hash calculation.

For the benchmark:

    hyperfine -w 2 -m 20 \
      "./arm-softmmu/qemu-system-arm -cpu cortex-a15 \
        -machine type=virt,highmem=off \
        -display none -m 2048 \
        -serial mon:stdio \
        -netdev user,id=unet,hostfwd=tcp::2222-:22 \
        -device virtio-net-pci,netdev=unet \
        -device virtio-scsi-pci \
        -blockdev driver=raw,node-name=hd,discard=unmap,file.driver=host_device,file.filename=/dev/zen-disk/debian-bullseye-armhf \
        -device scsi-hd,drive=hd -smp 4 \
        -kernel /home/alex/lsrc/linux.git/builds/arm/arch/arm/boot/zImage \
        -append 'console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark.service' \
        -snapshot"

It has a marginal effect on runtime, before:

  Time (mean ± σ):     26.279 s ±  2.438 s    [User: 41.113 s, System: 1.843 s]
  Range (min … max):   24.420 s … 32.565 s    20 runs

after:

  Time (mean ± σ):     24.440 s ±  2.885 s    [User: 34.474 s, System: 2.028 s]
  Range (min … max):   21.663 s … 29.937 s    20 runs

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1358
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20230526165401.574474-10-alex.bennee@linaro.org
Message-Id: <20230524133952.3971948-9-alex.bennee@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2023-06-01 11:05:05 -04:00
..
user tcg: Split out exec/user/guest-base.h 2023-05-16 20:13:51 -07:00
address-spaces.h
confidential-guest-support.h
cpu_ldst.h accel/tcg: Remove cpu_atomic_{ld,st}o_*_mmu 2023-05-23 18:54:55 -07:00
cpu-all.h tcg: Split out exec/user/guest-base.h 2023-05-16 20:13:51 -07:00
cpu-common.h cpu: expose qemu_cpu_list_lock for lock-guard use 2023-05-11 09:53:41 +01:00
cpu-defs.h accel/tcg: Introduce tlb_read_idx 2023-05-11 09:53:41 +01:00
cputlb.h
exec-all.h tcg: remove the final vestiges of dstate 2023-06-01 11:05:05 -04:00
gdbstub.h gdbstub: move syscall handling to new file 2023-03-07 20:44:08 +00:00
gen-icount.h include/exec/gen-icount: Drop tcg_temp_free in gen_tb_start 2023-03-05 13:44:08 -08:00
helper-gen.h
helper-head.h exec/helper-head: Include missing "fpu/softfloat-types.h" header 2023-02-28 10:32:31 -10:00
helper-proto.h tcg: Mark tcg helpers noinline to avoid an issue with LTO 2023-01-23 14:39:48 -10:00
helper-tcg.h
hwaddr.h bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
ioport.h
log.h
memattrs.h
memop.h include/exec/memop: Add MO_ATOM_* 2023-05-16 15:21:38 -07:00
memopidx.h
memory_ldst_cached.h.inc
memory_ldst_phys.h.inc
memory_ldst.h.inc
memory-internal.h
memory.h hostmem-file: add offset option 2023-05-23 16:47:03 +02:00
page-vary.h
plugin-gen.h accel/tcg: Widen plugin_gen_empty_mem_callback to i64 2023-05-16 16:30:29 -07:00
poison.h tcg: Remove TARGET_ALIGNED_ONLY 2023-05-11 09:53:41 +01:00
ram_addr.h hostmem-file: add offset option 2023-05-23 16:47:03 +02:00
ramblock.h hostmem-file: add offset option 2023-05-23 16:47:03 +02:00
ramlist.h
replay-core.h replay: Extract core API to 'exec/replay-core.h' 2023-02-27 22:29:01 +01:00
target_long.h include: split target_long definition from cpu-defs 2023-03-07 20:44:09 +00:00
target_page.h softmmu: Create qemu_target_pages_to_MiB() 2023-05-15 10:33:03 +02:00
tb-flush.h includes: move tb_flush into its own header 2023-03-07 17:06:33 +00:00
translate-all.h
translator.h accel/tcg: Remove translator_loop_temp_check 2023-03-05 13:44:07 -08:00
tswap.h include/exec: Provide the tswap() functions for target independent code, too 2023-04-20 11:25:32 +02:00