qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 3/3] trace: enable all events by default


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH v2 3/3] trace: enable all events by default
Date: Wed, 10 Nov 2010 18:22:40 +0000

On Wed, Nov 10, 2010 at 5:59 PM, Lluís <address@hidden> wrote:
> Blue Swirl writes:
>
>> On Tue, Nov 9, 2010 at 2:08 PM, Lluís <address@hidden> wrote:
>>> Enable all trace events by default, assuming their frequency is relatively 
>>> low,
>>> so there will be no measurable performace impact.
>
>> Even if the impact for one tracepoint is low, if all tracepoints are
>> enabled, eventually (considering that the number of tracepoints will
>> increase) just the data flow to the trace file will start to slow down
>> the guest.
>
>> But I'm not completely opposed to removing 'disable' keyword, for
>> example by turning all tracepoints off initially. Though then there
>> would be no way to trace the initialization activities.
>
> Well, the default trace backend is 'nop' so there's no overhead at all
> on default compilations.

Yes, I'm not worried about 'nop' case overhead.

> Even more, if you enable a backend other than 'nop', right now you still
> have to manually (de)activate the trace-events you want, depending on
> the backend you choose.
>
> For example, right now backends behave:
>    * nop
>      No overhead regardless of the "disable" property/keyword
>    * simple
>      "disable" sets the initial event state, but they're always able to
>      trace (compiled-in).
>    * ust
>      If "disable" is present the event is not compiled-in, but by
>      default events are not tracing from the start.
>    * dtrace
>      Similar to "simple" (don't remember if "disable" has any effect at
>      all).
>
> Then, with the patch I sent, "disable" always uses the "nop" backend
> with that event, and otherwise follows through the default per-backend
> state (all of which should have an inactive state by default).
>
> So, my patch is just a matter of having all events available _only_ when
> you use a backend other than "nop".

Then the default for simpletrace (and dtrace?) should also be disabled
initial state. If you have 1000 tracepoints automatically enabled at
start (with simpletrace, not nop), disabling all of them if you are
only interested in a few of them is difficult.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]