[lkml]   [2008]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: scheduler scalability - cgroups, cpusets and load-balancing
Paul, responding to Peter:
> > We now have a per-cpuset Boolean flag file called 'sched_load_balance'.

No. SD_LOAD_BALANCE is some attribute of sched domains.

The 'sched_load_balance' flag is an attribute of cpusets.

The mapping of cpusets to sched domains required several pages of 'fun
to write' code, which had to go through a couple of years of fixing and
one major rewrite before it (knock on wood) worked correctly. It's not
a one-to-one relation, in other words. See my earlier messages for
further explanation of how this works.

I'm not sure what SD_LOAD_BALANCE does ... I guess from a quick
read that it just optimizes the recognition of singleton sched
domains for which load balancing would be a wasted effort.

> > This 'sched_load_balance' flag is, thus far, "the" cpuset hook
> > supporting realtime. One can use it to configure a system so that
> > the kernel does not do normal load balancing on select CPUs, such
> > as those CPUs dedicated to realtime use.
> Ah, here I disagree, it is possible to do (hard) realtime scheduling
> over multiple cpus, the only draw back is that it requires a very strong
> load-balancer, making it unsuitable for large number of cpus.

I don't think we are disagreeing. I was speaking of "normal"
load balancing (what the mainline kernel/sched.c code normally
does). You're speaking of hard realtime load balancing.

I think we agree that these both exist, and require different
load balancing code, the latter 'very strong.'

I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <> 1.940.382.4214

 \ /
  Last update: 2008-01-29 13:07    [W:0.065 / U:8.512 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site