[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: A KernelShark plugin for Xen traces analysis
On Thu, 15 Apr 2021 00:11:32 +0200 Dario Faggioli <dfaggioli@xxxxxxxx> wrote: > Yes, basically, we can say that a Xen system has "its own trace-cmd". > It's called `xentrace`, you run it from Dom0 and you get a (binary) > file which contains a bunch of events. > > Not that differently from a trace-cmd's "trace.dat" file, but the > events in there comes from tracepoints within the hypervisor (which, of > course, use a different tracing mechanism than ftrace). Right, that's exactly what the ESX trace did as well. > > Perhaps we can update trace-cmd agent to work with > > Xen as well. Does xen implement vsock or some other way to > > communicate > > between the guests and the Dom0 kernel? > > > Not vsock, AFAIK. But we probably can use something else/come up with > something new. > Yeah, we would like to have trace-cmd agent work with more than just vsock. Heck, we could just use networking as well. It's just a bit more overhead. > > And then on KernelShark, > > we have a KVM plugin in development that does this. But you can do > > the same > > with Xen. > > > I think that one of the trickiest aspects would be synchronizing the > timestamps in the 3 traces. > > *I guess* that the dom0 trace and the guest traces could at least use > the PTP algorithm that is currently implemented in the trace-cmd > patches (but not KVM specific one). For synch'ing the Xen trace with > them, well, I don't really know... We'd have to think about it. :-P Really, TSC is the way to go. All you would need to do is to have a way to map all the TSCs together. Assuming the xen trace has a unmodified TSC, and you can retrieve all the multipliers and shifts used for each guest, you then will have a synchronized TSC. Then only one guest or the xen HV needs to calculate the TSC to nanoseconds, and then have all use that. Probably would need to be the xen HV as it would be the one without a modified TSC. -- Steve
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |