lkml.org 
[lkml]   [2014]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/8] perf tools: Make the print_pmu_events funtion to return unsigned int.
On 01/08/2014 10:10 AM, Arnaldo Carvalho de Melo wrote:
> Em Mon, Dec 30, 2013 at 10:26:37AM -0500, Dongsheng Yang escreveu:
>> Sometimes we need to know how many events have been printed in print_pmu_events.
> "Sometimes" is too vague, of course it should be needed, otherwise why
> bother with the patch? It would be better if you provided an example of
> _where_ it will be used, like when printing that newline.

Sorry for the terrible commit message :(.

What about the following one?

"When we call print_pmu_events(), we want to know how many events has
been printed in this function. But currently it is impossible, as it
return void.

This patch change this function to return the number of events we have
printed."

- Yang
> Anyway, reading the other patches,
>
> - Arnaldo
>
>> This patch make this function to return the number of events we have printed.
>>
>> Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
>> ---
>> tools/perf/util/pmu.c | 12 +++++++-----
>> tools/perf/util/pmu.h | 2 +-
>> 2 files changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
>> index 0934d64..331dc2c 100644
>> --- a/tools/perf/util/pmu.c
>> +++ b/tools/perf/util/pmu.c
>> @@ -711,12 +711,12 @@ static int cmp_string(const void *a, const void *b)
>> return strcmp(*as, *bs);
>> }
>>
>> -void print_pmu_events(const char *event_glob, bool name_only)
>> +unsigned int print_pmu_events(const char *event_glob, bool name_only)
>> {
>> struct perf_pmu *pmu;
>> struct perf_pmu_alias *alias;
>> char buf[1024];
>> - int printed = 0;
>> + unsigned int count = 0;
>> int len, j;
>> char **aliases;
>>
>> @@ -727,7 +727,7 @@ void print_pmu_events(const char *event_glob, bool name_only)
>> len++;
>> aliases = malloc(sizeof(char *) * len);
>> if (!aliases)
>> - return;
>> + return count;
>> pmu = NULL;
>> j = 0;
>> while ((pmu = perf_pmu__scan(pmu)) != NULL)
>> @@ -752,15 +752,17 @@ void print_pmu_events(const char *event_glob, bool name_only)
>> for (j = 0; j < len; j++) {
>> if (name_only) {
>> printf("%s ", aliases[j]);
>> + count++;
>> continue;
>> }
>> printf(" %-50s [Kernel PMU event]\n", aliases[j]);
>> zfree(&aliases[j]);
>> - printed++;
>> + count++;
>> }
>> - if (printed)
>> + if (count)
>> printf("\n");
>> free(aliases);
>> + return count;
>> }
>>
>> bool pmu_have_event(const char *pname, const char *name)
>> diff --git a/tools/perf/util/pmu.h b/tools/perf/util/pmu.h
>> index 9183380..2987fe2 100644
>> --- a/tools/perf/util/pmu.h
>> +++ b/tools/perf/util/pmu.h
>> @@ -42,7 +42,7 @@ int perf_pmu__format_parse(char *dir, struct list_head *head);
>>
>> struct perf_pmu *perf_pmu__scan(struct perf_pmu *pmu);
>>
>> -void print_pmu_events(const char *event_glob, bool name_only);
>> +unsigned int print_pmu_events(const char *event_glob, bool name_only);
>> bool pmu_have_event(const char *pname, const char *name);
>>
>> int perf_pmu__test(void);
>> --
>> 1.8.2.1
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>



\
 
 \ /
  Last update: 2014-01-09 03:41    [W:0.918 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site