[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] LTTng Xen port

> I have read your tracing thread and I am surprised to see how much
> you would like in a tracer are already implemented and tested in
LTTng. I
> am currently porting my tracer to Xen, so I think it might be useful
for you
> to know what it provides. My goal is to do not duplicate the effort
and save
> everyone some time.

I like the work you've done with LTTng, but we have to be careful not to
go too overboard with how fancy we make the solution for Xen.  We don't
particularly need dynamic registering of trace types (though dynamically
turn off-and-on-able is good), and I'd like to keep as much complexity
compile time as possible. Having per CPU buffers using the TSC as the
timestamp is perfectly adequate (provided we drop in an appropriate
synchronization record whenever the Xen TSC/wall clock calibration code
runs on each CPU).

> - Polling for data in Xen from a dom0 process.
>   Xentrace currently polls the hypervisor each 100ms to see if there
> data
>   that needs to be consumed. Instead of an active polling, it would be
> to
>   use the dom0 OS capability to put a process to sleep while waiting
for a
>   resource. It would imply creating a module, loaded in dom0, that
> wait
>   for a specific virq coming from the Hypervisor to wake up such
>   We could think of exporting a complete poll() interface through
sysfs or
>   procfs that would be a directory filled with the resources exported
> the
>   Hypervisor to dom0 (which could include wait for resource freed,
> when
>   shutting down a domU instead of busy looping). It would help dom0 to
> schedule
>   other processes while a process is waiting for the Hypervisor.

I really thought we already had the functionality to enable the trac
ewriter to block on the trace buffer(s) becoming half full -- I thought
Rob Gardener fixed this ages ago. He certainly *promised* a patch to do
it :)


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.