[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <c29a4b36-a2db-b1d9-a5c7-a0c0806970ab@us.ibm.com>
Date: Thu, 14 Jun 2018 08:17:47 -0500
From: Paul Clarke <pc@...ibm.com>
To: Thomas Richter <tmricht@...ux.ibm.com>,
linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
acme@...nel.org, jolsa@...hat.com
Cc: brueckner@...ux.vnet.ibm.com, schwidefsky@...ibm.com,
heiko.carstens@...ibm.com
Subject: Re: [PATCH 1/3] perf alias: Remove trailing newline when reading
sysfs files
On 06/14/2018 06:48 AM, Thomas Richter wrote:
> Remove a trailing newline when reading sysfs file contents
> such as /sys/devices/cpum_cf/events/TX_NC_TEND.
> This show when verbose option -v is used.
>
> Output before:
> tx_nc_tend -> 'cpum_cf'/'event=0x008d
> '/
>
> Output after:
> tx_nc_tend -> 'cpum_cf'/'event=0x8d'/
>
> Signed-off-by: Thomas Richter <tmricht@...ux.ibm.com>
> ---
> tools/perf/util/pmu.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> index 7878934ebb23..26c79a9c4142 100644
> --- a/tools/perf/util/pmu.c
> +++ b/tools/perf/util/pmu.c
> @@ -294,7 +294,7 @@ static int __perf_pmu__new_alias(struct list_head *list, char *dir, char *name,
>
> static int perf_pmu__new_alias(struct list_head *list, char *dir, char *name, FILE *file)
> {
> - char buf[256];
> + char *cp, buf[256];
> int ret;
>
> ret = fread(buf, 1, sizeof(buf), file);
> @@ -303,6 +303,11 @@ static int perf_pmu__new_alias(struct list_head *list, char *dir, char *name, FI
>
> buf[ret] = 0;
>
> + /* Remove trailing newline from sysfs file */
> + cp = strrchr(buf, '\n');
> + if (cp)
> + *cp = '\0';
A nit, perhaps, but this will search backwards through the entire string if a newline is not found, which is the most common case, I presume. Would it be more efficient to just look at the last character? Something like:
i = strlen(buf);
if (i > 0 && buf[i-1] == '\n')
buf[i-1] = '\0';
> +
> return __perf_pmu__new_alias(list, dir, name, NULL, buf, NULL, NULL, NULL,
> NULL, NULL, NULL);
> }
>
PC
Powered by blists - more mailing lists