Alex Bennée <alex.ben...@linaro.org> writes:
> Hi, > > This is hopefully the final version of the softmmu demacro series. I > tracked down the remaining failures to: > > - not always using the correct victim tlb > - not masking reads when we unrolled the unaligned helpers > > Other than that I've rolled in the changes that were made to support > dynamic TLB code and the follow-up fixes. All patches need some review > before we can merge them. Measurements: Before hyperfine -w 2 './aarch64-softmmu/qemu-system-aarch64 -machine virt,graphics=on,gic-version=3,virtualization=on -cpu cortex-a53 -serial mon:stdio -nic user,model=virtio-net- pci,hostfwd=tcp::2222-:22 -device virtio-scsi-pci -device scsi-hd,drive=hd0 -blockdev driver=raw,node-name=hd0,discard=unmap,file.driver=host_device,file.filename=/dev/zvol/ hackpool-0/debian-buster-arm64 -kernel ../linux.git/builds/arm64.nopreempt/arch/arm64/boot/Image -append "console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark-pigz.service" -display none -m 8192 -smp 4 --snapshot' Benchmark #1: ./aarch64-softmmu/qemu-system-aarch64 -machine virt,graphics=on,gic-version=3,virtualization=on -cpu cortex-a53 -serial mon:stdio -nic user,model=virtio-net-pci,hostfwd=tcp::2222-:22 -device virtio-scsi-pci -device scsi-hd,drive=hd0 -blockdev driver=raw,node-name=hd0,discard=unmap,file.driver=host_device,file.filename=/dev/zvol/hackpool-0/debian-buster-arm64 -kernel ../linux.git/builds/arm64.nopreempt/arch/arm64/boot/Image -append "console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark-pigz.service" -display none -m 8192 -smp 4 --snapshot Time (mean ± σ): 66.035 s ± 1.425 s [User: 241.495 s, System: 2.327 s] Range (min … max): 64.718 s … 68.944 s 10 runs After hyperfine -w 2 './aarch64-softmmu/qemu-system-aarch64 -machine virt,graphics=on,gic-version=3,virtualization=on -cpu cortex-a53 -serial mon:stdio -nic user,model=virtio-net-pci,hostfwd=tcp::2222-:22 -device virtio-scsi-pci -device scsi-hd,drive=hd0 -blockdev driver=raw,node-name=hd0,discard=unmap,file.driver=host_device,file.filename=/dev/zvol/hackpool-0/debian-buster-arm64 -kernel ../linux.git/builds/arm64.nopreempt/arch/arm64/boot/Image -append "console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark-pigz.service" -display none -m 8192 -smp 4 --snapshot' Benchmark #1: ./aarch64-softmmu/qemu-system-aarch64 -machine virt,graphics=on,gic-version=3,virtualization=on -cpu cortex-a53 -serial mon:stdio -nic user,model=virtio-net-pci,hostfwd=tcp::2222-:22 -device virtio-scsi-pci -device scsi-hd,drive=hd0 -blockdev driver=raw,node-name=hd0,discard=unmap,file.driver=host_device,file.filename=/dev/zvol/hackpool-0/debian-buster-arm64 -kernel ../linux.git/builds/arm64.nopreempt/arch/arm64/boot/Image -append "console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark-pigz.service" -display none -m 8192 -smp 4 --snapshot Time (mean ± σ): 65.331 s ± 0.684 s [User: 240.528 s, System: 2.306 s] Range (min … max): 64.624 s … 66.914 s 10 runs Although I'm not going to claim a performance boost, just that it's in the noise. Emilio, Any chance you could run it through your benchmark suite? > > Alex Bennée (3): > accel/tcg: demacro cputlb > accel/tcg: remove softmmu_template.h > accel/tcg: move unaligned helpers out of core helpers > > accel/tcg/cputlb.c | 501 +++++++++++++++++++++++++++++++++-- > accel/tcg/softmmu_template.h | 454 ------------------------------- > 2 files changed, 475 insertions(+), 480 deletions(-) > delete mode 100644 accel/tcg/softmmu_template.h -- Alex Bennée