I think this falls into the category of too simple models. In particular I would questions the assumptions that tasks are independent and that there's no cost overhead in context switches or CPU migrations. Would that it were so easy.
As for linux, even if you have optimal scheduling for all the subsystems, the combined effect is still chaotic.