tests/bench: Add bufferiszero-benchBenchmark each acceleration function vs an aligned buffer of zeros.Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>Signed-off-by: Richard Henderson <ric
tests/bench: Add bufferiszero-benchBenchmark each acceleration function vs an aligned buffer of zeros.Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
meson: remove unused variableReviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
migration/xbzrle: Use i386 host/cpuinfo.hPerform the function selection once, and only if CONFIG_AVX512_OPTis enabled. Centralize the selection to xbzrle.c, instead ofspreading the init across 3
migration/xbzrle: Use i386 host/cpuinfo.hPerform the function selection once, and only if CONFIG_AVX512_OPTis enabled. Centralize the selection to xbzrle.c, instead ofspreading the init across 3 files.Remove xbzrle-bench.c. The benefit of being able to benchmarkthe different implementations is less important than not peekinginto the internals of the implementation.Reviewed-by: Alex Bennée <alex.bennee@linaro.org>Reviewed-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
util: import GTree as QTreeThe only reason to add this implementation is to control the memory allocatorused. Some users (e.g. TCG) cannot work reliably in multi-threadedenvironments (e.g. forkin
util: import GTree as QTreeThe only reason to add this implementation is to control the memory allocatorused. Some users (e.g. TCG) cannot work reliably in multi-threadedenvironments (e.g. forking in user-mode) with GTree's allocator, GSlice.See https://gitlab.com/qemu-project/qemu/-/issues/285 for details.Importing GTree is a temporary workaround until GTree migrates awayfrom GSlice.This implementation is identical to that in glib v2.75.0, except thatwe don't import recent additions to the API nor deprecated API calls,none of which are used in QEMU.I've imported tests from glib and added a benchmark just tomake sure that performance is similar. Note: it cannot be identicalbecause (1) we are not using GSlice, (2) we use different compilation flags(e.g. -fPIC) and (3) we're linking statically.$ cat /proc/cpuinfo| grep 'model name' | head -1model name : AMD Ryzen 7 PRO 5850U with Radeon Graphics$ echo '0' | sudo tee /sys/devices/system/cpu/cpufreq/boost$ tests/bench/qtree-bench Tree Op 32 1024 4096 131072 1048576------------------------------------------------------------------------------------------------GTree Lookup 83.23 43.08 25.31 19.40 16.22QTree Lookup 113.42 (1.36x) 53.83 (1.25x) 28.38 (1.12x) 17.64 (0.91x) 13.04 (0.80x)GTree Insert 44.23 29.37 25.83 19.49 17.03QTree Insert 46.87 (1.06x) 25.62 (0.87x) 24.29 (0.94x) 16.83 (0.86x) 12.97 (0.76x)GTree Remove 53.27 35.15 31.43 24.64 16.70QTree Remove 57.32 (1.08x) 41.76 (1.19x) 38.37 (1.22x) 29.30 (1.19x) 15.07 (0.90x)GTree RemoveAll 135.44 127.52 126.72 120.11 64.34QTree RemoveAll 127.15 (0.94x) 110.37 (0.87x) 107.97 (0.85x) 97.13 (0.81x) 55.10 (0.86x)GTree Traverse 277.71 276.09 272.78 246.72 98.47QTree Traverse 370.33 (1.33x) 411.97 (1.49x) 400.23 (1.47x) 262.82 (1.07x) 78.52 (0.80x)------------------------------------------------------------------------------------------------As a sanity check, the same benchmark when Glib's versionis >= $glib_dropped_gslice_version (i.e. QTree == GTree): Tree Op 32 1024 4096 131072 1048576------------------------------------------------------------------------------------------------GTree Lookup 82.72 43.09 24.18 19.73 16.09QTree Lookup 81.82 (0.99x) 43.10 (1.00x) 24.20 (1.00x) 19.76 (1.00x) 16.26 (1.01x)GTree Insert 45.07 29.62 26.34 19.90 17.18QTree Insert 45.72 (1.01x) 29.60 (1.00x) 26.38 (1.00x) 19.71 (0.99x) 17.20 (1.00x)GTree Remove 54.48 35.36 31.77 24.97 16.95QTree Remove 54.46 (1.00x) 35.32 (1.00x) 31.77 (1.00x) 24.91 (1.00x) 17.15 (1.01x)GTree RemoveAll 140.68 127.36 125.43 121.45 68.20QTree RemoveAll 140.65 (1.00x) 127.64 (1.00x) 125.01 (1.00x) 121.73 (1.00x) 67.06 (0.98x)GTree Traverse 278.68 276.05 266.75 251.65 104.93QTree Traverse 278.31 (1.00x) 275.78 (1.00x) 266.42 (1.00x) 247.89 (0.99x) 104.58 (1.00x)------------------------------------------------------------------------------------------------Signed-off-by: Emilio Cota <cota@braap.org>Message-Id: <20230205163758.416992-2-cota@braap.org>Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Update bench-code for addressing CI problemUnit test code is in test-xbzrle.c, and benchmark code is in xbzrle-bench.cfor performance benchmarking. we have modified xbzrle-bench.c to addressCI pr
Update bench-code for addressing CI problemUnit test code is in test-xbzrle.c, and benchmark code is in xbzrle-bench.cfor performance benchmarking. we have modified xbzrle-bench.c to addressCI problem.Signed-off-by: ling xu <ling1.xu@intel.com>Co-authored-by: Zhou Zhao <zhou.zhao@intel.com>Co-authored-by: Jun Jin <jun.i.jin@intel.com>Reviewed-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Juan Quintela <quintela@redhat.com>
cleanup: Tweak and re-run return_directly.cocciTweak the semantic patch to drop redundant parenthesis around thereturn expression.Coccinelle drops a comment in hw/rdma/vmw/pvrdma_cmd.c; restored
cleanup: Tweak and re-run return_directly.cocciTweak the semantic patch to drop redundant parenthesis around thereturn expression.Coccinelle drops a comment in hw/rdma/vmw/pvrdma_cmd.c; restoredmanually.Coccinelle messes up vmdk_co_create(), not sure why. Change dropped,will be done manually in the next commit.Line breaks in target/avr/cpu.h and hw/rdma/vmw/pvrdma_cmd.c tidied upmanually.Whitespace in tools/virtiofsd/fuse_lowlevel.c tidied up manually.checkpatch.pl complains "return of an errno should typically be -ve"two times for hw/9pfs/9p-synth.c. Preexisting, the patch merely makesit visible to checkpatch.pl.Signed-off-by: Markus Armbruster <armbru@redhat.com>Message-Id: <20221122134917.1217307-2-armbru@redhat.com>Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
test/crypto: Add test suite for crypto akcipherAdd unit test and benchmark test for crypto akcipher.Signed-off-by: lei he <helei.sig11@bytedance.com>Signed-off-by: zhenwei pi <pizhenwei@bytedanc
test/crypto: Add test suite for crypto akcipherAdd unit test and benchmark test for crypto akcipher.Signed-off-by: lei he <helei.sig11@bytedance.com>Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
osdep: Move memalign-related functions to their own headerMove the various memalign-related functions out of osdep.h and intotheir own header, which we include only where they are used.While we'r
osdep: Move memalign-related functions to their own headerMove the various memalign-related functions out of osdep.h and intotheir own header, which we include only where they are used.While we're doing this, add some brief documentation comments.Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Reviewed-by: Richard Henderson <richard.henderson@linaro.org>Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>Message-id: 20220226180723.1706285-10-peter.maydell@linaro.org
tests: Move benchmarks into a separate folderMake it clear that these files are related to benchmarks by movingthem into a new folder called "bench".Message-Id: <20210312092238.79509-1-thuth@red
tests: Move benchmarks into a separate folderMake it clear that these files are related to benchmarks by movingthem into a new folder called "bench".Message-Id: <20210312092238.79509-1-thuth@redhat.com>Acked-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Thomas Huth <thuth@redhat.com>