#
a47974dd |
|
29-Dec-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
scheduler: Use heap to determine highest priority thread
|
#
14e36af6 |
|
20-Nov-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel[/util]: Fix debug builds
|
#
4c499443 |
|
22-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Fixes in [MinMax]Heap implementation
|
#
5cf9b69b |
|
21-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Minor improvements in Heap and MinMaxHeap * [MinMax]Heap::ModifyKey(): Do not attempt to move node if the key actually hasn't changed. * Allow allocating initial array at construction.
|
#
278c9784 |
|
16-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
scheduler_affine: Use global core heap and per-core CPU heaps There is a global heap of cores, where the key is the highest priority of threads running on that core. Moreover, for each core there is a heap of logical processors on this core where the key is the priority of currently running thread. The per-core heap is used for load balancing among logical processors on that core. The global heap is used in initial decision where to put the thread (note that the algorithm that makes this decision is not complete yet).
|
#
f20ad54b |
|
14-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel: Add support for SMP systems to simple scheduler In SMP systems simple scheduler will be used only when all logical processors share all levels of cache and the number of CPUs is low. In such systems we do not have to care about cache affinity and the contention on the lock protecting shared run queue is low. Single run queue makes load balancing very simple.
|
#
4ade765c |
|
08-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Add heap implementation
|
#
a47974dd061e73828d099d11c1e4296ee687536b |
|
29-Dec-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
scheduler: Use heap to determine highest priority thread
|
#
14e36af649464ae1bee6710b9ec27b196eca98ef |
|
20-Nov-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel[/util]: Fix debug builds
|
#
4c4994435d83053a5b4536dabab8a755af97d59c |
|
22-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Fixes in [MinMax]Heap implementation
|
#
5cf9b69b498bff8d197b1ea6ca2b2c47094890fd |
|
21-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Minor improvements in Heap and MinMaxHeap * [MinMax]Heap::ModifyKey(): Do not attempt to move node if the key actually hasn't changed. * Allow allocating initial array at construction.
|
#
278c9784a13e80068e7ab97ffd9feb27b98e17d6 |
|
16-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
scheduler_affine: Use global core heap and per-core CPU heaps There is a global heap of cores, where the key is the highest priority of threads running on that core. Moreover, for each core there is a heap of logical processors on this core where the key is the priority of currently running thread. The per-core heap is used for load balancing among logical processors on that core. The global heap is used in initial decision where to put the thread (note that the algorithm that makes this decision is not complete yet).
|
#
f20ad54be26d164713bd06dab0435cee985561ef |
|
14-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel: Add support for SMP systems to simple scheduler In SMP systems simple scheduler will be used only when all logical processors share all levels of cache and the number of CPUs is low. In such systems we do not have to care about cache affinity and the contention on the lock protecting shared run queue is low. Single run queue makes load balancing very simple.
|
#
4ade765cabf092840feb3771fdde2b37deaf5f27 |
|
08-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Add heap implementation
|