Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Christopher Ferreira
erods-bench
Commits
2a0f6e7a
Commit
2a0f6e7a
authored
Jun 02, 2017
by
aumgn
Browse files
Avancement analyse load_balancing
parent
9b038a7d
Changes
1
Hide whitespace changes
Inline
Side-by-side
migrations/migrations.org
View file @
2a0f6e7a
...
...
@@ -231,8 +231,8 @@ This function will never be called at runtime and probably be optimized away by
=> Seems to be only set for domain whose SD_NUMA flag is also set.
=> TODO Checks if when this lock is not used, this is because :
- Another held lock might prevent concurrency problems
- It is
(assumed) not (to be)
a problem to do multiple load balancings concurrently
+ TODO Use some kind of decay heuristics related to fields :
- It is
not
a problem to do multiple load balancings concurrently
+ TODO Use some kind of decay heuristics related to
the
fields :
- sched_domain.next_decay_max_lb_cost
- sched_domain.max_newidle_lb_cost
+ Call load_balance to actually do the balancing for the current CPU and each relevant domain
...
...
@@ -278,6 +278,14 @@ This function will never be called at runtime and probably be optimized away by
+ Starts by computing stats inside a two level struct sd_lb_stats with field
struct sg_lb_stats by calling update_sd_lb_stats.
+ Calls check_asym_packing.
+ Differentiate between a group which is (enum group_type fair.c#6715):
- Overloaded, i.e. its load is greater than its capacity
=> Slight difference between being overloaded and having no capacity
(when the load is eaqual to the capacity)
- TODO Imbalanced, from field sched_group_capacity->imbalance
which may have been set by a previous call to load_balance
(set in function load_balance lines 7824 & unset line 7914)
- Other, for others cases
*** TODO update_sd_lb_stats
+ Uses field sched_domain->{busy,idle,newidle}_idx which are not really documented
...
...
@@ -304,11 +312,17 @@ This function will never be called at runtime and probably be optimized away by
the tasks on the system).
"""
+ TLDR; Will iterates on all groups and update their stats.
It will also sums them
for the domain.
+ TLDR; Will iterates on all groups
of the domain
and update their stats.
It will also sums them
for the domain.
*** TODO update_sg_lb_stats
+ TODO Contains a comment "Bias balancing toward cpus of our domain"
+ The load of one group is computed as the sum of its CPUs (sched_capacity->cpumask)
+ For each CPU the load stats is choosen between :
- Its runqueue load decaying average, field rq->cpu_load
(using the idx describe in update_sd_lb_stats)
- TODO Its runqueue field rq->runnable_load_avg
=> Use minimum if the destination CPU is part of the considered group, maximum otherwise
Described as "Bias balancing toward cpus of our domain"
*** TODO check_asym_packing
+ Related to the POWER7 family of processor
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment