From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Srikar Dronamraju <srikar@linux.vnet.ibm.com>,
Linux-mm <linux-mm@kvack.org>,
Arnaldo Carvalho de Melo <acme@infradead.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Jonathan Corbet <corbet@lwn.net>, Hugh Dickins <hughd@google.com>,
Christoph Hellwig <hch@infradead.org>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Thomas Gleixner <tglx@linutronix.de>,
Andi Kleen <andi@firstfloor.org>, Oleg Nesterov <oleg@redhat.com>,
LKML <linux-kernel@vger.kernel.org>,
Jim Keniston <jkenisto@linux.vnet.ibm.com>,
Roland McGrath <roland@hack.frob.com>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH v4 3.0-rc2-tip 21/22] 21: perf: show possible probes in a given executable file or library.
Date: Tue, 07 Jun 2011 18:32:31 +0530 [thread overview]
Message-ID: <20110607130231.28590.73619.sendpatchset@localhost6.localdomain6> (raw)
In-Reply-To: <20110607125804.28590.92092.sendpatchset@localhost6.localdomain6>
Enhances -F/--funcs option of "perf probe" to list possible probe points in
an executable file or library. A new option -e/--exe specifies the path of
the executable or library.
Show last 10 functions in /bin/zsh.
# perf probe -F -u -e /bin/zsh | tail
zstrtol
ztrcmp
ztrdup
ztrduppfx
ztrftime
ztrlen
ztrncpy
ztrsub
zwarn
zwarnnam
Show first 10 functions in /lib/libc.so.6
# perf probe -u -F -e /lib/libc.so.6 | head
_IO_adjust_column
_IO_adjust_wcolumn
_IO_default_doallocate
_IO_default_finish
_IO_default_pbackfail
_IO_default_uflow
_IO_default_xsgetn
_IO_default_xsputn
_IO_do_write@@GLIBC_2.2.5
_IO_doallocbuf
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
tools/perf/builtin-probe.c | 63 +++++++++++++++++++++++++++++++++++++----
tools/perf/util/probe-event.c | 56 ++++++++++++++++++++++++++++--------
tools/perf/util/probe-event.h | 4 +--
3 files changed, 102 insertions(+), 21 deletions(-)
diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index a90ee01..6aff85c 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -185,6 +185,55 @@ static int opt_set_filter(const struct option *opt __used,
return 0;
}
+static int opt_set_executable(const struct option *opt __used,
+ const char *str, int unset __used)
+{
+ if (params.target || !str)
+ return -EINVAL;
+
+ if (params.uprobes) {
+ pr_err(" Error: Don't use -m with --uprobes.\n");
+ return -EINVAL;
+ }
+
+ if (str) {
+ params.target = str;
+ params.uprobes = true;
+ }
+ return 0;
+}
+
+#ifdef DWARF_SUPPORT
+static int opt_set_module(const struct option *opt __used,
+ const char *str, int unset __used)
+{
+ if (params.target || !str)
+ return -EINVAL;
+
+ if (params.uprobes) {
+ pr_err(" Error: Don't use -m with --uprobes.\n");
+ return -EINVAL;
+ }
+
+ if (str)
+ params.target = str;
+
+ return 0;
+}
+#endif
+
+static int opt_set_uprobes(const struct option *opt __used,
+ const char *str __used, int unset __used)
+{
+ if (params.target) {
+ pr_err(" Error: Don't use --uprobes with -x/-m.\n");
+ return -EINVAL;
+ }
+
+ params.uprobes = true;
+ return 0;
+}
+
static const char * const probe_usage[] = {
"perf probe [<options>] 'PROBEDEF' ['PROBEDEF' ...]",
"perf probe [<options>] --add 'PROBEDEF' [--add 'PROBEDEF' ...]",
@@ -243,16 +292,18 @@ static const struct option options[] = {
"file", "vmlinux pathname"),
OPT_STRING('s', "source", &symbol_conf.source_prefix,
"directory", "path to kernel source"),
- OPT_STRING('m', "module", ¶ms.target,
- "modname", "target module name"),
+ OPT_CALLBACK('m', "module", NULL, "modname", "target module name",
+ opt_set_module),
#endif
OPT__DRY_RUN(&probe_event_dry_run),
OPT_INTEGER('\0', "max-probes", ¶ms.max_probe_points,
"Set how many probe points can be found for a probe."),
OPT_BOOLEAN('F', "funcs", ¶ms.show_funcs,
"Show potential probe-able functions."),
- OPT_BOOLEAN('u', "uprobes", ¶ms.uprobes,
- "user space probe events"),
+ OPT_CALLBACK_NOOPT('u', "uprobes", NULL, NULL,
+ "user space probe events", opt_set_uprobes),
+ OPT_CALLBACK('x', "exe", NULL, "/path/to/absolute/relative/file",
+ "target executable name", opt_set_executable),
OPT_CALLBACK('\0', "filter", NULL,
"[!]FILTER", "Set a filter (with --vars/funcs only)\n"
"\t\t\t(default: \"" DEFAULT_VAR_FILTER "\" for --vars,\n"
@@ -335,8 +386,8 @@ int cmd_probe(int argc, const char **argv, const char *prefix __used)
if (!params.filter)
params.filter = strfilter__new(DEFAULT_FUNC_FILTER,
NULL);
- ret = show_available_funcs(params.target,
- params.filter);
+ ret = show_available_funcs(params.target, params.filter,
+ params.uprobes);
strfilter__delete(params.filter);
if (ret < 0)
pr_err(" Error: Failed to show functions."
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 30f9e2f..d45dfb1 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -47,6 +47,7 @@
#include "trace-event.h" /* For __unused */
#include "probe-event.h"
#include "probe-finder.h"
+#include "session.h"
#define MAX_CMDLEN 256
#define MAX_PROBE_ARGS 128
@@ -2094,6 +2095,7 @@ error:
}
return ret;
}
+
/* TODO: don't use a global variable for filter ... */
static struct strfilter *available_func_filter;
@@ -2110,32 +2112,60 @@ static int filter_available_functions(struct map *map __unused,
return 1;
}
-int show_available_funcs(const char *elfobject, struct strfilter *_filter)
+static int __show_available_funcs(struct map *map)
+{
+ if (map__load(map, filter_available_functions)) {
+ pr_err("Failed to load map.\n");
+ return -EINVAL;
+ }
+ if (!dso__sorted_by_name(map->dso, map->type))
+ dso__sort_by_name(map->dso, map->type);
+
+ dso__fprintf_symbols_by_name(map->dso, map->type, stdout);
+ return 0;
+}
+
+static int available_kernel_funcs(const char *module)
{
struct map *map;
int ret;
- setup_pager();
-
ret = init_vmlinux();
if (ret < 0)
return ret;
- map = kernel_get_module_map(elfobject);
+ map = kernel_get_module_map(module);
if (!map) {
- pr_err("Failed to find %s map.\n", (elfobject) ? : "kernel");
+ pr_err("Failed to find %s map.\n", (module) ? : "kernel");
return -EINVAL;
}
+ return __show_available_funcs(map);
+}
+
+int show_available_funcs(const char *elfobject, struct strfilter *_filter,
+ bool user)
+{
+ struct map *map;
+ int ret;
+
+ setup_pager();
available_func_filter = _filter;
- if (map__load(map, filter_available_functions)) {
- pr_err("Failed to load map.\n");
- return -EINVAL;
- }
- if (!dso__sorted_by_name(map->dso, map->type))
- dso__sort_by_name(map->dso, map->type);
- dso__fprintf_symbols_by_name(map->dso, map->type, stdout);
- return 0;
+ if (!user)
+ return available_kernel_funcs(elfobject);
+
+ symbol_conf.try_vmlinux_path = false;
+ symbol_conf.sort_by_name = true;
+ ret = symbol__init();
+ if (ret < 0) {
+ pr_err("Failed to init symbol map.\n");
+ return ret;
+ }
+ map = dso__new_map(elfobject);
+ ret = __show_available_funcs(map);
+ dso__delete(map->dso);
+ map__delete(map);
+ return ret;
}
#define DEFAULT_FUNC_FILTER "!_*"
diff --git a/tools/perf/util/probe-event.h b/tools/perf/util/probe-event.h
index 365e016..5199df4 100644
--- a/tools/perf/util/probe-event.h
+++ b/tools/perf/util/probe-event.h
@@ -130,8 +130,8 @@ extern int show_line_range(struct line_range *lr, const char *module);
extern int show_available_vars(struct perf_probe_event *pevs, int npevs,
int max_probe_points, const char *module,
struct strfilter *filter, bool externs);
-extern int show_available_funcs(const char *module, struct strfilter *filter);
-
+extern int show_available_funcs(const char *module, struct strfilter *filter,
+ bool user);
/* Maximum index number of event-name postfix */
#define MAX_EVENT_INDEX 1024
WARNING: multiple messages have this Message-ID (diff)
From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Srikar Dronamraju <srikar@linux.vnet.ibm.com>,
Linux-mm <linux-mm@kvack.org>,
Arnaldo Carvalho de Melo <acme@infradead.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Jonathan Corbet <corbet@lwn.net>, Hugh Dickins <hughd@google.com>,
Christoph Hellwig <hch@infradead.org>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Thomas Gleixner <tglx@linutronix.de>,
Andi Kleen <andi@firstfloor.org>, Oleg Nesterov <oleg@redhat.com>,
LKML <linux-kernel@vger.kernel.org>,
Jim Keniston <jkenisto@linux.vnet.ibm.com>,
Roland McGrath <roland@hack.frob.com>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH v4 3.0-rc2-tip 21/22] 21: perf: show possible probes in a given executable file or library.
Date: Tue, 07 Jun 2011 18:32:31 +0530 [thread overview]
Message-ID: <20110607130231.28590.73619.sendpatchset@localhost6.localdomain6> (raw)
In-Reply-To: <20110607125804.28590.92092.sendpatchset@localhost6.localdomain6>
Enhances -F/--funcs option of "perf probe" to list possible probe points in
an executable file or library. A new option -e/--exe specifies the path of
the executable or library.
Show last 10 functions in /bin/zsh.
# perf probe -F -u -e /bin/zsh | tail
zstrtol
ztrcmp
ztrdup
ztrduppfx
ztrftime
ztrlen
ztrncpy
ztrsub
zwarn
zwarnnam
Show first 10 functions in /lib/libc.so.6
# perf probe -u -F -e /lib/libc.so.6 | head
_IO_adjust_column
_IO_adjust_wcolumn
_IO_default_doallocate
_IO_default_finish
_IO_default_pbackfail
_IO_default_uflow
_IO_default_xsgetn
_IO_default_xsputn
_IO_do_write@@GLIBC_2.2.5
_IO_doallocbuf
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
tools/perf/builtin-probe.c | 63 +++++++++++++++++++++++++++++++++++++----
tools/perf/util/probe-event.c | 56 ++++++++++++++++++++++++++++--------
tools/perf/util/probe-event.h | 4 +--
3 files changed, 102 insertions(+), 21 deletions(-)
diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index a90ee01..6aff85c 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -185,6 +185,55 @@ static int opt_set_filter(const struct option *opt __used,
return 0;
}
+static int opt_set_executable(const struct option *opt __used,
+ const char *str, int unset __used)
+{
+ if (params.target || !str)
+ return -EINVAL;
+
+ if (params.uprobes) {
+ pr_err(" Error: Don't use -m with --uprobes.\n");
+ return -EINVAL;
+ }
+
+ if (str) {
+ params.target = str;
+ params.uprobes = true;
+ }
+ return 0;
+}
+
+#ifdef DWARF_SUPPORT
+static int opt_set_module(const struct option *opt __used,
+ const char *str, int unset __used)
+{
+ if (params.target || !str)
+ return -EINVAL;
+
+ if (params.uprobes) {
+ pr_err(" Error: Don't use -m with --uprobes.\n");
+ return -EINVAL;
+ }
+
+ if (str)
+ params.target = str;
+
+ return 0;
+}
+#endif
+
+static int opt_set_uprobes(const struct option *opt __used,
+ const char *str __used, int unset __used)
+{
+ if (params.target) {
+ pr_err(" Error: Don't use --uprobes with -x/-m.\n");
+ return -EINVAL;
+ }
+
+ params.uprobes = true;
+ return 0;
+}
+
static const char * const probe_usage[] = {
"perf probe [<options>] 'PROBEDEF' ['PROBEDEF' ...]",
"perf probe [<options>] --add 'PROBEDEF' [--add 'PROBEDEF' ...]",
@@ -243,16 +292,18 @@ static const struct option options[] = {
"file", "vmlinux pathname"),
OPT_STRING('s', "source", &symbol_conf.source_prefix,
"directory", "path to kernel source"),
- OPT_STRING('m', "module", ¶ms.target,
- "modname", "target module name"),
+ OPT_CALLBACK('m', "module", NULL, "modname", "target module name",
+ opt_set_module),
#endif
OPT__DRY_RUN(&probe_event_dry_run),
OPT_INTEGER('\0', "max-probes", ¶ms.max_probe_points,
"Set how many probe points can be found for a probe."),
OPT_BOOLEAN('F', "funcs", ¶ms.show_funcs,
"Show potential probe-able functions."),
- OPT_BOOLEAN('u', "uprobes", ¶ms.uprobes,
- "user space probe events"),
+ OPT_CALLBACK_NOOPT('u', "uprobes", NULL, NULL,
+ "user space probe events", opt_set_uprobes),
+ OPT_CALLBACK('x', "exe", NULL, "/path/to/absolute/relative/file",
+ "target executable name", opt_set_executable),
OPT_CALLBACK('\0', "filter", NULL,
"[!]FILTER", "Set a filter (with --vars/funcs only)\n"
"\t\t\t(default: \"" DEFAULT_VAR_FILTER "\" for --vars,\n"
@@ -335,8 +386,8 @@ int cmd_probe(int argc, const char **argv, const char *prefix __used)
if (!params.filter)
params.filter = strfilter__new(DEFAULT_FUNC_FILTER,
NULL);
- ret = show_available_funcs(params.target,
- params.filter);
+ ret = show_available_funcs(params.target, params.filter,
+ params.uprobes);
strfilter__delete(params.filter);
if (ret < 0)
pr_err(" Error: Failed to show functions."
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 30f9e2f..d45dfb1 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -47,6 +47,7 @@
#include "trace-event.h" /* For __unused */
#include "probe-event.h"
#include "probe-finder.h"
+#include "session.h"
#define MAX_CMDLEN 256
#define MAX_PROBE_ARGS 128
@@ -2094,6 +2095,7 @@ error:
}
return ret;
}
+
/* TODO: don't use a global variable for filter ... */
static struct strfilter *available_func_filter;
@@ -2110,32 +2112,60 @@ static int filter_available_functions(struct map *map __unused,
return 1;
}
-int show_available_funcs(const char *elfobject, struct strfilter *_filter)
+static int __show_available_funcs(struct map *map)
+{
+ if (map__load(map, filter_available_functions)) {
+ pr_err("Failed to load map.\n");
+ return -EINVAL;
+ }
+ if (!dso__sorted_by_name(map->dso, map->type))
+ dso__sort_by_name(map->dso, map->type);
+
+ dso__fprintf_symbols_by_name(map->dso, map->type, stdout);
+ return 0;
+}
+
+static int available_kernel_funcs(const char *module)
{
struct map *map;
int ret;
- setup_pager();
-
ret = init_vmlinux();
if (ret < 0)
return ret;
- map = kernel_get_module_map(elfobject);
+ map = kernel_get_module_map(module);
if (!map) {
- pr_err("Failed to find %s map.\n", (elfobject) ? : "kernel");
+ pr_err("Failed to find %s map.\n", (module) ? : "kernel");
return -EINVAL;
}
+ return __show_available_funcs(map);
+}
+
+int show_available_funcs(const char *elfobject, struct strfilter *_filter,
+ bool user)
+{
+ struct map *map;
+ int ret;
+
+ setup_pager();
available_func_filter = _filter;
- if (map__load(map, filter_available_functions)) {
- pr_err("Failed to load map.\n");
- return -EINVAL;
- }
- if (!dso__sorted_by_name(map->dso, map->type))
- dso__sort_by_name(map->dso, map->type);
- dso__fprintf_symbols_by_name(map->dso, map->type, stdout);
- return 0;
+ if (!user)
+ return available_kernel_funcs(elfobject);
+
+ symbol_conf.try_vmlinux_path = false;
+ symbol_conf.sort_by_name = true;
+ ret = symbol__init();
+ if (ret < 0) {
+ pr_err("Failed to init symbol map.\n");
+ return ret;
+ }
+ map = dso__new_map(elfobject);
+ ret = __show_available_funcs(map);
+ dso__delete(map->dso);
+ map__delete(map);
+ return ret;
}
#define DEFAULT_FUNC_FILTER "!_*"
diff --git a/tools/perf/util/probe-event.h b/tools/perf/util/probe-event.h
index 365e016..5199df4 100644
--- a/tools/perf/util/probe-event.h
+++ b/tools/perf/util/probe-event.h
@@ -130,8 +130,8 @@ extern int show_line_range(struct line_range *lr, const char *module);
extern int show_available_vars(struct perf_probe_event *pevs, int npevs,
int max_probe_points, const char *module,
struct strfilter *filter, bool externs);
-extern int show_available_funcs(const char *module, struct strfilter *filter);
-
+extern int show_available_funcs(const char *module, struct strfilter *filter,
+ bool user);
/* Maximum index number of event-name postfix */
#define MAX_EVENT_INDEX 1024
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-06-07 13:09 UTC|newest]
Thread overview: 244+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-07 12:58 [PATCH v4 3.0-rc2-tip 0/22] 0: Uprobes patchset with perf probe support Srikar Dronamraju
2011-06-07 12:58 ` Srikar Dronamraju
2011-06-07 12:58 ` [PATCH v4 3.0-rc2-tip 1/22] 1: X86 specific breakpoint definitions Srikar Dronamraju
2011-06-07 12:58 ` Srikar Dronamraju
2011-06-07 12:58 ` [PATCH v4 3.0-rc2-tip 2/22] 2: uprobes: Breakground page replacement Srikar Dronamraju
2011-06-07 12:58 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 8:48 ` Srikar Dronamraju
2011-06-13 8:48 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 8:50 ` Srikar Dronamraju
2011-06-13 8:50 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 8:59 ` Srikar Dronamraju
2011-06-13 8:59 ` Srikar Dronamraju
2011-06-14 12:57 ` Peter Zijlstra
2011-06-14 12:57 ` Peter Zijlstra
2011-06-14 14:57 ` Srikar Dronamraju
2011-06-14 14:57 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 9:14 ` Srikar Dronamraju
2011-06-13 9:14 ` Srikar Dronamraju
2011-06-13 13:46 ` Oleg Nesterov
2011-06-13 13:46 ` Oleg Nesterov
2011-06-13 17:00 ` Oleg Nesterov
2011-06-13 17:00 ` Oleg Nesterov
2011-06-14 12:35 ` Srikar Dronamraju
2011-06-14 12:35 ` Srikar Dronamraju
2011-06-14 14:20 ` Oleg Nesterov
2011-06-14 14:20 ` Oleg Nesterov
2011-06-15 8:55 ` Srikar Dronamraju
2011-06-15 8:55 ` Srikar Dronamraju
2011-06-15 17:54 ` Oleg Nesterov
2011-06-15 17:54 ` Oleg Nesterov
2011-06-14 13:01 ` Peter Zijlstra
2011-06-14 13:01 ` Peter Zijlstra
2011-06-14 14:27 ` Oleg Nesterov
2011-06-14 14:27 ` Oleg Nesterov
2011-06-14 15:07 ` Peter Zijlstra
2011-06-14 15:07 ` Peter Zijlstra
2011-06-14 15:40 ` Oleg Nesterov
2011-06-14 15:40 ` Oleg Nesterov
2011-06-14 18:22 ` Peter Zijlstra
2011-06-14 18:22 ` Peter Zijlstra
2011-06-16 12:48 ` Peter Zijlstra
2011-06-16 12:48 ` Peter Zijlstra
2011-06-07 12:58 ` [PATCH v4 3.0-rc2-tip 3/22] 3: uprobes: Adding and remove a uprobe in a rb tree Srikar Dronamraju
2011-06-07 12:58 ` Srikar Dronamraju
2011-06-08 4:12 ` Stephen Wilson
2011-06-08 4:12 ` Stephen Wilson
2011-06-08 7:04 ` Josh Stone
2011-06-08 7:04 ` Josh Stone
2011-06-08 10:29 ` Srikar Dronamraju
2011-06-08 10:29 ` Srikar Dronamraju
2011-06-08 10:30 ` Srikar Dronamraju
2011-06-08 10:30 ` Srikar Dronamraju
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 4/22] 4: Uprobes: register/unregister probes Srikar Dronamraju
2011-06-07 12:59 ` Srikar Dronamraju
2011-06-08 22:10 ` Stephen Wilson
2011-06-08 22:10 ` Stephen Wilson
2011-06-09 5:43 ` Srikar Dronamraju
2011-06-09 5:43 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-16 5:40 ` Srikar Dronamraju
2011-06-16 5:40 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 16:50 ` Steven Rostedt
2011-06-13 16:50 ` Steven Rostedt
2011-06-16 5:26 ` Srikar Dronamraju
2011-06-16 5:26 ` Srikar Dronamraju
2011-06-16 9:42 ` Peter Zijlstra
2011-06-16 9:42 ` Peter Zijlstra
2011-06-13 19:57 ` Oleg Nesterov
2011-06-13 19:57 ` Oleg Nesterov
2011-06-14 12:00 ` Srikar Dronamraju
2011-06-14 12:00 ` Srikar Dronamraju
2011-06-14 14:29 ` Oleg Nesterov
2011-06-14 14:29 ` Oleg Nesterov
2011-06-15 17:30 ` Oleg Nesterov
2011-06-15 17:30 ` Oleg Nesterov
2011-06-16 5:09 ` Srikar Dronamraju
2011-06-16 5:09 ` Srikar Dronamraju
2011-06-15 17:41 ` Peter Zijlstra
2011-06-15 17:41 ` Peter Zijlstra
2011-06-16 4:11 ` Srikar Dronamraju
2011-06-16 4:11 ` Srikar Dronamraju
2011-06-16 9:46 ` Peter Zijlstra
2011-06-16 9:46 ` Peter Zijlstra
2011-06-16 9:54 ` Srikar Dronamraju
2011-06-16 9:54 ` Srikar Dronamraju
2011-06-16 10:09 ` Peter Zijlstra
2011-06-16 10:09 ` Peter Zijlstra
2011-06-16 13:51 ` Oleg Nesterov
2011-06-16 13:51 ` Oleg Nesterov
2011-06-17 9:29 ` Srikar Dronamraju
2011-06-17 9:29 ` Srikar Dronamraju
2011-06-15 18:01 ` Peter Zijlstra
2011-06-15 18:01 ` Peter Zijlstra
2011-07-24 18:07 ` Oleg Nesterov
2011-07-24 18:07 ` Oleg Nesterov
2011-07-25 12:17 ` Srikar Dronamraju
2011-07-25 12:17 ` Srikar Dronamraju
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 5/22] 5: x86: analyze instruction and determine fixups Srikar Dronamraju
2011-06-07 12:59 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 6/22] 6: uprobes: store/restore original instruction Srikar Dronamraju
2011-06-07 12:59 ` Srikar Dronamraju
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 7/22] 7: uprobes: mmap and fork hooks Srikar Dronamraju
2011-06-07 12:59 ` Srikar Dronamraju
2011-06-08 22:12 ` Stephen Wilson
2011-06-08 22:12 ` Stephen Wilson
2011-06-09 5:50 ` Srikar Dronamraju
2011-06-09 5:50 ` Srikar Dronamraju
2011-06-15 18:11 ` Peter Zijlstra
2011-06-15 18:11 ` Peter Zijlstra
2011-06-16 3:26 ` Srikar Dronamraju
2011-06-16 3:26 ` Srikar Dronamraju
2011-06-16 12:00 ` Peter Zijlstra
2011-06-16 12:00 ` Peter Zijlstra
2011-06-16 13:00 ` Srikar Dronamraju
2011-06-16 13:00 ` Srikar Dronamraju
2011-06-16 18:23 ` Peter Zijlstra
2011-06-16 18:23 ` Peter Zijlstra
2011-06-16 18:25 ` Peter Zijlstra
2011-06-16 18:25 ` Peter Zijlstra
2011-06-17 4:50 ` Srikar Dronamraju
2011-06-17 4:50 ` Srikar Dronamraju
2011-06-17 8:03 ` Peter Zijlstra
2011-06-17 8:03 ` Peter Zijlstra
2011-06-17 9:05 ` Srikar Dronamraju
2011-06-17 9:05 ` Srikar Dronamraju
2011-06-17 9:41 ` Peter Zijlstra
2011-06-17 9:41 ` Peter Zijlstra
2011-06-21 13:17 ` Peter Zijlstra
2011-06-21 13:17 ` Peter Zijlstra
2011-06-22 14:39 ` Srikar Dronamraju
2011-06-22 14:39 ` Srikar Dronamraju
2011-06-24 2:06 ` Srikar Dronamraju
2011-06-24 2:06 ` Srikar Dronamraju
2011-06-24 7:42 ` Peter Zijlstra
2011-06-24 7:42 ` Peter Zijlstra
2011-06-27 6:45 ` Srikar Dronamraju
2011-06-27 6:45 ` Srikar Dronamraju
2011-06-27 8:57 ` Peter Zijlstra
2011-06-27 8:57 ` Peter Zijlstra
2011-07-18 9:20 ` Srikar Dronamraju
2011-07-18 9:20 ` Srikar Dronamraju
2011-07-18 14:31 ` Peter Zijlstra
2011-07-18 14:31 ` Peter Zijlstra
2011-07-19 6:53 ` Srikar Dronamraju
2011-07-19 6:53 ` Srikar Dronamraju
2011-07-20 11:56 ` Peter Zijlstra
2011-07-20 11:56 ` Peter Zijlstra
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 8/22] 8: x86: architecture specific task information Srikar Dronamraju
2011-06-07 12:59 ` Srikar Dronamraju
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 9/22] 9: uprobes: task specific information Srikar Dronamraju
2011-06-07 12:59 ` Srikar Dronamraju
2011-06-07 13:00 ` [PATCH v4 3.0-rc2-tip 10/22] 10: uprobes: slot allocation for uprobes Srikar Dronamraju
2011-06-07 13:00 ` Srikar Dronamraju
2011-06-07 13:00 ` [PATCH v4 3.0-rc2-tip 11/22] 11: uprobes: get the breakpoint address Srikar Dronamraju
2011-06-07 13:00 ` Srikar Dronamraju
2011-06-07 13:00 ` [PATCH v4 3.0-rc2-tip 12/22] 12: x86: x86 specific probe handling Srikar Dronamraju
2011-06-07 13:00 ` Srikar Dronamraju
2011-06-07 13:00 ` [PATCH v4 3.0-rc2-tip 13/22] 13: uprobes: Handing int3 and singlestep exception Srikar Dronamraju
2011-06-07 13:00 ` Srikar Dronamraju
2011-06-08 22:11 ` Stephen Wilson
2011-06-08 22:11 ` Stephen Wilson
2011-06-09 5:47 ` Srikar Dronamraju
2011-06-09 5:47 ` Srikar Dronamraju
2011-06-16 11:52 ` Peter Zijlstra
2011-06-16 11:52 ` Peter Zijlstra
2011-06-16 12:04 ` Srikar Dronamraju
2011-06-16 12:04 ` Srikar Dronamraju
2011-06-16 12:35 ` Peter Zijlstra
2011-06-16 12:35 ` Peter Zijlstra
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 14/22] 14: x86: uprobes exception notifier for x86 Srikar Dronamraju
2011-06-07 13:01 ` Srikar Dronamraju
2011-06-21 13:31 ` Peter Zijlstra
2011-06-21 13:31 ` Peter Zijlstra
2011-06-21 13:32 ` Peter Zijlstra
2011-06-21 13:32 ` Peter Zijlstra
2011-06-22 14:54 ` Srikar Dronamraju
2011-06-22 14:54 ` Srikar Dronamraju
2011-06-22 16:40 ` Roland McGrath
2011-06-22 16:40 ` Roland McGrath
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 15/22] 15: uprobes: register a notifier for uprobes Srikar Dronamraju
2011-06-07 13:01 ` Srikar Dronamraju
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 16/22] 16: tracing: Extract out common code for kprobes/uprobes traceevents Srikar Dronamraju
2011-06-07 13:01 ` Srikar Dronamraju
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 17/22] 17: tracing: uprobes trace_event interface Srikar Dronamraju
2011-06-07 13:01 ` Srikar Dronamraju
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 18/22] 18: tracing: Uprobe tracer documentation Srikar Dronamraju
2011-06-07 13:01 ` Srikar Dronamraju
2011-06-07 13:02 ` [PATCH v4 3.0-rc2-tip 19/22] 19: perf: rename target_module to target Srikar Dronamraju
2011-06-07 13:02 ` Srikar Dronamraju
2011-06-07 13:02 ` [PATCH v4 3.0-rc2-tip 20/22] 20: perf: perf interface for uprobes Srikar Dronamraju
2011-06-07 13:02 ` Srikar Dronamraju
2011-06-07 13:30 ` Christoph Hellwig
2011-06-07 13:30 ` Christoph Hellwig
2011-06-07 13:38 ` Ananth N Mavinakayanahalli
2011-06-07 13:38 ` Ananth N Mavinakayanahalli
2011-06-07 14:21 ` Arnaldo Carvalho de Melo
2011-06-07 14:21 ` Arnaldo Carvalho de Melo
2011-06-07 16:06 ` Srikar Dronamraju
2011-06-07 16:06 ` Srikar Dronamraju
2011-06-08 3:41 ` Masami Hiramatsu
2011-06-08 3:41 ` Masami Hiramatsu
2011-06-07 19:59 ` Josh Stone
2011-06-07 19:59 ` Josh Stone
2011-06-08 3:44 ` Srikar Dronamraju
2011-06-08 3:44 ` Srikar Dronamraju
2011-06-10 11:50 ` Masami Hiramatsu
2011-06-10 11:50 ` Masami Hiramatsu
2011-06-13 8:41 ` Srikar Dronamraju
2011-06-14 6:29 ` Masami Hiramatsu
2011-06-14 11:56 ` Srikar Dronamraju
2011-06-16 5:59 ` Masami Hiramatsu
2011-06-07 13:02 ` Srikar Dronamraju [this message]
2011-06-07 13:02 ` [PATCH v4 3.0-rc2-tip 21/22] 21: perf: show possible probes in a given executable file or library Srikar Dronamraju
2011-06-07 13:02 ` [PATCH v4 3.0-rc2-tip 22/22] 22: perf: Documentation for perf uprobes Srikar Dronamraju
2011-06-07 13:02 ` Srikar Dronamraju
2011-06-10 12:03 ` Masami Hiramatsu
2011-06-10 12:03 ` Masami Hiramatsu
2011-06-09 18:42 ` [PATCH v4 3.0-rc2-tip 0/22] 0: Uprobes patchset with perf probe support Peter Zijlstra
2011-06-09 18:42 ` Peter Zijlstra
2011-06-10 5:56 ` Ananth N Mavinakayanahalli
2011-06-10 5:56 ` Ananth N Mavinakayanahalli
2011-06-13 9:23 ` Srikar Dronamraju
2011-06-13 9:23 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-10 6:15 ` Masami Hiramatsu
2011-06-10 6:15 ` Masami Hiramatsu
2011-06-13 10:08 ` Srikar Dronamraju
2011-06-13 10:08 ` Srikar Dronamraju
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=20110607130231.28590.73619.sendpatchset@localhost6.localdomain6 \
--to=srikar@linux.vnet.ibm.com \
--cc=acme@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=ananth@in.ibm.com \
--cc=andi@firstfloor.org \
--cc=corbet@lwn.net \
--cc=hch@infradead.org \
--cc=hughd@google.com \
--cc=jkenisto@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@elte.hu \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=roland@hack.frob.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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.