On Wed, May 20, 2020 at 12:28:07AM -0700, Ian Rogers wrote: > Metric groups contain metrics. Metrics create groups of events to > ideally be scheduled together. Often metrics refer to the same events, > for example, a cache hit and cache miss rate. Using separate event > groups means these metrics are multiplexed at different times and the > counts don't sum to 100%. More multiplexing also decreases the > accuracy of the measurement. > > This change orders metrics from groups or the command line, so that > the ones with the most events are set up first. Later metrics see if > groups already provide their events, and reuse them if > possible. Unnecessary events and groups are eliminated. > > The option --metric-no-group is added so that metrics aren't placed in > groups. This affects multiplexing and may increase sharing. > > The option --metric-mo-merge is added and with this option the > existing grouping behavior is preserved. > > Using skylakex metrics I ran the following shell code to count the > number of events for each metric group (this ignores metric groups > with a single metric, and one of the duplicated TopdownL1 and > TopDownL1 groups): hi, I'm getting parser error with: [jolsa@krava perf]$ sudo ./perf stat -M IPC,CPI -a -I 1000 event syntax error: '..ed.thread}:W{inst_retired.any,cpu_clk_unhalted.thread}:W,{inst_retired.any,cycles}:W' \___ parser error jirka