Hi Juri, On Wed, 8 May 2019 15:10:18 +0200 Juri Lelli <juri.le...@redhat.com> wrote:
> On 08/05/19 14:47, luca abeni wrote: > > [...] > > > Notice that all this logic is used only to select one of the idle > > cores (instead of picking the first idle core, we select the less > > powerful core on which the task "fits"). > > > > So, running_bw does not provide any useful information, in this > > case; maybe this_bw can be more useful. > > Ah, indeed. > > However, what happens when cores are all busy? Can load balancing > decisions based on deadline values only break capacity awareness? (I > understand this is an RFC, so a "yes, something we need to look at" is > OK :-) I have no definitive answer about this :) If we do not want to break EDF and its properties, migrations have to be performed so that the "global EDF invariant" (schedule the m tasks with earliest deadlines) is not broken (and capacity-based migrations for non-idle cores risk to break this invariant). In theory, we should do something like "schedule the earliest deadline task on the fastest core", but this would require too many migrations (and would require to migrate a task while it is executing, etc...) I am convinced that doing the capacity-aware migrations when we have idle cores helps to reduce migrations (avoiding "useless migrations") when there are no idle cores, but I have no proof about this (just some simple examples); this is why I say that I have no definitive answer... Luca