On Wed, May 20, 2020 at 6:14 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > 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 Ah, looks like an issue introduced by: https://lore.kernel.org/lkml/20200520072814.128267-8-irogers@xxxxxxxxxx/ as there is a missing comma. I'll investigate after some breakfast. Thanks, Ian