Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1221853 > unrolled thread
| Started by | Namhyung Kim <namhyung@kernel.org> |
|---|---|
| First post | 2015-09-10 04:40 +0200 |
| Last post | 2015-09-16 09:30 +0200 |
| Articles | 10 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH 1/3] perf probe: Free perf probe event in cleanup_perf_probe_events() Namhyung Kim <namhyung@kernel.org> - 2015-09-10 04:40 +0200
[PATCH 3/3] perf probe: Move init/exit_probe_symbol_maps() into callers Namhyung Kim <namhyung@kernel.org> - 2015-09-10 04:40 +0200
RE: [PATCH 3/3] perf probe: Move init/exit_probe_symbol_maps() into callers 平松雅巳 / HIRAMATU,MASAMI <masami.hiramatsu.pt@hitachi.com> - 2015-09-10 15:00 +0200
Re: [PATCH 3/3] perf probe: Move init/exit_probe_symbol_maps() into callers Namhyung Kim <namhyung@kernel.org> - 2015-09-11 18:00 +0200
Re: [PATCH 3/3] perf probe: Move init/exit_probe_symbol_maps() into callers Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-09-14 20:20 +0200
[PATCH 2/3] perf probe: Export init/exit_probe_symbol_maps() Namhyung Kim <namhyung@kernel.org> - 2015-09-10 04:40 +0200
RE: [PATCH 2/3] perf probe: Export init/exit_probe_symbol_maps() 平松雅巳 / HIRAMATU,MASAMI <masami.hiramatsu.pt@hitachi.com> - 2015-09-10 15:00 +0200
[tip:perf/core] perf probe: Export init/exit_probe_symbol_maps() tip-bot for Namhyung Kim <tipbot@zytor.com> - 2015-09-16 09:30 +0200
RE: [PATCH 1/3] perf probe: Free perf probe event in cleanup_perf_probe_events() 平松雅巳 / HIRAMATU,MASAMI <masami.hiramatsu.pt@hitachi.com> - 2015-09-10 11:00 +0200
[tip:perf/core] perf probe: Free perf_probe_event in cleanup_perf_probe_events() tip-bot for Namhyung Kim <tipbot@zytor.com> - 2015-09-16 09:30 +0200
| From | Namhyung Kim <namhyung@kernel.org> |
|---|---|
| Date | 2015-09-10 04:40 +0200 |
| Subject | [PATCH 1/3] perf probe: Free perf probe event in cleanup_perf_probe_events() |
| Message-ID | <q6ZWi-59b-5@gated-at.bofh.it> |
The cleanup_perf_probe_events() frees all resources related to a perf probe event. However it only freed resources in trace probe events, not perf probe events. So call clear_perf_probe_event() too. Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Reported-by: Wang Nan <wangnan0@huawei.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> --- tools/perf/util/probe-event.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index 5964eccbe94d..3d7d60cc6f16 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c @@ -2792,6 +2792,7 @@ void cleanup_perf_probe_events(struct perf_probe_event *pevs, int npevs) clear_probe_trace_event(&pevs[i].tevs[j]); zfree(&pevs[i].tevs); pevs[i].ntevs = 0; + clear_perf_probe_event(&pevs[i]); } exit_symbol_maps(); -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Namhyung Kim <namhyung@kernel.org> |
|---|---|
| Date | 2015-09-10 04:40 +0200 |
| Subject | [PATCH 3/3] perf probe: Move init/exit_probe_symbol_maps() into callers |
| Message-ID | <q6ZWi-59b-15@gated-at.bofh.it> |
| In reply to | #1221853 |
The init/exit_probe_symbol_maps() was a part of
convert_perf_probe_events() and cleanup_perf_probe_events(). But as
these functions can be called multiple times, it'd be better moving
init/exit functions out of them, so that it should be called only once.
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Wang Nan <wangnan0@huawei.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
tools/perf/builtin-probe.c | 5 +++++
tools/perf/util/probe-event.c | 11 +++++------
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index 2bec9c1ef2a3..94385ee89dc8 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -317,6 +317,10 @@ static int perf_add_probe_events(struct perf_probe_event *pevs, int npevs)
int i, k;
const char *event = NULL, *group = NULL;
+ ret = init_probe_symbol_maps(pevs->uprobes);
+ if (ret < 0)
+ return ret;
+
ret = convert_perf_probe_events(pevs, npevs);
if (ret < 0)
goto out_cleanup;
@@ -354,6 +358,7 @@ static int perf_add_probe_events(struct perf_probe_event *pevs, int npevs)
out_cleanup:
cleanup_perf_probe_events(pevs, npevs);
+ exit_probe_symbol_maps();
return ret;
}
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 64e15cba7223..2b78e8f19b45 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -2746,10 +2746,6 @@ int convert_perf_probe_events(struct perf_probe_event *pevs, int npevs)
{
int i, ret;
- ret = init_probe_symbol_maps(pevs->uprobes);
- if (ret < 0)
- return ret;
-
/* Loop 1: convert all events */
for (i = 0; i < npevs; i++) {
/* Init kprobe blacklist if needed */
@@ -2794,20 +2790,23 @@ void cleanup_perf_probe_events(struct perf_probe_event *pevs, int npevs)
pevs[i].ntevs = 0;
clear_perf_probe_event(&pevs[i]);
}
-
- exit_probe_symbol_maps();
}
int add_perf_probe_events(struct perf_probe_event *pevs, int npevs)
{
int ret;
+ ret = init_probe_symbol_maps(pevs->uprobes);
+ if (ret < 0)
+ return ret;
+
ret = convert_perf_probe_events(pevs, npevs);
if (ret == 0)
ret = apply_perf_probe_events(pevs, npevs);
cleanup_perf_probe_events(pevs, npevs);
+ exit_probe_symbol_maps();
return ret;
}
--
2.5.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | 平松雅巳 / HIRAMATU,MASAMI <masami.hiramatsu.pt@hitachi.com> |
|---|---|
| Date | 2015-09-10 15:00 +0200 |
| Subject | RE: [PATCH 3/3] perf probe: Move init/exit_probe_symbol_maps() into callers |
| Message-ID | <q79Ci-1Rv-7@gated-at.bofh.it> |
| In reply to | #1221858 |
DQoNCi0tIA0KTWFzYW1pIEhJUkFNQVRTVQ0KTGludXggVGVjaG5vbG9neSBSZXNlYXJjaCBDZW50 ZXIsIFN5c3RlbSBQcm9kdWN0aXZpdHkgUmVzZWFyY2ggRGVwdC4NCkNlbnRlciBmb3IgVGVjaG5v bG9neSBJbm5vdmF0aW9uIC0gU3lzdGVtcyBFbmdpbmVlcmluZw0KSGl0YWNoaSwgTHRkLiwgUmVz ZWFyY2ggJiBEZXZlbG9wbWVudCBHcm91cA0KRS1tYWlsOiBtYXNhbWkuaGlyYW1hdHN1LnB0QGhp dGFjaGkuY29tDQoNCg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogTmFtaHl1 bmcgS2ltIFttYWlsdG86bmFtaHl1bmdAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YgTmFtaHl1bmcg S2ltDQo+U2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAxMCwgMjAxNSAxMToyNyBBTQ0KPlRvOiBB cm5hbGRvIENhcnZhbGhvIGRlIE1lbG8NCj5DYzogSW5nbyBNb2xuYXI7IFBldGVyIFppamxzdHJh OyBKaXJpIE9sc2E7IExLTUw7IFdhbmcgTmFuOyDlubPmnb7pm4Xlt7MgLyBISVJBTUFUVe+8jE1B U0FNSQ0KPlN1YmplY3Q6IFtQQVRDSCAzLzNdIHBlcmYgcHJvYmU6IE1vdmUgaW5pdC9leGl0X3By b2JlX3N5bWJvbF9tYXBzKCkgaW50byBjYWxsZXJzDQo+DQo+VGhlIGluaXQvZXhpdF9wcm9iZV9z eW1ib2xfbWFwcygpIHdhcyBhIHBhcnQgb2YNCj5jb252ZXJ0X3BlcmZfcHJvYmVfZXZlbnRzKCkg YW5kIGNsZWFudXBfcGVyZl9wcm9iZV9ldmVudHMoKS4gIEJ1dCBhcw0KPnRoZXNlIGZ1bmN0aW9u cyBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLCBpdCdkIGJlIGJldHRlciBtb3ZpbmcNCj5p bml0L2V4aXQgZnVuY3Rpb25zIG91dCBvZiB0aGVtLCBzbyB0aGF0IGl0IHNob3VsZCBiZSBjYWxs ZWQgb25seSBvbmNlLg0KDQpBaCwgT0ssIEkgc2VlLg0KQnV0IEknZCByYXRoZXIgbGlrZSBleHBv c2luZyBwcm90b3R5cGVzIGluIHRoaXMgcGF0Y2gsIHNpbmNlIHRoaXMgaXMgdGhlIHRydWUNCnVz ZXIgb2YgaXQuDQoNClRoYW5rcyENCg0KPg0KPkNjOiBNYXNhbWkgSGlyYW1hdHN1IDxtYXNhbWku aGlyYW1hdHN1LnB0QGhpdGFjaGkuY29tPg0KPkNjOiBXYW5nIE5hbiA8d2FuZ25hbjBAaHVhd2Vp LmNvbT4NCj5TaWduZWQtb2ZmLWJ5OiBOYW1oeXVuZyBLaW0gPG5hbWh5dW5nQGtlcm5lbC5vcmc+ DQo+LS0tDQo+IHRvb2xzL3BlcmYvYnVpbHRpbi1wcm9iZS5jICAgIHwgIDUgKysrKysNCj4gdG9v bHMvcGVyZi91dGlsL3Byb2JlLWV2ZW50LmMgfCAxMSArKysrKy0tLS0tLQ0KPiAyIGZpbGVzIGNo YW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQo+DQo+ZGlmZiAtLWdpdCBh L3Rvb2xzL3BlcmYvYnVpbHRpbi1wcm9iZS5jIGIvdG9vbHMvcGVyZi9idWlsdGluLXByb2JlLmMN Cj5pbmRleCAyYmVjOWMxZWYyYTMuLjk0Mzg1ZWU4OWRjOCAxMDA2NDQNCj4tLS0gYS90b29scy9w ZXJmL2J1aWx0aW4tcHJvYmUuYw0KPisrKyBiL3Rvb2xzL3BlcmYvYnVpbHRpbi1wcm9iZS5jDQo+ QEAgLTMxNyw2ICszMTcsMTAgQEAgc3RhdGljIGludCBwZXJmX2FkZF9wcm9iZV9ldmVudHMoc3Ry dWN0IHBlcmZfcHJvYmVfZXZlbnQgKnBldnMsIGludCBucGV2cykNCj4gCWludCBpLCBrOw0KPiAJ Y29uc3QgY2hhciAqZXZlbnQgPSBOVUxMLCAqZ3JvdXAgPSBOVUxMOw0KPg0KPisJcmV0ID0gaW5p dF9wcm9iZV9zeW1ib2xfbWFwcyhwZXZzLT51cHJvYmVzKTsNCj4rCWlmIChyZXQgPCAwKQ0KPisJ CXJldHVybiByZXQ7DQo+Kw0KPiAJcmV0ID0gY29udmVydF9wZXJmX3Byb2JlX2V2ZW50cyhwZXZz LCBucGV2cyk7DQo+IAlpZiAocmV0IDwgMCkNCj4gCQlnb3RvIG91dF9jbGVhbnVwOw0KPkBAIC0z NTQsNiArMzU4LDcgQEAgc3RhdGljIGludCBwZXJmX2FkZF9wcm9iZV9ldmVudHMoc3RydWN0IHBl cmZfcHJvYmVfZXZlbnQgKnBldnMsIGludCBucGV2cykNCj4NCj4gb3V0X2NsZWFudXA6DQo+IAlj bGVhbnVwX3BlcmZfcHJvYmVfZXZlbnRzKHBldnMsIG5wZXZzKTsNCj4rCWV4aXRfcHJvYmVfc3lt Ym9sX21hcHMoKTsNCj4gCXJldHVybiByZXQ7DQo+IH0NCj4NCj5kaWZmIC0tZ2l0IGEvdG9vbHMv cGVyZi91dGlsL3Byb2JlLWV2ZW50LmMgYi90b29scy9wZXJmL3V0aWwvcHJvYmUtZXZlbnQuYw0K PmluZGV4IDY0ZTE1Y2JhNzIyMy4uMmI3OGU4ZjE5YjQ1IDEwMDY0NA0KPi0tLSBhL3Rvb2xzL3Bl cmYvdXRpbC9wcm9iZS1ldmVudC5jDQo+KysrIGIvdG9vbHMvcGVyZi91dGlsL3Byb2JlLWV2ZW50 LmMNCj5AQCAtMjc0NiwxMCArMjc0Niw2IEBAIGludCBjb252ZXJ0X3BlcmZfcHJvYmVfZXZlbnRz KHN0cnVjdCBwZXJmX3Byb2JlX2V2ZW50ICpwZXZzLCBpbnQgbnBldnMpDQo+IHsNCj4gCWludCBp LCByZXQ7DQo+DQo+LQlyZXQgPSBpbml0X3Byb2JlX3N5bWJvbF9tYXBzKHBldnMtPnVwcm9iZXMp Ow0KPi0JaWYgKHJldCA8IDApDQo+LQkJcmV0dXJuIHJldDsNCj4tDQo+IAkvKiBMb29wIDE6IGNv bnZlcnQgYWxsIGV2ZW50cyAqLw0KPiAJZm9yIChpID0gMDsgaSA8IG5wZXZzOyBpKyspIHsNCj4g CQkvKiBJbml0IGtwcm9iZSBibGFja2xpc3QgaWYgbmVlZGVkICovDQo+QEAgLTI3OTQsMjAgKzI3 OTAsMjMgQEAgdm9pZCBjbGVhbnVwX3BlcmZfcHJvYmVfZXZlbnRzKHN0cnVjdCBwZXJmX3Byb2Jl X2V2ZW50ICpwZXZzLCBpbnQgbnBldnMpDQo+IAkJcGV2c1tpXS5udGV2cyA9IDA7DQo+IAkJY2xl YXJfcGVyZl9wcm9iZV9ldmVudCgmcGV2c1tpXSk7DQo+IAl9DQo+LQ0KPi0JZXhpdF9wcm9iZV9z eW1ib2xfbWFwcygpOw0KPiB9DQo+DQo+IGludCBhZGRfcGVyZl9wcm9iZV9ldmVudHMoc3RydWN0 IHBlcmZfcHJvYmVfZXZlbnQgKnBldnMsIGludCBucGV2cykNCj4gew0KPiAJaW50IHJldDsNCj4N Cj4rCXJldCA9IGluaXRfcHJvYmVfc3ltYm9sX21hcHMocGV2cy0+dXByb2Jlcyk7DQo+KwlpZiAo cmV0IDwgMCkNCj4rCQlyZXR1cm4gcmV0Ow0KPisNCj4gCXJldCA9IGNvbnZlcnRfcGVyZl9wcm9i ZV9ldmVudHMocGV2cywgbnBldnMpOw0KPiAJaWYgKHJldCA9PSAwKQ0KPiAJCXJldCA9IGFwcGx5 X3BlcmZfcHJvYmVfZXZlbnRzKHBldnMsIG5wZXZzKTsNCj4NCj4gCWNsZWFudXBfcGVyZl9wcm9i ZV9ldmVudHMocGV2cywgbnBldnMpOw0KPg0KPisJZXhpdF9wcm9iZV9zeW1ib2xfbWFwcygpOw0K PiAJcmV0dXJuIHJldDsNCj4gfQ0KPg0KPi0tDQo+Mi41LjANCg0K -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Namhyung Kim <namhyung@kernel.org> |
|---|---|
| Date | 2015-09-11 18:00 +0200 |
| Subject | Re: [PATCH 3/3] perf probe: Move init/exit_probe_symbol_maps() into callers |
| Message-ID | <q7yU2-69Q-3@gated-at.bofh.it> |
| In reply to | #1222172 |
On Thu, Sep 10, 2015 at 12:58:59PM +0000, 平松雅巳 / HIRAMATU,MASAMI wrote: > > >From: Namhyung Kim [mailto:namhyung@gmail.com] On Behalf Of Namhyung Kim > >The init/exit_probe_symbol_maps() was a part of > >convert_perf_probe_events() and cleanup_perf_probe_events(). But as > >these functions can be called multiple times, it'd be better moving > >init/exit functions out of them, so that it should be called only once. > > Ah, OK, I see. > But I'd rather like exposing prototypes in this patch, since this is the true > user of it. I'm fine with merging 2/3 and 3/3. Arnaldo, could you do this or do you want me to resend? Thanks, Namhyung -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2015-09-14 20:20 +0200 |
| Subject | Re: [PATCH 3/3] perf probe: Move init/exit_probe_symbol_maps() into callers |
| Message-ID | <q8Gwa-5zh-11@gated-at.bofh.it> |
| In reply to | #1222923 |
Em Sat, Sep 12, 2015 at 12:52:22AM +0900, Namhyung Kim escreveu: > On Thu, Sep 10, 2015 at 12:58:59PM +0000, 平松雅巳 / HIRAMATU,MASAMI wrote: > > > > >From: Namhyung Kim [mailto:namhyung@gmail.com] On Behalf Of Namhyung Kim > > >The init/exit_probe_symbol_maps() was a part of > > >convert_perf_probe_events() and cleanup_perf_probe_events(). But as > > >these functions can be called multiple times, it'd be better moving > > >init/exit functions out of them, so that it should be called only once. > > > > Ah, OK, I see. > > But I'd rather like exposing prototypes in this patch, since this is the true > > user of it. > > I'm fine with merging 2/3 and 3/3. Arnaldo, could you do this or do > you want me to resend? Done. Merged the three, combined 2/3 with 3/3. - Arnaldo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Namhyung Kim <namhyung@kernel.org> |
|---|---|
| Date | 2015-09-10 04:40 +0200 |
| Subject | [PATCH 2/3] perf probe: Export init/exit_probe_symbol_maps() |
| Message-ID | <q6ZWi-59b-19@gated-at.bofh.it> |
| In reply to | #1221853 |
The init/exit_symbols_maps() functions are to setup and cleanup
necessary info for probe events. But they need to be called from out of
the probe code now, so this patch exports them.
However the names are too generic, so change them to have 'probe'. :)
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Wang Nan <wangnan0@huawei.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
tools/perf/util/probe-event.c | 24 ++++++++++++------------
tools/perf/util/probe-event.h | 2 ++
2 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 3d7d60cc6f16..64e15cba7223 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -71,7 +71,7 @@ static char *synthesize_perf_probe_point(struct perf_probe_point *pp);
static struct machine *host_machine;
/* Initialize symbol maps and path of vmlinux/modules */
-static int init_symbol_maps(bool user_only)
+int init_probe_symbol_maps(bool user_only)
{
int ret;
@@ -101,7 +101,7 @@ out:
return ret;
}
-static void exit_symbol_maps(void)
+void exit_probe_symbol_maps(void)
{
if (host_machine) {
machine__delete(host_machine);
@@ -859,11 +859,11 @@ int show_line_range(struct line_range *lr, const char *module, bool user)
{
int ret;
- ret = init_symbol_maps(user);
+ ret = init_probe_symbol_maps(user);
if (ret < 0)
return ret;
ret = __show_line_range(lr, module, user);
- exit_symbol_maps();
+ exit_probe_symbol_maps();
return ret;
}
@@ -941,7 +941,7 @@ int show_available_vars(struct perf_probe_event *pevs, int npevs,
int i, ret = 0;
struct debuginfo *dinfo;
- ret = init_symbol_maps(pevs->uprobes);
+ ret = init_probe_symbol_maps(pevs->uprobes);
if (ret < 0)
return ret;
@@ -958,7 +958,7 @@ int show_available_vars(struct perf_probe_event *pevs, int npevs,
debuginfo__delete(dinfo);
out:
- exit_symbol_maps();
+ exit_probe_symbol_maps();
return ret;
}
@@ -2262,7 +2262,7 @@ int show_perf_probe_events(struct strfilter *filter)
setup_pager();
- ret = init_symbol_maps(false);
+ ret = init_probe_symbol_maps(false);
if (ret < 0)
return ret;
@@ -2278,7 +2278,7 @@ int show_perf_probe_events(struct strfilter *filter)
close(kp_fd);
if (up_fd > 0)
close(up_fd);
- exit_symbol_maps();
+ exit_probe_symbol_maps();
return ret;
}
@@ -2746,7 +2746,7 @@ int convert_perf_probe_events(struct perf_probe_event *pevs, int npevs)
{
int i, ret;
- ret = init_symbol_maps(pevs->uprobes);
+ ret = init_probe_symbol_maps(pevs->uprobes);
if (ret < 0)
return ret;
@@ -2795,7 +2795,7 @@ void cleanup_perf_probe_events(struct perf_probe_event *pevs, int npevs)
clear_perf_probe_event(&pevs[i]);
}
- exit_symbol_maps();
+ exit_probe_symbol_maps();
}
int add_perf_probe_events(struct perf_probe_event *pevs, int npevs)
@@ -2867,7 +2867,7 @@ int show_available_funcs(const char *target, struct strfilter *_filter,
struct map *map;
int ret;
- ret = init_symbol_maps(user);
+ ret = init_probe_symbol_maps(user);
if (ret < 0)
return ret;
@@ -2897,7 +2897,7 @@ end:
if (user) {
map__put(map);
}
- exit_symbol_maps();
+ exit_probe_symbol_maps();
return ret;
}
diff --git a/tools/perf/util/probe-event.h b/tools/perf/util/probe-event.h
index 9bcea36359f2..ba926c30f8cd 100644
--- a/tools/perf/util/probe-event.h
+++ b/tools/perf/util/probe-event.h
@@ -110,6 +110,8 @@ struct variable_list {
};
struct map;
+int init_probe_symbol_maps(bool user_only);
+void exit_probe_symbol_maps(void);
/* Command string to events */
extern int parse_perf_probe_command(const char *cmd,
--
2.5.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | 平松雅巳 / HIRAMATU,MASAMI <masami.hiramatsu.pt@hitachi.com> |
|---|---|
| Date | 2015-09-10 15:00 +0200 |
| Subject | RE: [PATCH 2/3] perf probe: Export init/exit_probe_symbol_maps() |
| Message-ID | <q79Ci-1Rv-9@gated-at.bofh.it> |
| In reply to | #1221859 |
PkZyb206IE5hbWh5dW5nIEtpbSBbbWFpbHRvOm5hbWh5dW5nQGdtYWlsLmNvbV0gT24gQmVoYWxm IE9mIE5hbWh5dW5nIEtpbQ0KPg0KPlRoZSBpbml0L2V4aXRfc3ltYm9sc19tYXBzKCkgZnVuY3Rp b25zIGFyZSB0byBzZXR1cCBhbmQgY2xlYW51cA0KPm5lY2Vzc2FyeSBpbmZvIGZvciBwcm9iZSBl dmVudHMuICBCdXQgdGhleSBuZWVkIHRvIGJlIGNhbGxlZCBmcm9tIG91dCBvZg0KPnRoZSBwcm9i ZSBjb2RlIG5vdywgc28gdGhpcyBwYXRjaCBleHBvcnRzIHRoZW0uDQo+DQo+SG93ZXZlciB0aGUg bmFtZXMgYXJlIHRvbyBnZW5lcmljLCBzbyBjaGFuZ2UgdGhlbSB0byBoYXZlICdwcm9iZScuIDop DQoNCkNoYW5naW5nIG5hbWUgaXMgT0ssIGJ1dCB3aHkgYXJlIHRoZXkgZXhwb3NlZD8/DQoNClRo YW5rcywNCg0KPg0KPkNjOiBNYXNhbWkgSGlyYW1hdHN1IDxtYXNhbWkuaGlyYW1hdHN1LnB0QGhp dGFjaGkuY29tPg0KPkNjOiBXYW5nIE5hbiA8d2FuZ25hbjBAaHVhd2VpLmNvbT4NCj5TaWduZWQt b2ZmLWJ5OiBOYW1oeXVuZyBLaW0gPG5hbWh5dW5nQGtlcm5lbC5vcmc+DQo+LS0tDQo+IHRvb2xz L3BlcmYvdXRpbC9wcm9iZS1ldmVudC5jIHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0tLS0tDQo+ IHRvb2xzL3BlcmYvdXRpbC9wcm9iZS1ldmVudC5oIHwgIDIgKysNCj4gMiBmaWxlcyBjaGFuZ2Vk LCAxNCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkNCj4NCj5kaWZmIC0tZ2l0IGEvdG9v bHMvcGVyZi91dGlsL3Byb2JlLWV2ZW50LmMgYi90b29scy9wZXJmL3V0aWwvcHJvYmUtZXZlbnQu Yw0KPmluZGV4IDNkN2Q2MGNjNmYxNi4uNjRlMTVjYmE3MjIzIDEwMDY0NA0KPi0tLSBhL3Rvb2xz L3BlcmYvdXRpbC9wcm9iZS1ldmVudC5jDQo+KysrIGIvdG9vbHMvcGVyZi91dGlsL3Byb2JlLWV2 ZW50LmMNCj5AQCAtNzEsNyArNzEsNyBAQCBzdGF0aWMgY2hhciAqc3ludGhlc2l6ZV9wZXJmX3By b2JlX3BvaW50KHN0cnVjdCBwZXJmX3Byb2JlX3BvaW50ICpwcCk7DQo+IHN0YXRpYyBzdHJ1Y3Qg bWFjaGluZSAqaG9zdF9tYWNoaW5lOw0KPg0KPiAvKiBJbml0aWFsaXplIHN5bWJvbCBtYXBzIGFu ZCBwYXRoIG9mIHZtbGludXgvbW9kdWxlcyAqLw0KPi1zdGF0aWMgaW50IGluaXRfc3ltYm9sX21h cHMoYm9vbCB1c2VyX29ubHkpDQo+K2ludCBpbml0X3Byb2JlX3N5bWJvbF9tYXBzKGJvb2wgdXNl cl9vbmx5KQ0KPiB7DQo+IAlpbnQgcmV0Ow0KPg0KPkBAIC0xMDEsNyArMTAxLDcgQEAgb3V0Og0K PiAJcmV0dXJuIHJldDsNCj4gfQ0KPg0KPi1zdGF0aWMgdm9pZCBleGl0X3N5bWJvbF9tYXBzKHZv aWQpDQo+K3ZvaWQgZXhpdF9wcm9iZV9zeW1ib2xfbWFwcyh2b2lkKQ0KPiB7DQo+IAlpZiAoaG9z dF9tYWNoaW5lKSB7DQo+IAkJbWFjaGluZV9fZGVsZXRlKGhvc3RfbWFjaGluZSk7DQo+QEAgLTg1 OSwxMSArODU5LDExIEBAIGludCBzaG93X2xpbmVfcmFuZ2Uoc3RydWN0IGxpbmVfcmFuZ2UgKmxy LCBjb25zdCBjaGFyICptb2R1bGUsIGJvb2wgdXNlcikNCj4gew0KPiAJaW50IHJldDsNCj4NCj4t CXJldCA9IGluaXRfc3ltYm9sX21hcHModXNlcik7DQo+KwlyZXQgPSBpbml0X3Byb2JlX3N5bWJv bF9tYXBzKHVzZXIpOw0KPiAJaWYgKHJldCA8IDApDQo+IAkJcmV0dXJuIHJldDsNCj4gCXJldCA9 IF9fc2hvd19saW5lX3JhbmdlKGxyLCBtb2R1bGUsIHVzZXIpOw0KPi0JZXhpdF9zeW1ib2xfbWFw cygpOw0KPisJZXhpdF9wcm9iZV9zeW1ib2xfbWFwcygpOw0KPg0KPiAJcmV0dXJuIHJldDsNCj4g fQ0KPkBAIC05NDEsNyArOTQxLDcgQEAgaW50IHNob3dfYXZhaWxhYmxlX3ZhcnMoc3RydWN0IHBl cmZfcHJvYmVfZXZlbnQgKnBldnMsIGludCBucGV2cywNCj4gCWludCBpLCByZXQgPSAwOw0KPiAJ c3RydWN0IGRlYnVnaW5mbyAqZGluZm87DQo+DQo+LQlyZXQgPSBpbml0X3N5bWJvbF9tYXBzKHBl dnMtPnVwcm9iZXMpOw0KPisJcmV0ID0gaW5pdF9wcm9iZV9zeW1ib2xfbWFwcyhwZXZzLT51cHJv YmVzKTsNCj4gCWlmIChyZXQgPCAwKQ0KPiAJCXJldHVybiByZXQ7DQo+DQo+QEAgLTk1OCw3ICs5 NTgsNyBAQCBpbnQgc2hvd19hdmFpbGFibGVfdmFycyhzdHJ1Y3QgcGVyZl9wcm9iZV9ldmVudCAq cGV2cywgaW50IG5wZXZzLA0KPg0KPiAJZGVidWdpbmZvX19kZWxldGUoZGluZm8pOw0KPiBvdXQ6 DQo+LQlleGl0X3N5bWJvbF9tYXBzKCk7DQo+KwlleGl0X3Byb2JlX3N5bWJvbF9tYXBzKCk7DQo+ IAlyZXR1cm4gcmV0Ow0KPiB9DQo+DQo+QEAgLTIyNjIsNyArMjI2Miw3IEBAIGludCBzaG93X3Bl cmZfcHJvYmVfZXZlbnRzKHN0cnVjdCBzdHJmaWx0ZXIgKmZpbHRlcikNCj4NCj4gCXNldHVwX3Bh Z2VyKCk7DQo+DQo+LQlyZXQgPSBpbml0X3N5bWJvbF9tYXBzKGZhbHNlKTsNCj4rCXJldCA9IGlu aXRfcHJvYmVfc3ltYm9sX21hcHMoZmFsc2UpOw0KPiAJaWYgKHJldCA8IDApDQo+IAkJcmV0dXJu IHJldDsNCj4NCj5AQCAtMjI3OCw3ICsyMjc4LDcgQEAgaW50IHNob3dfcGVyZl9wcm9iZV9ldmVu dHMoc3RydWN0IHN0cmZpbHRlciAqZmlsdGVyKQ0KPiAJCWNsb3NlKGtwX2ZkKTsNCj4gCWlmICh1 cF9mZCA+IDApDQo+IAkJY2xvc2UodXBfZmQpOw0KPi0JZXhpdF9zeW1ib2xfbWFwcygpOw0KPisJ ZXhpdF9wcm9iZV9zeW1ib2xfbWFwcygpOw0KPg0KPiAJcmV0dXJuIHJldDsNCj4gfQ0KPkBAIC0y NzQ2LDcgKzI3NDYsNyBAQCBpbnQgY29udmVydF9wZXJmX3Byb2JlX2V2ZW50cyhzdHJ1Y3QgcGVy Zl9wcm9iZV9ldmVudCAqcGV2cywgaW50IG5wZXZzKQ0KPiB7DQo+IAlpbnQgaSwgcmV0Ow0KPg0K Pi0JcmV0ID0gaW5pdF9zeW1ib2xfbWFwcyhwZXZzLT51cHJvYmVzKTsNCj4rCXJldCA9IGluaXRf cHJvYmVfc3ltYm9sX21hcHMocGV2cy0+dXByb2Jlcyk7DQo+IAlpZiAocmV0IDwgMCkNCj4gCQly ZXR1cm4gcmV0Ow0KPg0KPkBAIC0yNzk1LDcgKzI3OTUsNyBAQCB2b2lkIGNsZWFudXBfcGVyZl9w cm9iZV9ldmVudHMoc3RydWN0IHBlcmZfcHJvYmVfZXZlbnQgKnBldnMsIGludCBucGV2cykNCj4g CQljbGVhcl9wZXJmX3Byb2JlX2V2ZW50KCZwZXZzW2ldKTsNCj4gCX0NCj4NCj4tCWV4aXRfc3lt Ym9sX21hcHMoKTsNCj4rCWV4aXRfcHJvYmVfc3ltYm9sX21hcHMoKTsNCj4gfQ0KPg0KPiBpbnQg YWRkX3BlcmZfcHJvYmVfZXZlbnRzKHN0cnVjdCBwZXJmX3Byb2JlX2V2ZW50ICpwZXZzLCBpbnQg bnBldnMpDQo+QEAgLTI4NjcsNyArMjg2Nyw3IEBAIGludCBzaG93X2F2YWlsYWJsZV9mdW5jcyhj b25zdCBjaGFyICp0YXJnZXQsIHN0cnVjdCBzdHJmaWx0ZXIgKl9maWx0ZXIsDQo+IAlzdHJ1Y3Qg bWFwICptYXA7DQo+IAlpbnQgcmV0Ow0KPg0KPi0JcmV0ID0gaW5pdF9zeW1ib2xfbWFwcyh1c2Vy KTsNCj4rCXJldCA9IGluaXRfcHJvYmVfc3ltYm9sX21hcHModXNlcik7DQo+IAlpZiAocmV0IDwg MCkNCj4gCQlyZXR1cm4gcmV0Ow0KPg0KPkBAIC0yODk3LDcgKzI4OTcsNyBAQCBlbmQ6DQo+IAlp ZiAodXNlcikgew0KPiAJCW1hcF9fcHV0KG1hcCk7DQo+IAl9DQo+LQlleGl0X3N5bWJvbF9tYXBz KCk7DQo+KwlleGl0X3Byb2JlX3N5bWJvbF9tYXBzKCk7DQo+DQo+IAlyZXR1cm4gcmV0Ow0KPiB9 DQo+ZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvdXRpbC9wcm9iZS1ldmVudC5oIGIvdG9vbHMvcGVy Zi91dGlsL3Byb2JlLWV2ZW50LmgNCj5pbmRleCA5YmNlYTM2MzU5ZjIuLmJhOTI2YzMwZjhjZCAx MDA2NDQNCj4tLS0gYS90b29scy9wZXJmL3V0aWwvcHJvYmUtZXZlbnQuaA0KPisrKyBiL3Rvb2xz L3BlcmYvdXRpbC9wcm9iZS1ldmVudC5oDQo+QEAgLTExMCw2ICsxMTAsOCBAQCBzdHJ1Y3QgdmFy aWFibGVfbGlzdCB7DQo+IH07DQo+DQo+IHN0cnVjdCBtYXA7DQo+K2ludCBpbml0X3Byb2JlX3N5 bWJvbF9tYXBzKGJvb2wgdXNlcl9vbmx5KTsNCj4rdm9pZCBleGl0X3Byb2JlX3N5bWJvbF9tYXBz KHZvaWQpOw0KPg0KPiAvKiBDb21tYW5kIHN0cmluZyB0byBldmVudHMgKi8NCj4gZXh0ZXJuIGlu dCBwYXJzZV9wZXJmX3Byb2JlX2NvbW1hbmQoY29uc3QgY2hhciAqY21kLA0KPi0tDQo+Mi41LjAN Cg0K -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | tip-bot for Namhyung Kim <tipbot@zytor.com> |
|---|---|
| Date | 2015-09-16 09:30 +0200 |
| Subject | [tip:perf/core] perf probe: Export init/exit_probe_symbol_maps() |
| Message-ID | <q9fkd-63y-7@gated-at.bofh.it> |
| In reply to | #1221859 |
Commit-ID: 9bae1e8c3fe5359ce17309b894f54667fd563e98
Gitweb: http://git.kernel.org/tip/9bae1e8c3fe5359ce17309b894f54667fd563e98
Author: Namhyung Kim <namhyung@kernel.org>
AuthorDate: Thu, 10 Sep 2015 11:27:05 +0900
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Tue, 15 Sep 2015 09:48:32 -0300
perf probe: Export init/exit_probe_symbol_maps()
The init/exit_symbols_maps() functions are to setup and cleanup
necessary info for probe events. But they need to be called from out of
the probe code now, so this patch exports them.
However the names are too generic, so change them to have 'probe'. :)
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1441852026-28974-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-probe.c | 5 +++++
tools/perf/util/probe-event.c | 31 +++++++++++++++----------------
tools/perf/util/probe-event.h | 2 ++
3 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index 2bec9c1..94385ee 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -317,6 +317,10 @@ static int perf_add_probe_events(struct perf_probe_event *pevs, int npevs)
int i, k;
const char *event = NULL, *group = NULL;
+ ret = init_probe_symbol_maps(pevs->uprobes);
+ if (ret < 0)
+ return ret;
+
ret = convert_perf_probe_events(pevs, npevs);
if (ret < 0)
goto out_cleanup;
@@ -354,6 +358,7 @@ static int perf_add_probe_events(struct perf_probe_event *pevs, int npevs)
out_cleanup:
cleanup_perf_probe_events(pevs, npevs);
+ exit_probe_symbol_maps();
return ret;
}
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 3d7d60c..2b78e8f 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -71,7 +71,7 @@ static char *synthesize_perf_probe_point(struct perf_probe_point *pp);
static struct machine *host_machine;
/* Initialize symbol maps and path of vmlinux/modules */
-static int init_symbol_maps(bool user_only)
+int init_probe_symbol_maps(bool user_only)
{
int ret;
@@ -101,7 +101,7 @@ out:
return ret;
}
-static void exit_symbol_maps(void)
+void exit_probe_symbol_maps(void)
{
if (host_machine) {
machine__delete(host_machine);
@@ -859,11 +859,11 @@ int show_line_range(struct line_range *lr, const char *module, bool user)
{
int ret;
- ret = init_symbol_maps(user);
+ ret = init_probe_symbol_maps(user);
if (ret < 0)
return ret;
ret = __show_line_range(lr, module, user);
- exit_symbol_maps();
+ exit_probe_symbol_maps();
return ret;
}
@@ -941,7 +941,7 @@ int show_available_vars(struct perf_probe_event *pevs, int npevs,
int i, ret = 0;
struct debuginfo *dinfo;
- ret = init_symbol_maps(pevs->uprobes);
+ ret = init_probe_symbol_maps(pevs->uprobes);
if (ret < 0)
return ret;
@@ -958,7 +958,7 @@ int show_available_vars(struct perf_probe_event *pevs, int npevs,
debuginfo__delete(dinfo);
out:
- exit_symbol_maps();
+ exit_probe_symbol_maps();
return ret;
}
@@ -2262,7 +2262,7 @@ int show_perf_probe_events(struct strfilter *filter)
setup_pager();
- ret = init_symbol_maps(false);
+ ret = init_probe_symbol_maps(false);
if (ret < 0)
return ret;
@@ -2278,7 +2278,7 @@ int show_perf_probe_events(struct strfilter *filter)
close(kp_fd);
if (up_fd > 0)
close(up_fd);
- exit_symbol_maps();
+ exit_probe_symbol_maps();
return ret;
}
@@ -2746,10 +2746,6 @@ int convert_perf_probe_events(struct perf_probe_event *pevs, int npevs)
{
int i, ret;
- ret = init_symbol_maps(pevs->uprobes);
- if (ret < 0)
- return ret;
-
/* Loop 1: convert all events */
for (i = 0; i < npevs; i++) {
/* Init kprobe blacklist if needed */
@@ -2794,20 +2790,23 @@ void cleanup_perf_probe_events(struct perf_probe_event *pevs, int npevs)
pevs[i].ntevs = 0;
clear_perf_probe_event(&pevs[i]);
}
-
- exit_symbol_maps();
}
int add_perf_probe_events(struct perf_probe_event *pevs, int npevs)
{
int ret;
+ ret = init_probe_symbol_maps(pevs->uprobes);
+ if (ret < 0)
+ return ret;
+
ret = convert_perf_probe_events(pevs, npevs);
if (ret == 0)
ret = apply_perf_probe_events(pevs, npevs);
cleanup_perf_probe_events(pevs, npevs);
+ exit_probe_symbol_maps();
return ret;
}
@@ -2867,7 +2866,7 @@ int show_available_funcs(const char *target, struct strfilter *_filter,
struct map *map;
int ret;
- ret = init_symbol_maps(user);
+ ret = init_probe_symbol_maps(user);
if (ret < 0)
return ret;
@@ -2897,7 +2896,7 @@ end:
if (user) {
map__put(map);
}
- exit_symbol_maps();
+ exit_probe_symbol_maps();
return ret;
}
diff --git a/tools/perf/util/probe-event.h b/tools/perf/util/probe-event.h
index 9bcea36..ba926c3 100644
--- a/tools/perf/util/probe-event.h
+++ b/tools/perf/util/probe-event.h
@@ -110,6 +110,8 @@ struct variable_list {
};
struct map;
+int init_probe_symbol_maps(bool user_only);
+void exit_probe_symbol_maps(void);
/* Command string to events */
extern int parse_perf_probe_command(const char *cmd,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | 平松雅巳 / HIRAMATU,MASAMI <masami.hiramatsu.pt@hitachi.com> |
|---|---|
| Date | 2015-09-10 11:00 +0200 |
| Subject | RE: [PATCH 1/3] perf probe: Free perf probe event in cleanup_perf_probe_events() |
| Message-ID | <q75S3-4Wf-13@gated-at.bofh.it> |
| In reply to | #1221853 |
SGkgTmFtaHl1bmcsDQoNCj5Gcm9tOiBOYW1oeXVuZyBLaW0gW21haWx0bzpuYW1oeXVuZ0BnbWFp bC5jb21dIE9uIEJlaGFsZiBPZiBOYW1oeXVuZyBLaW0NCj5TZW50OiBUaHVyc2RheSwgU2VwdGVt YmVyIDEwLCAyMDE1IDExOjI3IEFNDQo+VG86IEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbw0KPkNj OiBJbmdvIE1vbG5hcjsgUGV0ZXIgWmlqbHN0cmE7IEppcmkgT2xzYTsgTEtNTDsgV2FuZyBOYW47 IOW5s+advumbheW3syAvIEhJUkFNQVRV77yMTUFTQU1JDQo+U3ViamVjdDogW1BBVENIIDEvM10g cGVyZiBwcm9iZTogRnJlZSBwZXJmIHByb2JlIGV2ZW50IGluIGNsZWFudXBfcGVyZl9wcm9iZV9l dmVudHMoKQ0KPg0KPlRoZSBjbGVhbnVwX3BlcmZfcHJvYmVfZXZlbnRzKCkgZnJlZXMgYWxsIHJl c291cmNlcyByZWxhdGVkIHRvIGEgcGVyZg0KPnByb2JlIGV2ZW50LiAgSG93ZXZlciBpdCBvbmx5 IGZyZWVkIHJlc291cmNlcyBpbiB0cmFjZSBwcm9iZSBldmVudHMsIG5vdA0KPnBlcmYgcHJvYmUg ZXZlbnRzLiAgU28gY2FsbCBjbGVhcl9wZXJmX3Byb2JlX2V2ZW50KCkgdG9vLg0KDQpUaGlzIGxv b2tzIGdvb2QgdG8gbWUgOikNCg0KQWNrZWQtYnk6IE1hc2FtaSBIaXJhbWF0c3UgPG1hc2FtaS5o aXJhbWF0c3UucHRAaGl0YWNoaS5jb20+DQoNClRoYW5rcyENCg0KDQo+DQo+Q2M6IE1hc2FtaSBI aXJhbWF0c3UgPG1hc2FtaS5oaXJhbWF0c3UucHRAaGl0YWNoaS5jb20+DQo+UmVwb3J0ZWQtYnk6 IFdhbmcgTmFuIDx3YW5nbmFuMEBodWF3ZWkuY29tPg0KPlNpZ25lZC1vZmYtYnk6IE5hbWh5dW5n IEtpbSA8bmFtaHl1bmdAa2VybmVsLm9yZz4NCj4tLS0NCj4gdG9vbHMvcGVyZi91dGlsL3Byb2Jl LWV2ZW50LmMgfCAxICsNCj4gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspDQo+DQo+ZGlm ZiAtLWdpdCBhL3Rvb2xzL3BlcmYvdXRpbC9wcm9iZS1ldmVudC5jIGIvdG9vbHMvcGVyZi91dGls L3Byb2JlLWV2ZW50LmMNCj5pbmRleCA1OTY0ZWNjYmU5NGQuLjNkN2Q2MGNjNmYxNiAxMDA2NDQN Cj4tLS0gYS90b29scy9wZXJmL3V0aWwvcHJvYmUtZXZlbnQuYw0KPisrKyBiL3Rvb2xzL3BlcmYv dXRpbC9wcm9iZS1ldmVudC5jDQo+QEAgLTI3OTIsNiArMjc5Miw3IEBAIHZvaWQgY2xlYW51cF9w ZXJmX3Byb2JlX2V2ZW50cyhzdHJ1Y3QgcGVyZl9wcm9iZV9ldmVudCAqcGV2cywgaW50IG5wZXZz KQ0KPiAJCQljbGVhcl9wcm9iZV90cmFjZV9ldmVudCgmcGV2c1tpXS50ZXZzW2pdKTsNCj4gCQl6 ZnJlZSgmcGV2c1tpXS50ZXZzKTsNCj4gCQlwZXZzW2ldLm50ZXZzID0gMDsNCj4rCQljbGVhcl9w ZXJmX3Byb2JlX2V2ZW50KCZwZXZzW2ldKTsNCj4gCX0NCj4NCj4gCWV4aXRfc3ltYm9sX21hcHMo KTsNCj4tLQ0KPjIuNS4wDQoNCg== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | tip-bot for Namhyung Kim <tipbot@zytor.com> |
|---|---|
| Date | 2015-09-16 09:30 +0200 |
| Subject | [tip:perf/core] perf probe: Free perf_probe_event in cleanup_perf_probe_events() |
| Message-ID | <q9fke-63y-21@gated-at.bofh.it> |
| In reply to | #1221853 |
Commit-ID: a43aac299c3abc09eff856039f5b72166b780d35 Gitweb: http://git.kernel.org/tip/a43aac299c3abc09eff856039f5b72166b780d35 Author: Namhyung Kim <namhyung@kernel.org> AuthorDate: Thu, 10 Sep 2015 11:27:04 +0900 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Tue, 15 Sep 2015 09:48:32 -0300 perf probe: Free perf_probe_event in cleanup_perf_probe_events() The cleanup_perf_probe_events() frees all resources related to a perf probe event. However it only freed resources in trace probe events, not perf probe events. So call clear_perf_probe_event() too. Reported-by: Wang Nan <wangnan0@huawei.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1441852026-28974-1-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/util/probe-event.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index 5964ecc..3d7d60c 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c @@ -2792,6 +2792,7 @@ void cleanup_perf_probe_events(struct perf_probe_event *pevs, int npevs) clear_probe_trace_event(&pevs[i].tevs[j]); zfree(&pevs[i].tevs); pevs[i].ntevs = 0; + clear_perf_probe_event(&pevs[i]); } exit_symbol_maps(); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web