diff options
-rw-r--r-- | init/Kconfig | 2 | ||||
-rw-r--r-- | kernel/perf_counter.c | 10 |
2 files changed, 4 insertions, 8 deletions
diff --git a/init/Kconfig b/init/Kconfig index 1ce05a4cb5f6..cb2c09270226 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -962,7 +962,7 @@ config PERF_COUNTERS | |||
962 | 962 | ||
963 | config EVENT_PROFILE | 963 | config EVENT_PROFILE |
964 | bool "Tracepoint profile sources" | 964 | bool "Tracepoint profile sources" |
965 | depends on PERF_COUNTERS && EVENT_TRACER | 965 | depends on PERF_COUNTERS && EVENT_TRACING |
966 | default y | 966 | default y |
967 | 967 | ||
968 | endmenu | 968 | endmenu |
diff --git a/kernel/perf_counter.c b/kernel/perf_counter.c index d55a50da2347..c6c38fb7766a 100644 --- a/kernel/perf_counter.c +++ b/kernel/perf_counter.c | |||
@@ -3671,7 +3671,7 @@ static const struct pmu perf_ops_task_clock = { | |||
3671 | void perf_tpcounter_event(int event_id) | 3671 | void perf_tpcounter_event(int event_id) |
3672 | { | 3672 | { |
3673 | struct perf_sample_data data = { | 3673 | struct perf_sample_data data = { |
3674 | .regs = get_irq_regs(); | 3674 | .regs = get_irq_regs(), |
3675 | .addr = 0, | 3675 | .addr = 0, |
3676 | }; | 3676 | }; |
3677 | 3677 | ||
@@ -3687,16 +3687,12 @@ extern void ftrace_profile_disable(int); | |||
3687 | 3687 | ||
3688 | static void tp_perf_counter_destroy(struct perf_counter *counter) | 3688 | static void tp_perf_counter_destroy(struct perf_counter *counter) |
3689 | { | 3689 | { |
3690 | ftrace_profile_disable(perf_event_id(&counter->attr)); | 3690 | ftrace_profile_disable(counter->attr.config); |
3691 | } | 3691 | } |
3692 | 3692 | ||
3693 | static const struct pmu *tp_perf_counter_init(struct perf_counter *counter) | 3693 | static const struct pmu *tp_perf_counter_init(struct perf_counter *counter) |
3694 | { | 3694 | { |
3695 | int event_id = perf_event_id(&counter->attr); | 3695 | if (ftrace_profile_enable(counter->attr.config)) |
3696 | int ret; | ||
3697 | |||
3698 | ret = ftrace_profile_enable(event_id); | ||
3699 | if (ret) | ||
3700 | return NULL; | 3696 | return NULL; |
3701 | 3697 | ||
3702 | counter->destroy = tp_perf_counter_destroy; | 3698 | counter->destroy = tp_perf_counter_destroy; |