Stefan Hajnoczi writes: > On Wed, Jun 13, 2012 at 4:14 AM, 陳韋任 (Wei-Ren Chen) > <che...@iis.sinica.edu.tw> wrote: >> I suspect that guest memory access (qemu_ld/qemu_st) account for the major >> of >> time spent in system mode. I would like to know precisely how much (if >> possible). >> We use tools like perf [1] before, but since the logic of guest memory >> access aslo >> embedded in the host binary not only helper functions, the result cannot be >> relied. The current idea is adding helper functions before/after guest memory >> access logic. Take ARM guest on x86_64 host for example, should I add the >> helper >> functions before/after tcg_gen_qemu_{ld,st} in target-arm/translate.c or >> tcg_out_qemu_{ld,st} in tcg/i386/tcg-target.c? Or there is a better way to >> know >> how much time QEMU spend on handling guest memory access?
> Lluís: Can the instrumentation you've been working on do this? Sure. I have tracepoints for memory accesses before they are actually performed. It would just be a matter of adding another tracepoint after the memory access operation has been performed (I had plans for adding this together with physical memory address information, but I'm on other tasks for the time being). Given that memory access tracepoints are added through macros (by redefining the memory access routine), it's trivial to add a tracepoint after the memory access itself. Unfortunately, I had the bad idea of rebasing all my series on top of the latest makefile changes, and I'll have to go through each patch to check it's still working (I'm sure some of them broke). Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth