Skip to content
  • Namhyung Kim's avatar
    tracing/kvm: Use __print_hex() for kvm_emulate_insn tracepoint · b102f1d0
    Namhyung Kim authored
    The kvm_emulate_insn tracepoint used __print_insn()
    for printing its instructions. However it makes the
    format of the event hard to parse as it reveals TP
    internals.
    
    Fortunately, kernel provides __print_hex for almost
    same purpose, we can use it instead of open coding
    it. The user-space can be changed to parse it later.
    
    That means raw kernel tracing will not be affected
    by this change:
    
     # cd /sys/kernel/debug/tracing/
     # cat events/kvm/kvm_emulate_insn/format
     name: kvm_emulate_insn
     ID: 29
     format:
    	...
     print fmt: "%x:%llx:%s (%s)%s", REC->csbase, REC->rip, __print_hex(REC->insn, REC->len), \
     __print_symbolic(REC->flags, { 0, "real" }, { (1 << 0) | (1 << 1), "vm16" }, \
     { (1 << 0), "prot16" }, { (1 << 0) | (1 << 2), "prot32" }, { (1 << 0) | (1 << 3), "prot64" }), \
     REC->failed ? " failed" : ""
    
     # echo 1 > events/kvm/kvm_emulate_insn/enable
     # cat trace
     # tracer: nop
     #
     # entries-in-buffer/entries-written: 2183/2183   #P:12
     #
     #                              _-----=> irqs-off
     #                             / _----=> need-resched
     #                            | / _---=> hardirq/softirq
     #                            || / _--=> preempt-depth
     #                            ||| /     delay
     #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
     #              | |       |   ||||       |         |
             qemu-kvm-1782  [002] ...1   140.931636: kvm_emulate_insn: 0:c102fa25:89 10 (prot32)
             qemu-kvm-1781  [004] ...1   140.931637: kvm_emulate_insn: 0:c102fa25:89 10 (prot32)
    
    Link: http://lkml.kernel.org/n/tip-wfw6y3b9ugtey8snaow9nmg5@git.kernel.org
    Link: http://lkml.kernel.org/r/1340757701-10711-2-git-send-email-namhyung@kernel.org
    
    
    
    Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Namhyung Kim <namhyung.kim@lge.com>
    Cc: kvm@vger.kernel.org
    Acked-by: default avatarAvi Kivity <avi@redhat.com>
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    b102f1d0