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

RE: [Xen-devel] unconditionally enable the trace buffer



 

> > >* ability to turn on/off via hypercall
> >
> > Not currently implemented, but would not be difficult to add.
> 
> Just as an aside I'm not sure this matters: From what Rob's 
> told me, having the (inline) trace() calls in there produces 
> the same overhead whether tracing is active or not.  I guess 
> it makes sense; once you've incurred the overhead of having 
> the function there and evaluating the "is tracing on" 
> conditional, you might as well have stored a few values also ;-)

We could cache miss on reading the tracebuffer producer counter and
tracebuffer base address, so its not totally a done deal.

I don't have a big worry about performance, but I'd feel more
comfortable to see a more realistic assesment of overhead. Comparing
results from ttcp in a domU with 128k sock buf and the MTU set to 552
bytes should do it.
 
> > >* ability to set the per CPU tracebuffer size when turning it on
> >
> > Partially; You can enable the trace buffer on the xen 
> (boot) command 
> > line, and you can specify the trace buffer size there. You cannot 
> > change the size dynamically.
> 
> Aside #2: You can disable at boot time by setting size=0.

Ideally, it should be set as part of the hypercall to turn tracing on.

> > >* ability for the user-space reader to explicitly block (select on 
> > >fd) on an eventchn notification that the buffer is e.g. half full. 
> > >(reader should write out all the pages that are full of 
> trace events)
> >
> > Not done.
> 
> We can just block on /dev/evtchn, I guess.  Shouldn't be too 
> hard; we just need to define a new "trace" virq.

The polling stuff totally sucks, and we definitely need the virq.

> > >* user space reader should log when it misses blocks of events 
> > >(overwrite last trace message in buffer with a special 
> 'missed X events'
> > >message)
> >
> > Not done, but my XenMon patch includes a change to the trace buffer 
> > code to help with this. I've added a "sequence number" to 
> each trace 
> > record which can be used to detect when blocks of events 
> have been missed.

My scheme avoids burning tracebuffer memory, but OK.

Ian

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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