From: oleg@redhat.com (Oleg Nesterov)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 00/14] uprobes: Add uprobes support for ARM
Date: Tue, 4 Mar 2014 18:31:34 +0100 [thread overview]
Message-ID: <20140304173134.GA18830@redhat.com> (raw)
In-Reply-To: <20140304005306.GO21483@n2100.arm.linux.org.uk>
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.
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
WARNING: multiple messages have this Message-ID (diff)
From: Oleg Nesterov <oleg@redhat.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: David Long <dave.long@linaro.org>,
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: Tue, 4 Mar 2014 18:31:34 +0100 [thread overview]
Message-ID: <20140304173134.GA18830@redhat.com> (raw)
In-Reply-To: <20140304005306.GO21483@n2100.arm.linux.org.uk>
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.
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
next prev parent reply other threads:[~2014-03-04 17:31 UTC|newest]
Thread overview: 57+ 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 ` David Long
2014-02-10 7:38 ` [PATCH v6 01/14] uprobes: allow ignoring of probe hits David Long
2014-02-10 7:38 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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-10 7:38 ` David Long
2014-02-28 10:12 ` Russell King - ARM Linux
2014-02-28 10:12 ` Russell King - ARM Linux
2014-02-28 14:11 ` Jon Medhurst (Tixy)
2014-02-28 14:11 ` Jon Medhurst (Tixy)
2014-02-28 14:45 ` Jon Medhurst (Tixy)
2014-03-02 10:37 ` David Long
2014-03-02 10:37 ` David Long
2014-03-02 12:11 ` Russell King - ARM Linux
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:38 ` 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 ` 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 ` 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 ` 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 ` 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 ` David Long
2014-02-10 7:39 ` [PATCH v6 14/14] ARM: add uprobes support David Long
2014-02-10 7:39 ` David Long
2014-03-01 12:30 ` [PATCH v6 00/14] uprobes: Add uprobes support for ARM Russell King - ARM Linux
2014-03-01 12:30 ` Russell King - ARM Linux
2014-03-02 12:02 ` David Long
2014-03-02 12:02 ` David Long
2014-03-03 6:23 ` Srikar Dronamraju
2014-03-03 6:23 ` Srikar Dronamraju
2014-03-03 10:08 ` David Long
2014-03-03 10:08 ` David Long
2014-03-03 10:39 ` Russell King - ARM Linux
2014-03-03 10:39 ` Russell King - ARM Linux
2014-03-03 20:50 ` Oleg Nesterov
2014-03-03 20:50 ` Oleg Nesterov
2014-03-04 0:53 ` Russell King - ARM Linux
2014-03-04 0:53 ` Russell King - ARM Linux
2014-03-04 17:31 ` Oleg Nesterov [this message]
2014-03-04 17:31 ` Oleg Nesterov
2014-03-06 8:10 ` David Long
2014-03-06 8:10 ` David Long
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=20140304173134.GA18830@redhat.com \
--to=oleg@redhat.com \
--cc=linux-arm-kernel@lists.infradead.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.