Re: [PATCH v5 1/4]: perf/core: use rb trees for pinned/flexible groups

2017-07-18 Thread Alexander Shishkin
Alexey Budankov writes: >>> +static void >>> +perf_event_groups_insert(struct perf_event_groups *groups, >>> + struct perf_event *event) >>> +{ >>> + struct rb_node **node; >>> + struct rb_node *parent; >>> + struct perf_event *node_event; >>> + >>> + WARN_ON_ONCE(!groups || !ev

Re: [PATCH v5 1/4]: perf/core: use rb trees for pinned/flexible groups

2017-07-18 Thread Alexey Budankov
Hi, On 18.07.2017 15:29, Alexander Shishkin wrote: > Alexey Budankov writes: > >> +/* >> + * Helper function to test if event groups are empty; >> + */ >> +static int >> +perf_event_groups_empty(struct perf_event_groups *groups) >> +{ >> +return list_empty(&groups->list); >> +} > > This doe

Re: [PATCH v5 1/4]: perf/core: use rb trees for pinned/flexible groups

2017-07-18 Thread Alexey Budankov
Hi, On 18.07.2017 15:02, Alexander Shishkin wrote: > Alexey Budankov writes: > >> +static void >> +perf_event_groups_rotate(struct perf_event_groups *groups, int cpu) >> +{ >> +struct rb_node *node; >> +struct perf_event *node_event; >> + >> +WARN_ON_ONCE(!groups); > > This seems re

Re: [PATCH v5 1/4]: perf/core: use rb trees for pinned/flexible groups

2017-07-18 Thread Alexander Shishkin
Alexey Budankov writes: > +/* > + * Helper function to test if event groups are empty; > + */ > +static int > +perf_event_groups_empty(struct perf_event_groups *groups) > +{ > + return list_empty(&groups->list); > +} This doesn't seem useful, it's only used once. Also, it's not clear how acc

Re: [PATCH v5 1/4]: perf/core: use rb trees for pinned/flexible groups

2017-07-18 Thread Alexander Shishkin
Alexey Budankov writes: > +static void > +perf_event_groups_rotate(struct perf_event_groups *groups, int cpu) > +{ > + struct rb_node *node; > + struct perf_event *node_event; > + > + WARN_ON_ONCE(!groups); This seems redundant. > + > + list_rotate_left(&groups->list); > + > +