Now, we're using a BinaryHeap structure.
We should create an intrusive list on TCB to improve scalability of TCBs (we are limited to 64 TCBs per core now), and for cost (insertion and removing is O(log n) but with intrusive list we should be able to reduce to O(n) (worst than now[1]) insertion and O(1) removal).
[1] While it's ok for in-CPU cache scheduler (most of time), we could also see for a skip list system.