Hybrid scheduling gets more complicated
Hybrid scheduling gets more complicated
Posted Oct 6, 2022 10:50 UTC (Thu) by maxfragg (guest, #122266)In reply to: Hybrid scheduling gets more complicated by epa
Parent article: Hybrid scheduling gets more complicated
what you are describing is very well matching with what you get with the hybrid scheduling as its implemented for some ARM-SOCs.
The scheduler by default tries to keep everything on the LITTLE cores and only mitigates tasks to big cores, if they are repeatedly use up timeslice before blocking.
The result of that is, that you as a user get a noticeable slow period, if you interact with the system after some idle period, which really is a bad user experience.
Say you are running a webbrowser (and javascript usually suffers quite badly on simple in-order cores), and after idling it takes around 3s until all relevant threads have been migrated to the big cores again and your website is actually scrolling smoothly.
Not what I would call an ideal user experience, especially if the system isn't so strictly confined by power consumption.
Some applications shouldn't get periodically shifted down to slow cores, simply for the user sake, while other things, which might be janitor-tasks from the operating system, probably never should run on big cores.
The scheduler by default tries to keep everything on the LITTLE cores and only mitigates tasks to big cores, if they are repeatedly use up timeslice before blocking.
The result of that is, that you as a user get a noticeable slow period, if you interact with the system after some idle period, which really is a bad user experience.
Say you are running a webbrowser (and javascript usually suffers quite badly on simple in-order cores), and after idling it takes around 3s until all relevant threads have been migrated to the big cores again and your website is actually scrolling smoothly.
Not what I would call an ideal user experience, especially if the system isn't so strictly confined by power consumption.
Some applications shouldn't get periodically shifted down to slow cores, simply for the user sake, while other things, which might be janitor-tasks from the operating system, probably never should run on big cores.
