On Thu, 18 Feb 2021 21:03:52 -0500 Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > Hence, we can use x86-tsc as the clock for both the host and guest, and > then using perf find out how to convert that to what the 'local' clock > would produce. At least the multiplier and the shfit. I just tried this out: http://rostedt.org/private/perf-trace.c Where I did: # trace-cmd record -M 1 -C local -e irq -e sched taskset -c 0 ./perf-trace time_shift=31 time_mult=633046315 time_offset=-125757047487632 # trace-cmd report |grep print taskset-34857 [000] 125742.260276: print: tracing_mark_write: [426606557411358] [125757.283123254] - <idle>-0 [0] softirq_raise: vec=9 [action=RCU] taskset-34857 [000] 125742.260283: print: tracing_mark_write: [426606557431758] [125757.283129268] - <idle>-0 [0] softirq_entry: vec=9 [action=RCU] taskset-34857 [000] 125742.260289: print: tracing_mark_write: [426606557580560] [125757.283173133] - <idle>-0 [0] softirq_exit: vec=9 [action=RCU] taskset-34857 [000] 125742.260295: print: tracing_mark_write: [426606560784758] [125757.284117683] - <idle>-0 [0] softirq_raise: vec=7 [action=SCHED] The time offset is slightly different, but we don't care. We only want to convert the cycles into nanoseconds, and this appears to do the job! -- Steve