linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Long <dave.long@linaro.org>
To: Oleg Nesterov <oleg@redhat.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Rabin Vincent <rabin@rab.in>,
	"Jon Medhurst (Tixy)" <tixy@linaro.org>,
	Srikar Dronamraju <srikar@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
	Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
	davem@davemloft.net, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Paul Mackerras <paulus@samba.org>,
	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 00/14] uprobes: Add uprobes support for ARM
Date: Thu, 06 Mar 2014 03:10:02 -0500	[thread overview]
Message-ID: <53182D5A.7020600@linaro.org> (raw)
In-Reply-To: <20140304173134.GA18830@redhat.com>

On 03/04/14 12:31, Oleg Nesterov wrote:
> On 03/04, Russell King - ARM Linux wrote:
>>
>> On Mon, Mar 03, 2014 at 09:50:39PM +0100, Oleg Nesterov wrote:
>>>
>>> And why CONFIG_UPROBES should depend on PERF_EVENTS? uprobes can be
>>> used by (say) systemtap without UPROBE_EVENT/PERF_EVENTS.
>>>
>>> But as Russell pointed out the events directory is only built if
>>> CONFIG_PERF_EVENTS=y, so it should depend on it or select...
>>>
>>>
>>> I dunno. Personally I vote for the patch from Srikar in
>>>
>>> 	http://article.gmane.org/gmane.linux.kernel/1017186
>>>
>>> This is what we currently have, currently CONFIG_UPROBES is not
>>> user-selectable anyway.
>>
>> Yes, me too, but with the proviso that UPROBE_EVENT also sorts itself
>> out with PERF_EVENTS in some way too (either by selecting it, which
>> IMHO isn't nice, or by depending on it, or the build dependency itself
>> gets sorted.)
>
> OK... what do you think about the patch below for now?
>
>> Maybe a simpler answer would be to change the build stuff (hand-crafted):
>>
>> kernel/Makefile
>> -obj-$(CONFIG_PERF_EVENTS) += events/
>> +obj-y += events/
>>
>> and kernel/events/Makefile:
>>
>> -obj-y := core.o ring_buffer.o callchain.o
>> +perf-y := core.o ring_buffer.o callchain.o
>>
>> -obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o
>> +perf-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o
>> +
>> +obj-${CONFIG_PERF_EVENTS) += $(perf-y)
>
> I fully agree. Except I can't review this change ;) But hopefully I
> can understand what it should do.
>
> But personally I'd prefer to start with the simple/safe change which
> allows us to merge this series. If nothing else, even if I think that
> kernel/events/uprobes.c doesn't need CONFIG_PERF_EVENTS, this should
> be verified and discussed with perf maintainers.
>
> If you agree with the patch below, how should we route it? I won't
> argue if you push it along with other patches from David.
>

Oleg, I'll put you down as the author and add a signed-off line for you 
if that is OK?  Not sure who should ack it.

> BTW... why UPROBE_EVENT depends on MMU? I think that ARCH_SUPPORTS_UPROBES
> should not be true if !CONFIG_MMU.
>
> Oleg.
> ---
>
> diff --git a/arch/Kconfig b/arch/Kconfig
> index 80bbb8c..97ff872 100644
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -86,9 +86,7 @@ config KPROBES_ON_FTRACE
>   	 optimize on top of function tracing.
>
>   config UPROBES
> -	bool "Transparent user-space probes (EXPERIMENTAL)"
> -	depends on UPROBE_EVENT && PERF_EVENTS
> -	default n
> +	def_bool n
>   	select PERCPU_RWSEM
>   	help
>   	  Uprobes is the user-space counterpart to kprobes: they
> @@ -101,8 +99,6 @@ config UPROBES
>   	    managed by the kernel and kept transparent to the probed
>   	    application. )
>
> -	  If in doubt, say "N".
> -
>   config HAVE_64BIT_ALIGNED_ACCESS
>   	def_bool 64BIT && !HAVE_EFFICIENT_UNALIGNED_ACCESS
>   	help
> diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
> index 015f85a..8639819 100644
> --- a/kernel/trace/Kconfig
> +++ b/kernel/trace/Kconfig
> @@ -424,6 +424,7 @@ config UPROBE_EVENT
>   	bool "Enable uprobes-based dynamic events"
>   	depends on ARCH_SUPPORTS_UPROBES
>   	depends on MMU
> +	depends on PERF_EVENTS
>   	select UPROBES
>   	select PROBE_EVENTS
>   	select TRACING
>

