Re: [PATCH] tracing/markers: make markers select tracepoints

From: Randy Dunlap
Date: Fri Feb 20 2009 - 12:28:46 EST


Ingo Molnar wrote:
> * Randy Dunlap <randy.dunlap@xxxxxxxxxx> wrote:
>
>>> This is what happens on the following build error:
>>>
>>> kernel/built-in.o: In function `marker_update_probe_range':
>>> (.text+0x52f64): undefined reference to `tracepoint_probe_register_noupdate'
>>> kernel/built-in.o: In function `marker_update_probe_range':
>>> (.text+0x52f74): undefined reference to `tracepoint_probe_unregister_noupdate'
>>> kernel/built-in.o: In function `marker_update_probe_range':
>>> (.text+0x52fb9): undefined reference to `tracepoint_probe_unregister_noupdate'
>>> kernel/built-in.o: In function `marker_update_probes':
>>> marker.c:(.text+0x530ba): undefined reference to `tracepoint_probe_update_all'
>>>
>>> CONFIG_KVM_TRACE will select CONFIG_MARKER, but the latter
>>> depends on CONFIG_TRACEPOINTS which will not be selected.
>>>
>>> A temporary fix is to make CONFIG_MARKER select
>>> CONFIG_TRACEPOINTS, though it doesn't fix the source KConfig
>>> dependency handling problem.
>>>
>>> Reported-by: Ingo Molnar <mingo@xxxxxxx>
>>> Cc: Roman Zippel <zippel@xxxxxxxxxxxxxx>
>>> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
>>> ---
>>> init/Kconfig | 2 +-
>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/init/Kconfig b/init/Kconfig
>>> index b6400a5..a93f957 100644
>>> --- a/init/Kconfig
>>> +++ b/init/Kconfig
>>> @@ -975,7 +975,7 @@ config TRACEPOINTS
>>>
>>> config MARKERS
>>> bool "Activate markers"
>>> - depends on TRACEPOINTS
>>> + select TRACEPOINTS
>>> help
>>> Place an empty function call at each marker site. Can be
>>> dynamically changed for a probe function.
>> but using "select" instead of "depends on" just causes the
>> kind of problem that you described, whereas using "depends on"
>> does follow dependency chains.
>
> Well, as long as the secondary selects are 'expanded' along the
> line of dependencies, it should still be fine. With an

Agreed.

> increasing number of dependencies it quickly becomes ugly
> though. This might be one of the cases where it works.

Agreed.

> Eventually we should eliminate markers, their uses can either be
> converted to new-style tracepoints, or to ftrace_printk().


Thanks,
--
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/