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:52:31 +0100 [thread overview]
Message-ID: <20200312105231.GE311223@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/expr.h b/tools/perf/util/expr.h
> index 9377538f4097..d17664e628db 100644
> --- a/tools/perf/util/expr.h
> +++ b/tools/perf/util/expr.h
> @@ -15,6 +15,7 @@ struct parse_ctx {
> struct parse_id ids[MAX_PARSE_ID];
> };
>
> +int expr__runtimeparam;
> void expr__ctx_init(struct parse_ctx *ctx);
> void expr__add_id(struct parse_ctx *ctx, const char *id, double val);
> int expr__parse(double *final_val, struct parse_ctx *ctx, const char *expr);
> diff --git a/tools/perf/util/expr.l b/tools/perf/util/expr.l
> index 1928f2a3dddc..ec4b00671f67 100644
> --- a/tools/perf/util/expr.l
> +++ b/tools/perf/util/expr.l
> @@ -45,6 +45,21 @@ static char *normalize(char *str)
> *dst++ = '/';
> else if (*str == '\\')
> *dst++ = *++str;
> + else if (*str == '?') {
> +
> + int size = snprintf(NULL, 0, "%d", expr__runtimeparam);
> + char * paramval = (char *)malloc(size);
can't we agree that any reasonable number in here
wouldn't cross 20 bytes in string or so and use
buffer for that instead of that malloc exercise?
thanks,
jirka
> + int i = 0;
> +
> + if(!paramval)
> + *dst++ = '0';
> + else {
> + sprintf(paramval, "%d", expr__runtimeparam);
> + while(i < size)
> + *dst++ = paramval[i++];
> + free(paramval);
> + }
> + }
SNIP
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:52:31 +0100 [thread overview]
Message-ID: <20200312105231.GE311223@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/expr.h b/tools/perf/util/expr.h
> index 9377538f4097..d17664e628db 100644
> --- a/tools/perf/util/expr.h
> +++ b/tools/perf/util/expr.h
> @@ -15,6 +15,7 @@ struct parse_ctx {
> struct parse_id ids[MAX_PARSE_ID];
> };
>
> +int expr__runtimeparam;
> void expr__ctx_init(struct parse_ctx *ctx);
> void expr__add_id(struct parse_ctx *ctx, const char *id, double val);
> int expr__parse(double *final_val, struct parse_ctx *ctx, const char *expr);
> diff --git a/tools/perf/util/expr.l b/tools/perf/util/expr.l
> index 1928f2a3dddc..ec4b00671f67 100644
> --- a/tools/perf/util/expr.l
> +++ b/tools/perf/util/expr.l
> @@ -45,6 +45,21 @@ static char *normalize(char *str)
> *dst++ = '/';
> else if (*str == '\\')
> *dst++ = *++str;
> + else if (*str == '?') {
> +
> + int size = snprintf(NULL, 0, "%d", expr__runtimeparam);
> + char * paramval = (char *)malloc(size);
can't we agree that any reasonable number in here
wouldn't cross 20 bytes in string or so and use
buffer for that instead of that malloc exercise?
thanks,
jirka
> + int i = 0;
> +
> + if(!paramval)
> + *dst++ = '0';
> + else {
> + sprintf(paramval, "%d", expr__runtimeparam);
> + while(i < size)
> + *dst++ = paramval[i++];
> + free(paramval);
> + }
> + }
SNIP
next prev parent reply other threads:[~2020-03-12 10:52 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
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 [this message]
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=20200312105231.GE311223@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.