Can we agree Oleg's patch above is the best way to go in the short term? 
  I've tested it and it addresses the problem, although of course one 
has to know to enable PERF_EVENTS to even see the UPROBE_EVENT option 
(not a problem on x86 as they always set PERF_EVENTS).

I'm continuing to test the above with my new include file changes, using 
Arnd's randconfig patches.  Looks good so far.

-dl


      reply	other threads:[~2014-03-06  8:10 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-10  7:38 [PATCH v6 00/14] uprobes: Add uprobes support for ARM David Long
2014-02-10  7:38 ` [PATCH v6 01/14] uprobes: allow ignoring of probe hits David Long
2014-02-10  7:38 ` [PATCH v6 02/14] ARM: move shared uprobe/kprobe definitions into new include file David Long
2014-02-10  7:38 ` [PATCH v6 03/14] ARM: Move generic arm instruction parsing code to new files for sharing between features David Long
2014-02-10  7:38 ` [PATCH v6 04/14] ARM: move generic thumb instruction parsing code to new files for use by other feature David Long
2014-02-10  7:38 ` [PATCH v6 05/14] ARM: use a function table for determining instruction interpreter action David Long
2014-02-10  7:38 ` [PATCH v6 06/14] ARM: Disable jprobes test when built into thumb-mode kernel David Long
2014-02-10  7:38 ` [PATCH v6 07/14] ARM: Remove use of struct kprobe from generic probes code David Long
2014-02-28 10:12   ` Russell King - ARM Linux
2014-02-28 14:11     ` Jon Medhurst (Tixy)
2014-03-02 10:37     ` David Long
2014-03-02 12:11       ` Russell King - ARM Linux
2014-02-10  7:38 ` [PATCH v6 08/14] ARM: Make the kprobes condition_check symbol names more generic David Long
2014-02-10  7:39 ` [PATCH v6 09/14] ARM: Change more ARM kprobes symbol names to something more David Long
2014-02-10  7:39 ` [PATCH v6 10/14] ARM: Rename the shared kprobes/uprobe return value enum David Long
2014-02-10  7:39 ` [PATCH v6 11/14] ARM: Change the remaining shared kprobes/uprobes symbols to something generic David Long
2014-02-10  7:39 ` [PATCH v6 12/14] ARM: Add an emulate flag to the kprobes/uprobes instruction decode functions David Long
2014-02-10  7:39 ` [PATCH v6 13/14] ARM: Make arch_specific_insn a define for new arch_probes_insn structure David Long
2014-02-10  7:39 ` [PATCH v6 14/14] ARM: add uprobes support David Long
2014-03-01 12:30 ` [PATCH v6 00/14] uprobes: Add uprobes support for ARM Russell King - ARM Linux
2014-03-02 12:02   ` David Long
2014-03-03  6:23     ` Srikar Dronamraju
2014-03-03 10:08       ` David Long
2014-03-03 10:39       ` Russell King - ARM Linux
2014-03-03 20:50     ` Oleg Nesterov
2014-03-04  0:53       ` Russell King - ARM Linux
2014-03-04 17:31         ` Oleg Nesterov
2014-03-06  8:10           ` David Long [this message]

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=53182D5A.7020600@linaro.org \
    --to=dave.long@linaro.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@ghostprotocols.net \
    --cc=ananth@in.ibm.com \
    --cc=anil.s.keshavamurthy@intel.com \
    --cc=davem@davemloft.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mingo@redhat.com \
    --cc=oleg@redhat.com \
    --cc=paulus@samba.org \
    --cc=rabin@rab.in \
    --cc=srikar@linux.vnet.ibm.com \
    --cc=tixy@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).