Commit 68219d4a authored by aumgn's avatar aumgn
Browse files

Avancement analyse thread placement

parent eaef94af
......@@ -546,14 +546,14 @@ domain2 : NUMA
*** select_task_rq_fair(SD_BALANCE_WAKE) -> place close to previous CPU and waker
+ Criteria : Previous CPU and waker CPU are both part of a scheduling domain whose
flag SD_WAKE_AFFINE is set.
flag SD_WAKE_AFFINE is set, lowest domain first.
Motivation : Consolidation of waker/wakee on shared cache ?
Note : TODO Motivation not clear. The flag SD_WAKE_AFFINE is set on all domains
on the mc2, even NUMA domains.
+ Criteria : Number of wakees is less than number of CPUs in llc domain of waker
Motivation : Consolidation, keep waker/wakee with a close relationship together
Spread wakee threads when waker:wakees relationship is 1:N.
+ Criteria : Capacity of waking CPU fits the waking thread utilization
+ Criteria : Capacity of waking CPU fits the waking(wakee?) thread utilization
Motivation : Avoid consolidation on a CPU whose capacity is not good enough
Meant for asymmetric architectures
+ Criteria : if load of waker CPU is less than load of previous CPU, then wake up
......@@ -574,3 +574,38 @@ domain2 : NUMA
Motivation : ???
** Load Balancing
*** Busiest CPU selection ASYM_PACKING
+ Criteria : SD_ASYM_PACKING set on scheduling domain
Motivation :
*** Busiest CPU Selection
*** Throttled
+ Criteria : One of the CPU (src or dst) is throttled (frequency slowed down): Keep here
*** Numa :
+ Criteria : if task has NUMA faults : Consider cache
+ Criteria : Src node is preferred NUMA node and runqueue
has more task than task which would prefer staying : Migrate
+ Criteria : Src node is preferred NUMA node and runqueue
has less task than tasks which would prefer staying : Keep here
+ Criteria : Dst node is preferred NUMA node : Migrate
*** Cache :
+ Criteria : Task if next or last buddy : Keep here
Motivation : Favor "cache-hotness"
+ Criteria : Task last run delay is less than sched_migration_cost
Once the idlest CPU has been elected to run load balancing on behalf of the scheduling domain,
the algorithm will proceed to look for the busiest CPU. It will then check that the migration
meets a certain set of criteria.
If NUMA balancing is enabled, the scheduler keeps track of different statistics about the NUMA behavior of the machines.
Among these statistics, it stores the number of NUMA faults for each threads its preferred NUMA node
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment