qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] trace backend: introduce multi tracing backend


From: Kazuya Saito
Subject: Re: [Qemu-devel] [PATCH] trace backend: introduce multi tracing backend
Date: Wed, 05 Feb 2014 17:51:31 +0900
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

(2014/02/04 18:02), Stefan Hajnoczi wrote:> On Tue, Feb 04, 2014 at 02:26:13PM 
+0900, Kazuya Saito wrote:
>> > (2014/01/31 19:37), Stefan Hajnoczi wrote:> On Tue, Jan 28, 2014 at 
>> > 01:35:20PM +0900, Kazuya Saito wrote:
>>>> > >>  def h(events):
>>>> > >> +    pass
>>> > >
>>> > > I thought all code generation now happens in backends.common.h(), so
>>> > > this function will not be called anymore?
>> >
>> > It is called in tracetool.backend.compatible().  So, it is required when
>> > selecting only dtrace backend.
>> >
>>> > > The same is true for c() defined in this file.
>> >
>> > It is also required for the same reason as dtrace.h().
> tracetool.backend.compatible() is testing for the existence of a
> function that is not used anywhere else.  Backend code doesn't make it
> obvious why this is necessary.
>
> We should either make compatible() work (e.g. by testing body_<format>
> and ensuring all formats use the "body_" function prefix) or with
> something explicit like a <backend>.supported_formats = ['c', 'h'] list.

I think that checking <bakcend>.supported_formats is better.  I'll
change compatible() like that.

>>>> > >> +util-obj-$(CONFIG_TRACE_FTRACE) += multi.o ftrace.o
>>> > >
>>> > > How about adding multi.o to util-obj-y just like control.o below?  All
>>> > > these object files are added to libqemuutil.a.  The linker will only
>>> > > pull in object files that are needed (based on symbol dependencies) so
>>> > > there is no harm in uncoditionally building multi.o.
>> >
>> > If adding multi.o to util-obj-y, compile error occurs when selecting
>> > only dtrace backend.  This is because the function trace_print_events(),
>> > trace_event_set_state_dynamic_backend() and trace_backend_init() are
>> > declared doubly in multi.o and default.o.
>> > So, I'm going to leave it.  Do you have any suggestions?
> I guess it should be:
>
> ifeq ($(CONFIG_TRACE_DEFAULT),y)
> util-obj-y += default.o
> else
> util-obj-y += multi.o
> endif

Thank you.  I'll fix it as above.

Thanks,
Kazuya Saito





reply via email to

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