On Fri, May 8, 2020 at 7:40 PM Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote: > > > > I'm not sure if size is that great an heuristic. The dedup algorithm should > > > work in any case even if you don't order by size, right? > > > > Consider two metrics: > > - metric 1 with events {A,B} > > - metric 2 with events {A,B,C,D} > > If the list isn't sorted then as the matching takes the first group > > with all the events, metric 1 will match {A,B} and metric 2 {A,B,C,D}. > > If the order is sorted to {A,B,C,D},{A,B} then metric 1 matches within > > the {A,B,C,D} group as does metric 2. The events in metric 1 aren't > > used and are removed. > > Ok. It's better for the longer metric if they stay together. > > > > > The dedup algorithm is very naive :-) > > I guess what matters is that it gives reasonable results on the current > metrics. I assume it does? > > How much deduping is happening if you run all metrics? Hi Andi, I included this data in the latest cover-letter: https://lore.kernel.org/lkml/20200520072814.128267-1-irogers@xxxxxxxxxx/ > For toplev on my long term todo list was to compare it against > a hopefully better schedule generated by or-tools, but I never > got around to coding that up. > > -Andi Agreed, and this relates to your comments about doing the algorithm as a separate pass outside of find_evsel_group. For that, I don't disagree but would like to land what we have and then follow up with improvements. Thanks, Ian