]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
tests/plugin: Remove duplicate insn log from libinsn.so
authorRichard Henderson <richard.henderson@linaro.org>
Sat, 10 Jun 2023 17:19:59 +0000 (10:19 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Mon, 26 Jun 2023 15:33:00 +0000 (17:33 +0200)
This is a perfectly natural occurrence for x86 "rep movb",
where the "rep" prefix forms a counted loop of the one insn.

During the tests/tcg/multiarch/memory test, this logging is
triggered over 350000 times.  Within the context of cross-i386-tci
build, which is already slow by nature, the logging is sufficient
to push the test into timeout.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
tests/plugin/insn.c
tests/tcg/i386/Makefile.softmmu-target
tests/tcg/i386/Makefile.target
tests/tcg/x86_64/Makefile.softmmu-target

index cd5ea5d4ae4a3118976c6bba2f9ab1c0d92dba85..9bd6e44f73fde3c7e359895247aa67f25ea9b57e 100644 (file)
@@ -19,7 +19,6 @@ QEMU_PLUGIN_EXPORT int qemu_plugin_version = QEMU_PLUGIN_VERSION;
 #define MAX_CPUS 8 /* lets not go nuts */
 
 typedef struct {
-    uint64_t last_pc;
     uint64_t insn_count;
 } InstructionCount;
 
@@ -51,13 +50,7 @@ static void vcpu_insn_exec_before(unsigned int cpu_index, void *udata)
 {
     unsigned int i = cpu_index % MAX_CPUS;
     InstructionCount *c = &counts[i];
-    uint64_t this_pc = GPOINTER_TO_UINT(udata);
-    if (this_pc == c->last_pc) {
-        g_autofree gchar *out = g_strdup_printf("detected repeat execution @ 0x%"
-                                                PRIx64 "\n", this_pc);
-        qemu_plugin_outs(out);
-    }
-    c->last_pc = this_pc;
+
     c->insn_count++;
 }
 
index ed922d59c83af2492ff41b69887e362d5cdb03b2..5266f2335aa89ed6f335d59ccfcbf53e2178f1ae 100644 (file)
@@ -33,14 +33,5 @@ EXTRA_RUNS+=$(MULTIARCH_RUNS)
 
 memory: CFLAGS+=-DCHECK_UNALIGNED=1
 
-# non-inline runs will trigger the duplicate instruction heuristics in libinsn.so
-run-plugin-%-with-libinsn.so:
-       $(call run-test, $@, \
-         $(QEMU) -monitor none -display none \
-                 -chardev file$(COMMA)path=$@.out$(COMMA)id=output \
-                  -plugin ../../plugin/libinsn.so$(COMMA)inline=on \
-                 -d plugin -D $*-with-libinsn.so.pout \
-                 $(QEMU_OPTS) $*)
-
 # Running
 QEMU_OPTS+=-device isa-debugcon,chardev=output -device isa-debug-exit,iobase=0xf4,iosize=0x4 -kernel
index 821822ed0c143c159d4562cf00d8f523ef92d1d1..f2ee7a4db7fe15d880ad58da4524ba6cf9b5418b 100644 (file)
@@ -63,12 +63,6 @@ else
 SKIP_I386_TESTS+=test-i386-fprem
 endif
 
-# non-inline runs will trigger the duplicate instruction heuristics in libinsn.so
-run-plugin-%-with-libinsn.so:
-       $(call run-test, $@, $(QEMU) $(QEMU_OPTS) \
-              -plugin ../../plugin/libinsn.so$(COMMA)inline=on \
-              -d plugin -D $*-with-libinsn.so.pout $*)
-
 # Update TESTS
 I386_TESTS:=$(filter-out $(SKIP_I386_TESTS), $(ALL_X86_TESTS))
 TESTS=$(MULTIARCH_TESTS) $(I386_TESTS)
index 7207fee94cac8961f84716bee9a7ae4164b16057..1bd763f2e6cd95466bc15f54325e9b5892776dee 100644 (file)
@@ -33,14 +33,5 @@ EXTRA_RUNS+=$(MULTIARCH_RUNS)
 
 memory: CFLAGS+=-DCHECK_UNALIGNED=1
 
-# non-inline runs will trigger the duplicate instruction heuristics in libinsn.so
-run-plugin-%-with-libinsn.so:
-       $(call run-test, $@, \
-         $(QEMU) -monitor none -display none \
-                 -chardev file$(COMMA)path=$@.out$(COMMA)id=output \
-                  -plugin ../../plugin/libinsn.so$(COMMA)inline=on \
-                 -d plugin -D $*-with-libinsn.so.pout \
-                 $(QEMU_OPTS) $*)
-
 # Running
 QEMU_OPTS+=-device isa-debugcon,chardev=output -device isa-debug-exit,iobase=0xf4,iosize=0x4 -kernel