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.. :-)