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