mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
cpuset: don't pass empty cpumasks to partition_sched_domains()
I create lots of empty cpusets(empty cpumasks) and turn off the "sched_load_balance" in top cpuset. I found that all these empty cpumasks are passed to partition_sched_domains() in rebuild_sched_domains(), it's very time-consuming for partition_sched_domains() and it's not need. It also reduce memory consumed and some works in rebuild_sched_domains() too. Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Acked-by: Paul Menage <menage@google.com> Cc: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c372e817af
commit
489a5393a2
1 changed files with 5 additions and 0 deletions
|
@ -610,8 +610,13 @@ void rebuild_sched_domains(void)
|
|||
while (__kfifo_get(q, (void *)&cp, sizeof(cp))) {
|
||||
struct cgroup *cont;
|
||||
struct cpuset *child; /* scans child cpusets of cp */
|
||||
|
||||
if (cpus_empty(cp->cpus_allowed))
|
||||
continue;
|
||||
|
||||
if (is_sched_load_balance(cp))
|
||||
csa[csn++] = cp;
|
||||
|
||||
list_for_each_entry(cont, &cp->css.cgroup->children, sibling) {
|
||||
child = cgroup_cs(cont);
|
||||
__kfifo_put(q, (void *)&child, sizeof(cp));
|
||||
|
|
Loading…
Reference in a new issue