#10454: New scheduler: substantial performance drop -----------------------------+---------------------------- Reporter: stippi | Owner: pdziepak Type: task | Status: in-progress Priority: high | Milestone: R1 Component: System/Kernel | Version: R1/Development Resolution: | Keywords: Blocked By: 10487 | Blocking: Has a Patch: 0 | Platform: All -----------------------------+---------------------------- Comment (by pdziepak): I've noticed recently that the scheduler tends to keep one core unoccupied despite having correct core load statistics. That behaviour is not shown on the graph Stephan posted, but still, it is apparently some oversight in thread migration logic. There is also another potential cause for these performance problems which, actually, has already worried me for some time, but I never looked into it more closely. When a core is chosen for a thread (in low latency mode) the scheduler first considers cores that are currently idle. The purpose of that is to allow the thread to run immediately. However, core with 90% is idle for 10% of the time and in worst-case scenario may be chosen by the scheduler even if there were much less occupied cores. The fix for that shouldn't be very complicated (testing the impact of that fix probably would take more time, though), all that needs to be done is not allow cores with a load above certain threshold in idle core list. I am going to address these issues in a few days. -- Ticket URL: <https://dev.haiku-os.org/ticket/10454#comment:15> Haiku <https://dev.haiku-os.org> Haiku - the operating system.