Messages in this thread | | | From | Alexander Shishkin <> | Subject | Re: [PATCH v6 1/3] perf/core: use rb trees for pinned/flexible groups | Date | Wed, 30 Aug 2017 13:18:59 +0300 |
| |
Alexey Budankov <alexey.budankov@linux.intel.com> writes:
>>> Iterating cpu specific subtree like this: >>> >>> #define for_each_group_event(event, group, cpu, pmu, field) \ >>> for (event = rb_entry_safe(group_first(group, cpu, pmu), \ >>> typeof(*event), field); \ >>> event && event->cpu == cpu && event->pmu == pmu; \ >>> event = rb_entry_safe(rb_next(&event->field), \ >>> typeof(*event), field)) >> >> Afaict, this assumes that you are also ordering on event->pmu, which >> should be reflected in your _less function. And also assuming that >> group_first() is doing the right thing. Can we see the code? > > I didn't do ordering by PMU for this patch set. Yet more I implemented > groups_first() like this:
Your iterator (quoted above) begs to differ.
Regards, -- Alex
| |