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

From: Peter Zijlstra
Date: Mon Aug 07 2017 - 04:39:27 EST


On Mon, Aug 07, 2017 at 10:17:46AM +0300, Alexey Budankov wrote:
> Makes sense. The implementation becomes a bit simpler. The drawbacks
> may be several rotations of potentially big tree on the critical path,
> instead of updating four pointers in case of the tree of lists.

Yes, but like said, it allows implementing a better scheduler than RR,
allowing us to fix rotation artifacts where task runtimes are near the
rotation window.

A slightly more complicated, but also interested scheduling problem is
the per-cpu flexible vs the per-task flexible. Ideally we'd rotate them
at the same priority based on service, without strictly prioritizing the
per-cpu events.

Again, that is something that should be possible once we have a more
capable event scheduler.


So yes, cons and pros.. :-)