From: Jiri Olsa <jolsa@redhat.com>
To: Kajol Jain <kjain@linux.ibm.com>
Cc: acme@kernel.org, linuxppc-dev@lists.ozlabs.org,
mpe@ellerman.id.au, sukadev@linux.vnet.ibm.com,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
anju@linux.vnet.ibm.com, maddy@linux.vnet.ibm.com,
ravi.bangoria@linux.ibm.com, peterz@infradead.org,
yao.jin@linux.intel.com, ak@linux.intel.com, jolsa@kernel.org,
kan.liang@linux.intel.com, jmario@redhat.com,
alexander.shishkin@linux.intel.com, mingo@kernel.org,
paulus@ozlabs.org, namhyung@kernel.org, mpetlan@redhat.com,
gregkh@linuxfoundation.org, benh@kernel.crashing.org,
mamatha4@linux.vnet.ibm.com, mark.rutland@arm.com,
tglx@linutronix.de
Subject: Re: [PATCH v4 6/8] perf/tools: Enhance JSON/metric infrastructure to handle "?"
Date: Thu, 12 Mar 2020 11:50:44 +0100 [thread overview]
Message-ID: <20200312105044.GA311223@krava> (raw)
In-Reply-To: <20200309062552.29911-7-kjain@linux.ibm.com>
On Mon, Mar 09, 2020 at 11:55:50AM +0530, Kajol Jain wrote:
SNIP
> diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
> index c3a8c701609a..11eeeb929b91 100644
> --- a/tools/perf/util/metricgroup.c
> +++ b/tools/perf/util/metricgroup.c
> @@ -474,6 +474,98 @@ static bool metricgroup__has_constraint(struct pmu_event *pe)
> return false;
> }
>
> +int __weak arch_get_runtimeparam(void)
> +{
> + return 1;
> +}
> +
> +static int metricgroup__add_metric_runtime_param(struct strbuf *events,
> + struct list_head *group_list, struct pmu_event *pe)
> +{
> + int i, count;
> + int ret = -EINVAL;
> +
> + count = arch_get_runtimeparam();
> +
> + /* This loop is added to create multiple
> + * events depend on count value and add
> + * those events to group_list.
> + */
> +
> + for (i = 0; i < count; i++) {
> + const char **ids;
> + int idnum;
> + struct egroup *eg;
> + char value[PATH_MAX];
> +
> + expr__runtimeparam = i;
so the expr__runtimeparam is always set before we call the
expr parsing function - wither expr__find_other or expr__parse,
and it's used inside the normalize flexer function, which has
access to the passed context.. so I don't see a reason why
expr__runtimeparam couldn't be added in struct parse_ctx
and used from there..
while in this, perhaps we should rename parse_ctx to expr_ctx,
to keep the namespace straight (in separate patch)
thanks,
jirka
WARNING: multiple messages have this Message-ID (diff)
From: Jiri Olsa <jolsa@redhat.com>
To: Kajol Jain <kjain@linux.ibm.com>
Cc: mark.rutland@arm.com, maddy@linux.vnet.ibm.com,
peterz@infradead.org, yao.jin@linux.intel.com, mingo@kernel.org,
kan.liang@linux.intel.com, ak@linux.intel.com,
alexander.shishkin@linux.intel.com, anju@linux.vnet.ibm.com,
mamatha4@linux.vnet.ibm.com, sukadev@linux.vnet.ibm.com,
ravi.bangoria@linux.ibm.com, acme@kernel.org, jmario@redhat.com,
namhyung@kernel.org, tglx@linutronix.de, mpetlan@redhat.com,
gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org, jolsa@kernel.org,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v4 6/8] perf/tools: Enhance JSON/metric infrastructure to handle "?"
Date: Thu, 12 Mar 2020 11:50:44 +0100 [thread overview]
Message-ID: <20200312105044.GA311223@krava> (raw)
In-Reply-To: <20200309062552.29911-7-kjain@linux.ibm.com>
On Mon, Mar 09, 2020 at 11:55:50AM +0530, Kajol Jain wrote:
SNIP
> diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
> index c3a8c701609a..11eeeb929b91 100644
> --- a/tools/perf/util/metricgroup.c
> +++ b/tools/perf/util/metricgroup.c
> @@ -474,6 +474,98 @@ static bool metricgroup__has_constraint(struct pmu_event *pe)
> return false;
> }
>
> +int __weak arch_get_runtimeparam(void)
> +{
> + return 1;
> +}
> +
> +static int metricgroup__add_metric_runtime_param(struct strbuf *events,
> + struct list_head *group_list, struct pmu_event *pe)
> +{
> + int i, count;
> + int ret = -EINVAL;
> +
> + count = arch_get_runtimeparam();
> +
> + /* This loop is added to create multiple
> + * events depend on count value and add
> + * those events to group_list.
> + */
> +
> + for (i = 0; i < count; i++) {
> + const char **ids;
> + int idnum;
> + struct egroup *eg;
> + char value[PATH_MAX];
> +
> + expr__runtimeparam = i;
so the expr__runtimeparam is always set before we call the
expr parsing function - wither expr__find_other or expr__parse,
and it's used inside the normalize flexer function, which has
access to the passed context.. so I don't see a reason why
expr__runtimeparam couldn't be added in struct parse_ctx
and used from there..
while in this, perhaps we should rename parse_ctx to expr_ctx,
to keep the namespace straight (in separate patch)
thanks,
jirka
next prev parent reply other threads:[~2020-03-12 10:50 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-09 6:25 [PATCH v4 0/8] powerpc/perf: Add json file metric support for the hv_24x7 socket/chip level events Kajol Jain
2020-03-09 6:25 ` Kajol Jain
2020-03-09 6:25 ` [PATCH v4 1/8] powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run Kajol Jain
2020-03-09 6:25 ` Kajol Jain
2020-03-09 6:25 ` [PATCH v4 2/8] powerpc/hv-24x7: Add rtas call in hv-24x7 driver to get processor details Kajol Jain
2020-03-09 6:25 ` Kajol Jain
2020-03-09 6:25 ` [PATCH v4 3/8] powerpc/hv-24x7: Add sysfs files inside hv-24x7 device to show " Kajol Jain
2020-03-09 6:25 ` Kajol Jain
2020-03-09 6:25 ` [PATCH v4 4/8] Documentation/ABI: Add ABI documentation for chips and sockets Kajol Jain
2020-03-09 6:25 ` Kajol Jain
2020-03-09 6:25 ` [PATCH v4 5/8] powerpc/hv-24x7: Update post_mobility_fixup() to handle migration Kajol Jain
2020-03-09 6:25 ` Kajol Jain
2020-03-09 6:25 ` [PATCH v4 6/8] perf/tools: Enhance JSON/metric infrastructure to handle "?" Kajol Jain
2020-03-09 6:25 ` Kajol Jain
2020-03-10 18:34 ` Arnaldo Carvalho de Melo
2020-03-10 18:34 ` Arnaldo Carvalho de Melo
2020-03-12 6:11 ` kajoljain
2020-03-12 6:11 ` kajoljain
2020-03-12 10:51 ` Jiri Olsa
2020-03-12 10:51 ` Jiri Olsa
2020-03-12 10:50 ` Jiri Olsa [this message]
2020-03-12 10:50 ` Jiri Olsa
2020-03-12 10:51 ` Jiri Olsa
2020-03-12 10:51 ` Jiri Olsa
2020-03-12 10:52 ` Jiri Olsa
2020-03-12 10:52 ` Jiri Olsa
2020-03-13 12:26 ` kajoljain
2020-03-13 12:26 ` kajoljain
2020-03-12 10:52 ` Jiri Olsa
2020-03-12 10:52 ` Jiri Olsa
2020-03-09 6:25 ` [PATCH v4 7/8] tools/perf: Enable Hz/hz prinitg for --metric-only option Kajol Jain
2020-03-09 6:25 ` Kajol Jain
2020-03-09 6:25 ` [PATCH v4 8/8] perf/tools/pmu-events/powerpc: Add hv_24x7 socket/chip level metric events Kajol Jain
2020-03-09 6:25 ` Kajol Jain
2020-03-09 9:35 ` [PATCH v4 0/8] powerpc/perf: Add json file metric support for the hv_24x7 socket/chip level events Jiri Olsa
2020-03-09 9:35 ` Jiri Olsa
2020-03-09 11:22 ` Arnaldo Melo
2020-03-09 11:22 ` Arnaldo Melo
2020-03-10 18:18 ` Arnaldo Carvalho de Melo
2020-03-10 18:18 ` Arnaldo Carvalho de Melo
2020-03-10 18:31 ` Jiri Olsa
2020-03-10 18:31 ` Jiri Olsa
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=20200312105044.GA311223@krava \
--to=jolsa@redhat.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=anju@linux.vnet.ibm.com \
--cc=benh@kernel.crashing.org \
--cc=gregkh@linuxfoundation.org \
--cc=jmario@redhat.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=kjain@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.vnet.ibm.com \
--cc=mamatha4@linux.vnet.ibm.com \
--cc=mark.rutland@arm.com \
--cc=mingo@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=mpetlan@redhat.com \
--cc=namhyung@kernel.org \
--cc=paulus@ozlabs.org \
--cc=peterz@infradead.org \
--cc=ravi.bangoria@linux.ibm.com \
--cc=sukadev@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
--cc=yao.jin@linux.intel.com \
/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.