[lkml]   [2008]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC] [PATCH] cpuset: fix wrong calculation of relax domain level
Li Zefan wrote:
> When multiple cpusets are overlapping in their 'cpus' and hence they
> form a single sched domain, the largest sched_relax_domain_level among
> those should be used. But when top_cpuset's sched_load_balance is
> set, its sched_relax_domain_level is used regardless other sub-cpusets'.
> There are several proposals to solve this:
> 1) Travel the cpuset hierarchy to find the largest relax_domain_level
> in rebuild_sched_domains(). But cpuset avoids hierarchy travelling
> when top_cpuset.sched_load_balance is set.
> 2) Remember the largest relax_domain_level when we update a cpuset's
> sched_load_balance, sched_relax_domain_level and cpus. This should
> work, but seems a bit tricky and a bit ugly. (As this patch shows)
> 3) Don't treat this as a bug, but document this behavior.

I think 1) is correct way.

There was a special short path for the top_cpuset's case, but now it is
disappeared. I think there are no need to treat the top_cpuset as VIP,
so 2) is excessive nurturing.


 \ /
  Last update: 2008-07-17 11:01    [W:0.072 / U:4.624 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site