Re: [PATCH v3 10/27] perf parse-events: Create two hybrid raw events

2021-04-11 Thread Jin, Yao

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

2021-04-09 Thread Jiri Olsa
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

2021-03-29 Thread Jin Yao
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/