On Wed, Jul 24, 2013 at 04:16:36PM +0100, Arjan van de Ven wrote:
Given that the power topology is taken into account, a sort left/right-like mechanism would only help performance insensitive tasks on big.LITTLE. Performance sensitive tasks that each can use more than a little cpu should move in the opposite direction. Well, directly to a big cpu, even if some little cpus are idle.
It can be discussed whether smaller performance sensitive tasks that would fit on a little cpu should be put on a little or big cpu. That would depend on the nature of the task and if other tasks depend on it.
yeah that makes it fun
just a question for my education; is there overlap between big and little? meaning, is the "highest speed of little" as fast, or faster than "lowest speed of big" or are those strictly disjoint?
(if there's overlap that gives some room for the scheduler to experiment)
It is implementation dependent. And it depends on how you define performance :-)
That is hardly an answer to your question.
The big and little uarchs are quite different and typically support different frequencies. For memory bound tasks there is more likely to be an overlap than for cpu intensive tasks.
I would expect performance to be disjoint for most tasks. If there was an overlap, the big would probably be less power efficient (as in energy/instruction) than the little so you would prefer to run on the little anyway.
In what way would you use the overlap?