All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas-Mich Richter <tmricht@linux.ibm.com>
To: Paul Clarke <pc@us.ibm.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	acme@kernel.org, jolsa@redhat.com
Cc: brueckner@linux.vnet.ibm.com, schwidefsky@de.ibm.com,
	heiko.carstens@de.ibm.com
Subject: Re: [PATCH 1/3] perf alias: Remove trailing newline when reading sysfs files
Date: Thu, 14 Jun 2018 16:10:31 +0200	[thread overview]
Message-ID: <3c66953b-fb56-e446-8dff-53fd91007a43@linux.ibm.com> (raw)
In-Reply-To: <c29a4b36-a2db-b1d9-a5c7-a0c0806970ab@us.ibm.com>

On 06/14/2018 03:17 PM, Paul Clarke wrote:
> 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@linux.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
> 

Arnaldo suggested rtrim() which I will use.
I agree that your approach is a bit faster...



-- 
Thomas Richter, Dept 3303, IBM s390 Linux Development, Boeblingen, Germany
--
Vorsitzende des Aufsichtsrats: Martina Koederitz 
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294

  reply	other threads:[~2018-06-14 14:10 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-14 11:48 [PATCH 1/3] perf alias: Remove trailing newline when reading sysfs files Thomas Richter
2018-06-14 11:48 ` [PATCH 2/3] perf alias: Rebuild alias expression string to make it comparable Thomas Richter
2018-06-14 13:53   ` Paul Clarke
2018-06-14 14:16     ` Thomas-Mich Richter
2018-06-15  8:12     ` Jiri Olsa
2018-06-15  9:09       ` Thomas-Mich Richter
2018-06-15  9:27         ` Jiri Olsa
2018-06-14 11:48 ` [PATCH 3/3] perf stat: Remove duplicate event counting Thomas Richter
2018-06-15  8:21   ` Jiri Olsa
2018-06-15  8:56     ` Thomas-Mich Richter
2018-06-19 15:17     ` Arnaldo Carvalho de Melo
2018-06-19 18:24       ` Jiri Olsa
2018-06-14 13:17 ` [PATCH 1/3] perf alias: Remove trailing newline when reading sysfs files Paul Clarke
2018-06-14 14:10   ` Thomas-Mich Richter [this message]
2018-06-15  9:10   ` David Laight
2018-06-14 14:05 ` Arnaldo Carvalho de Melo

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=3c66953b-fb56-e446-8dff-53fd91007a43@linux.ibm.com \
    --to=tmricht@linux.ibm.com \
    --cc=acme@kernel.org \
    --cc=brueckner@linux.vnet.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=pc@us.ibm.com \
    --cc=schwidefsky@de.ibm.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.