On Thu, Jul 16, 2020 at 03:12:12PM +0530, Kajol Jain wrote:
> Initially, every time we want to add new terms like chip, core thread etc,
> we need to create corrsponding fields in pmu_events and event struct.
> This patch adds an enum called 'aggr_mode_class' which store all these
> aggregation like perpkg/percore. It also adds new field 'aggr_mode'
> to capture these terms.
> Now, if user wants to add any new term, they just need to add it in
> the enum defined.
> 
> Signed-off-by: Kajol Jain <[email protected]>
> ---
>  tools/perf/pmu-events/jevents.c    | 39 +++++++++++++++++++-----------
>  tools/perf/pmu-events/jevents.h    |  2 +-
>  tools/perf/pmu-events/pmu-events.h |  6 ++++-
>  tools/perf/tests/pmu-events.c      |  8 +++---
>  tools/perf/util/pmu.c              |  6 ++---
>  5 files changed, 38 insertions(+), 23 deletions(-)
> 
> diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
> index fa86c5f997cc..b2f59f0af63d 100644
> --- a/tools/perf/pmu-events/jevents.c
> +++ b/tools/perf/pmu-events/jevents.c
> @@ -53,6 +53,17 @@
>  int verbose;
>  char *prog;
>  
> +enum aggr_mode_class {
> +     PerPkg = 1
> +};
> +
> +enum aggr_mode_class convert(const char *aggr_mode)
> +{
> +     if (!strcmp(aggr_mode, "PerPkg"))
> +             return PerPkg;
> +     return -1;
> +}

I just noticed you define aggr_mode_class twice,
I think we should keep it just in pmu-events.h
like in change below (compiles for me)

thanks,
jirka


---
diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
index e1c43f739083..2f48b783a64d 100644
--- a/tools/perf/pmu-events/jevents.c
+++ b/tools/perf/pmu-events/jevents.c
@@ -49,16 +49,11 @@
 #include "jsmn.h"
 #include "json.h"
 #include "jevents.h"
+#include "pmu-events.h"
 
 int verbose;
 char *prog;
 
-enum aggr_mode_class {
-       PerPkg = 1,
-       PerChip,
-       PerCore
-};
-
 enum aggr_mode_class convert(const char *aggr_mode)
 {
        if (!strcmp(aggr_mode, "PerPkg"))

Reply via email to