Re: [PATCH v3 10/27] perf parse-events: Create two hybrid raw events
Hi Jiri, On 4/9/2021 9:49 PM, Jiri Olsa wrote: On Mon, Mar 29, 2021 at 03:00:29PM +0800, Jin Yao wrote: SNIP + name, config_terms, pmu); + if (ret) + return ret; + } + + return 0; +} + int parse_events__add_numeric_hybrid(struct parse_events_state *parse_state, struct list_head *list, struct perf_event_attr *attr, @@ -91,6 +126,9 @@ int parse_events__add_numeric_hybrid(struct parse_events_state *parse_state, if (attr->type != PERF_TYPE_RAW) { return add_hw_hybrid(parse_state, list, attr, name, config_terms); + } else { + return add_raw_hybrid(parse_state, list, attr, name, + config_terms); } return -1; no need for the return -1 jirka Yes, no need return -1 here. if (attr->type != PERF_TYPE_RAW) { return add_hw_hybrid(parse_state, list, attr, name, config_terms); } return add_raw_hybrid(parse_state, list, attr, name, config_terms); Thanks Jin Yao -- 2.17.1
Re: [PATCH v3 10/27] perf parse-events: Create two hybrid raw events
On Mon, Mar 29, 2021 at 03:00:29PM +0800, Jin Yao wrote: SNIP > + name, config_terms, pmu); > + if (ret) > + return ret; > + } > + > + return 0; > +} > + > int parse_events__add_numeric_hybrid(struct parse_events_state *parse_state, >struct list_head *list, >struct perf_event_attr *attr, > @@ -91,6 +126,9 @@ int parse_events__add_numeric_hybrid(struct > parse_events_state *parse_state, > if (attr->type != PERF_TYPE_RAW) { > return add_hw_hybrid(parse_state, list, attr, name, >config_terms); > + } else { > + return add_raw_hybrid(parse_state, list, attr, name, > + config_terms); > } > > return -1; no need for the return -1 jirka > -- > 2.17.1 >
[PATCH v3 10/27] perf parse-events: Create two hybrid raw events
On hybrid platform, same raw event is possible to be available on both cpu_core pmu and cpu_atom pmu. So it's supported to create two raw events for one event encoding. # ./perf stat -e r3c -a -vv -- sleep 1 Control descriptor is not initialized perf_event_attr: type 4 size 120 config 0x3c sample_type IDENTIFIER read_format TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING disabled 1 inherit 1 exclude_guest1 sys_perf_event_open: pid -1 cpu 0 group_fd -1 flags 0x8 = 3 perf_event_attr: type 4 size 120 config 0x3c sample_type IDENTIFIER read_format TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING disabled 1 inherit 1 exclude_guest1 sys_perf_event_open: pid -1 cpu 1 group_fd -1 flags 0x8 = 4 ... perf_event_attr: type 4 size 120 config 0x3c sample_type IDENTIFIER read_format TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING disabled 1 inherit 1 exclude_guest1 sys_perf_event_open: pid -1 cpu 15 group_fd -1 flags 0x8 = 19 perf_event_attr: type 10 size 120 config 0x3c sample_type IDENTIFIER read_format TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING disabled 1 inherit 1 exclude_guest1 sys_perf_event_open: pid -1 cpu 16 group_fd -1 flags 0x8 = 20 perf_event_attr: type 10 size 120 config 0x3c sample_type IDENTIFIER read_format TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING disabled 1 inherit 1 exclude_guest1 sys_perf_event_open: pid -1 cpu 17 group_fd -1 flags 0x8 = 21 ... perf_event_attr: type 10 size 120 config 0x3c sample_type IDENTIFIER read_format TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING disabled 1 inherit 1 exclude_guest1 sys_perf_event_open: pid -1 cpu 23 group_fd -1 flags 0x8 = 27 r3c: 0: 295983 1001500321 1001500321 r3c: 1: 66453 1001536385 1001536385 r3c: 2: 156191 1001559687 1001559687 r3c: 3: 177709 1001590937 1001590937 r3c: 4: 110819 1001674167 1001674167 r3c: 5: 368516 1001693927 1001693927 r3c: 6: 185745 1001782896 1001782896 r3c: 7: 735332 1001567982 1001567982 r3c: 8: 1783115 1001595406 1001595406 r3c: 9: 90088 1001606000 1001606000 r3c: 10: 409253 1001697624 1001697624 r3c: 11: 2942563 1001721371 1001721371 r3c: 12: 100495 1001740753 1001740753 r3c: 13: 62970 1001769269 1001769269 r3c: 14: 201978 1001799810 1001799810 r3c: 15: 1401633 1001829314 1001829314 r3c: 0: 328088 1001962968 1001962968 r3c: 1: 257037 1001990202 1001990202 r3c: 2: 168703 1002065267 1002065267 r3c: 3: 187959 1002115120 1002115120 r3c: 4: 126987 1002151672 1002151672 r3c: 5: 79831 1002202614 1002202614 r3c: 6: 72101 1002214094 1002214094 r3c: 7: 442006 1002248710 1002248710 r3c: 9088843 16026665849 16026665849 r3c: 1662712 8016950647 8016950647 Performance counter stats for 'system wide': 9,088,843 cpu_core/r3c/ 1,662,712 cpu_atom/r3c/