All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Dunlap <randy.dunlap@oracle.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	linux-kernel@vger.kernel.org, zippel@linux-m68k.org,
	linux-kbuild@vger.kernel.org
Subject: Re: [PATCH] tracing/markers: make markers select tracepoints
Date: Fri, 20 Feb 2009 09:29:09 -0800	[thread overview]
Message-ID: <499EE865.40708@oracle.com> (raw)
In-Reply-To: <20090220172241.GF24538@elte.hu>

Ingo Molnar wrote:
> * Randy Dunlap <randy.dunlap@oracle.com> 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@elte.hu>
>>> Cc: Roman Zippel <zippel@linux-m68k.org>
>>> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
>>> ---
>>>  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

  reply	other threads:[~2009-02-20 17:28 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-20 16:34 [PATCH] tracing/markers: make markers select tracepoints Frederic Weisbecker
2009-02-20 16:59 ` Randy Dunlap
2009-02-20 17:20   ` Frederic Weisbecker
2009-02-20 17:22   ` Ingo Molnar
2009-02-20 17:29     ` Randy Dunlap [this message]
2009-02-20 17:31     ` Frederic Weisbecker
2009-02-20 17:48       ` Ingo Molnar
2009-02-20 18:56         ` Jason Baron
2009-02-21  3:15         ` Frederic Weisbecker
2009-02-21 22:04         ` Frank Ch. Eigler
2009-02-22 17:13           ` Ingo Molnar
2009-02-22 17:38             ` Frank Ch. Eigler
2009-02-23 10:13         ` Avi Kivity
2009-02-22  3:23     ` KOSAKI Motohiro
2009-02-22 11:37       ` Peter Zijlstra
2009-02-22 16:04         ` Mathieu Desnoyers
2009-02-22 19:17           ` Ingo Molnar
2009-02-23  2:47             ` Mathieu Desnoyers
2009-02-23  8:52               ` Ingo Molnar
2009-02-22 11:43     ` Peter Zijlstra
2009-02-22 12:08       ` Frank Ch. Eigler
2009-02-22 12:14         ` Peter Zijlstra
2009-02-22 12:24           ` Frank Ch. Eigler
2009-02-23 11:11             ` Peter Zijlstra
2009-02-23 15:44               ` Frank Ch. Eigler
2009-02-23 16:22                 ` Peter Zijlstra
2009-02-23 17:10                   ` Frank Ch. Eigler
2009-02-23 17:23                     ` Ingo Molnar
2009-02-24 13:01                       ` Frank Ch. Eigler
2009-02-23 17:31                     ` Steven Rostedt
2009-02-23 18:32                       ` Theodore Tso
2009-02-23 22:16                         ` Peter Zijlstra
2009-02-23 22:41                           ` Theodore Tso
2009-02-24  8:55                             ` Peter Zijlstra
2009-02-23  0:23       ` Steven Rostedt
2009-02-21  5:24   ` [PATCH][RFC] check for select dependency errors on config load Steven Rostedt
2009-02-21  5:58     ` Andrew Morton
2009-02-21  6:08     ` Andrew Morton
2009-02-21  6:20       ` Randy Dunlap
2009-02-21 20:07         ` Steven Rostedt
2009-02-21 20:46           ` [PATCH v2] kconfig: " Steven Rostedt
2009-02-21 20:48             ` Steven Rostedt
2009-02-21 21:51             ` Sam Ravnborg
2009-02-21 21:53               ` Steven Rostedt
2009-02-22 16:23     ` [PATCH][RFC] " Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=499EE865.40708@oracle.com \
    --to=randy.dunlap@oracle.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    --cc=zippel@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.