Re: Re: [RFC PATCH 0/2] kvm/vmx: Output TSC offset

Steven Rostedt
2012-11-16T15:05:54Z

On Wed, 2012-11-14 at 17:26 +0900, Yoshihiro YUNOMAE wrote:
> Thank you for commenting on my patch set.
>
> (2012/11/14 11:31), Steven Rostedt wrote:
> > On Tue, 2012-11-13 at 18:03 -0800, David Sharp wrote:
> >> On Tue, Nov 13, 2012 at 6:00 PM, Steven Rostedt <rostedt@goodmis.org> wrote:
> >>> On Wed, 2012-11-14 at 10:36 +0900, Yoshihiro YUNOMAE wrote:
> >>>
> >>>> To merge the data like previous pattern, we apply this patch set. Then, we can
> >>>> get TSC offset of the guest as follows:
> >>>>
> >>>> $ dmesg | grep kvm
> >>>> [ 57.717180] kvm: (2687) write TSC offset 18446743360465545001, now clock ##
> >>>> ^^^^ ^^^^^^^^^^^^^^^^^^^^ |
> >>>> PID TSC offset |
> >>>> HOST TSC value --+
> >>>>
> >>>
> >>> Using printk to export something like this is IMO a nasty hack.
> >>>
> >>> Can't we create a /sys or /proc file to export the same thing?
> >>
> >> Since the value changes over the course of the trace, and seems to be
> >> part of the context of the trace, I think I'd include it as a
> >> tracepoint.
> >>
> >
> > I'm fine with that too.
>
> Using some tracepoint is a nice idea, but there is one problem. Here,
> our discussion point is "the event which TSC offset is changed does not
> frequently occur, but the buffer must keep the event data."

If you can hold off a bit, for the 3.9 window, I plan on pushing
multiple buffers for ftrace. That is, you can create a separate buffer
just for the TSC offset events:

cd /sys/kernel/debug
echo tsc > instances/new
echo 1 > instances/tsc/events/tsc/offset/enable

Then the buffer will be used only for that event.

The code is pretty much ready, but I want to test it more before the 3.8
window opens, which is why I'm waiting for 3.9.

You can see the latest version here:

git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
branch: rfc/multi-buffers-v7

-- Steve