[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Hi,something about the xentrace tool
Hi Rob, On 6/14/06, Rob Gardner <rob.gardner@xxxxxx> wrote: rickey berkeley wrote: > Based on trace source code(xen/common/trace.c),dom0 tracing the event > which are enabled. > > xen initialize tracing buffer for each cpu,trace buffer size (in > pages) in kenel space is defined by opt_tbuf_size. > The tracing buf use loop structure. > > I guess when the tracing data increase rapidly ,and xentrace tool in > user space does not take them immediately. > Some tracing data will lost.Maybe relayfs or something else can solve > this problem. > I added a basic flow control mechanism to the trace buffer system a few months ago. You can see an example of how to use it in tools/xenmon. The way it works is that as trace records are generated, a software interrupt is generated when the trace buffer gets filled to a certain point. The user space tools can use select() on an event channel to find out about these interrupts. See tools/xenmon/xenbaked.c for exact programming details. This code has not been copied into xentrace yet; Feel free to do so yourself if you think it's necessary. Would you explain a little bit more on how you handle the overflow? If the userspace detects that event, what it does then? Usually if there is no more space available in kernel buffer, what will you do? Drop some data, and hope that the userspace will come up to free some for more space in the future? Or if you don't drop them, just block there and wait for the userspace to come to free some? I believe that there are few tactics for this problems, and what we should do depends on situations. Thanks. H _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |