|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|