On Wed, Jan 08, 2014 at 12:35:34PM +0000, Morten Rasmussen wrote:
The harder case is where all 3 tasks are of equal weight; in which case fairness would mandate we (slowly) rotate the tasks such that they all get 2/3 time -- we also horribly fail at this :-)
I have encountered that one a number of times. All the middleware noise in Android sometimes give that effect.
You've got a typo there: s/middleware/muddleware/ :-)
I'm not sure if the NUMA guy would like rotating scheduler though :-)
Hurmph ;-) But yes, the N+1 tasks on a N cpu system is rotten; any static solution gets 2 tasks that run at 50%, any dynamic solution gets the migration overhead issue.
So while the dynamic solution would indeed allow each task to (on average) receive N/N+1 time -- a vast improvement over the 50% thing, it doesn't come without down sides.