Re: [PATCH v3 03/11] perf: provide a common perf_event_nop_0() for use with .event_idx

From: Michael Ellerman
Date: Tue Mar 04 2014 - 00:20:01 EST


On Thu, 2014-27-02 at 21:04:56 UTC, Cody P Schafer wrote:
> Rather an having every pmu that needs a function that just returns 0 for
> .event_idx define their own copy, reuse the one in kernel/events/core.c.
>
> Rename from perf_swevent_event_idx() because we're no longer using it
> for just software events. Naming is based on the perf_pmu_nop_*()
> functions.

You could just use perf_pmu_nop_int() directly.

Peterz, OK by you?

cheers

> Signed-off-by: Cody P Schafer <cody@xxxxxxxxxxxxxxxxxx>
> ---
> include/linux/perf_event.h | 1 +
> kernel/events/core.c | 10 +++++-----
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
> index 3da5081..24a7b45 100644
> --- a/include/linux/perf_event.h
> +++ b/include/linux/perf_event.h
> @@ -560,6 +560,7 @@ extern void perf_pmu_migrate_context(struct pmu *pmu,
> extern u64 perf_event_read_value(struct perf_event *event,
> u64 *enabled, u64 *running);
>
> +extern int perf_event_nop_0(struct perf_event *event);
>
> struct perf_sample_data {
> u64 type;
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 56003c6..2938a77 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -5816,7 +5816,7 @@ static int perf_swevent_init(struct perf_event *event)
> return 0;
> }
>
> -static int perf_swevent_event_idx(struct perf_event *event)
> +int perf_event_nop_0(struct perf_event *event)
> {
> return 0;
> }
> @@ -5831,7 +5831,7 @@ static struct pmu perf_swevent = {
> .stop = perf_swevent_stop,
> .read = perf_swevent_read,
>
> - .event_idx = perf_swevent_event_idx,
> + .event_idx = perf_event_nop_0,
> };
>
> #ifdef CONFIG_EVENT_TRACING
> @@ -5950,7 +5950,7 @@ static struct pmu perf_tracepoint = {
> .stop = perf_swevent_stop,
> .read = perf_swevent_read,
>
> - .event_idx = perf_swevent_event_idx,
> + .event_idx = perf_event_nop_0,
> };
>
> static inline void perf_tp_register(void)
> @@ -6177,7 +6177,7 @@ static struct pmu perf_cpu_clock = {
> .stop = cpu_clock_event_stop,
> .read = cpu_clock_event_read,
>
> - .event_idx = perf_swevent_event_idx,
> + .event_idx = perf_event_nop_0,
> };
>
> /*
> @@ -6257,7 +6257,7 @@ static struct pmu perf_task_clock = {
> .stop = task_clock_event_stop,
> .read = task_clock_event_read,
>
> - .event_idx = perf_swevent_event_idx,
> + .event_idx = perf_event_nop_0,
> };
>
> static void perf_pmu_nop_void(struct pmu *pmu)
> --
> 1.9.0
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@xxxxxxxxxxxxxxxx
> https://lists.ozlabs.org/listinfo/linuxppc-dev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/