@@ -51,11 +51,6 @@ struct perf_pmu_alias {
51
51
* json events.
52
52
*/
53
53
char * topic ;
54
- /**
55
- * @str: Comma separated parameter list like
56
- * "event=0xcd,umask=0x1,ldlat=0x3".
57
- */
58
- char * str ;
59
54
/** @terms: Owned list of the original parsed parameters. */
60
55
struct list_head terms ;
61
56
/** @list: List element of struct perf_pmu aliases. */
@@ -408,7 +403,6 @@ static void perf_pmu_free_alias(struct perf_pmu_alias *newalias)
408
403
zfree (& newalias -> desc );
409
404
zfree (& newalias -> long_desc );
410
405
zfree (& newalias -> topic );
411
- zfree (& newalias -> str );
412
406
zfree (& newalias -> pmu_name );
413
407
parse_events_terms__purge (& newalias -> terms );
414
408
free (newalias );
@@ -489,7 +483,7 @@ static int update_alias(const struct pmu_event *pe,
489
483
assign_str (pe -> name , "long_desc" , & data -> alias -> long_desc , pe -> long_desc );
490
484
assign_str (pe -> name , "topic" , & data -> alias -> topic , pe -> topic );
491
485
data -> alias -> per_pkg = pe -> perpkg ;
492
- if (assign_str ( pe -> name , "value" , & data -> alias -> str , pe -> event ) ) {
486
+ if (pe -> event ) {
493
487
parse_events_terms__purge (& data -> alias -> terms );
494
488
ret = parse_events_terms (& data -> alias -> terms , pe -> event , /*input=*/ NULL );
495
489
}
@@ -511,7 +505,6 @@ static int perf_pmu__new_alias(struct perf_pmu *pmu, const char *name,
511
505
int ret ;
512
506
const char * long_desc = NULL , * topic = NULL , * unit = NULL , * pmu_name = NULL ;
513
507
bool deprecated = false, perpkg = false;
514
- struct strbuf sb ;
515
508
516
509
if (perf_pmu__find_alias (pmu , name , /*load=*/ false)) {
517
510
/* Alias was already created/loaded. */
@@ -531,7 +524,6 @@ static int perf_pmu__new_alias(struct perf_pmu *pmu, const char *name,
531
524
if (!alias )
532
525
return - ENOMEM ;
533
526
534
- alias -> str = NULL ;
535
527
INIT_LIST_HEAD (& alias -> terms );
536
528
alias -> scale = 1.0 ;
537
529
alias -> unit [0 ] = '\0' ;
@@ -574,17 +566,6 @@ static int perf_pmu__new_alias(struct perf_pmu *pmu, const char *name,
574
566
}
575
567
}
576
568
577
- /* Scan event and remove leading zeroes, spaces, newlines, some
578
- * platforms have terms specified as
579
- * event=0x0091 (read from files ../<PMU>/events/<FILE>
580
- * and terms specified as event=0x91 (read from JSON files).
581
- *
582
- * Rebuild string to make alias->str member comparable.
583
- */
584
- zfree (& alias -> str );
585
- strbuf_init (& sb , /*hint=*/ 0 );
586
- parse_events_term__to_strbuf (& alias -> terms , & sb );
587
- alias -> str = strbuf_detach (& sb , /*sz=*/ NULL );
588
569
if (!pe )
589
570
pmu -> sysfs_aliases ++ ;
590
571
else
@@ -1682,7 +1663,9 @@ int perf_pmu__for_each_event(struct perf_pmu *pmu, bool skip_duplicate_pmus,
1682
1663
.pmu = pmu ,
1683
1664
};
1684
1665
int ret = 0 ;
1666
+ struct strbuf sb ;
1685
1667
1668
+ strbuf_init (& sb , /*hint=*/ 0 );
1686
1669
pmu_add_cpu_aliases (pmu );
1687
1670
list_for_each_entry (event , & pmu -> aliases , list ) {
1688
1671
size_t buf_used ;
@@ -1710,14 +1693,16 @@ int perf_pmu__for_each_event(struct perf_pmu *pmu, bool skip_duplicate_pmus,
1710
1693
info .desc = event -> desc ;
1711
1694
info .long_desc = event -> long_desc ;
1712
1695
info .encoding_desc = buf + buf_used ;
1696
+ parse_events_term__to_strbuf (& event -> terms , & sb );
1713
1697
buf_used += snprintf (buf + buf_used , sizeof (buf ) - buf_used ,
1714
- "%s/%s/" , info .pmu_name , event -> str ) + 1 ;
1698
+ "%s/%s/" , info .pmu_name , sb . buf ) + 1 ;
1715
1699
info .topic = event -> topic ;
1716
- info .str = event -> str ;
1700
+ info .str = sb . buf ;
1717
1701
info .deprecated = event -> deprecated ;
1718
1702
ret = cb (state , & info );
1719
1703
if (ret )
1720
- return ret ;
1704
+ goto out ;
1705
+ strbuf_setlen (& sb , /*len=*/ 0 );
1721
1706
}
1722
1707
if (pmu -> selectable ) {
1723
1708
info .name = buf ;
@@ -1732,6 +1717,8 @@ int perf_pmu__for_each_event(struct perf_pmu *pmu, bool skip_duplicate_pmus,
1732
1717
info .deprecated = false;
1733
1718
ret = cb (state , & info );
1734
1719
}
1720
+ out :
1721
+ strbuf_release (& sb );
1735
1722
return ret ;
1736
1723
}
1737
1724
0 commit comments