Dinakar Guniguntala wrote:
> Hello Andrew,
> The following patches add dynamic sched domains functionality that was
> extensively discussed on lkml and lse-tech.
> I would like to see this added to -mm
> o The main advantage with this feature is that it ensures that the scheduler
> load balacing code only balances against the cpus that are in the sched
> domain as defined by an exclusive cpuset and not all of the cpus in the
> system. This removes any overhead due to load balancing code trying to
> pull tasks outside of the cpu exclusive cpuset only to be prevented by
> the tasks' cpus_allowed mask.
> o cpu exclusive cpusets are useful for servers running orthogonal
> workloads such as RT applications requiring low latency and HPC
> applications that are throughput sensitive
> o It provides a new API partition_sched_domains in sched.c
> that makes dynamic sched domains possible.
> o cpu_exclusive cpusets sets are now associated with a sched domain.
> Which means that the users can dynamically modify the sched domains
> through the cpuset file system interface
> o ia64 sched domain code has been updated to support this feature as well
> o Currently, this does not support hotplug. (However some of my tests
> indicate hotplug+preempt is currently broken)
> o I have tested it extensively on x86.
> o This should have very minimal impact on performance as none of
> the fast paths are affected
> Signed-off-by: Dinakar Guniguntala <dino@...>
> Acked-by: Paul Jackson <pj@...>
> Acked-by: Nick Piggin <nickpiggin@...>
> linux-2.6.12-rc4-mm1-1/include/linux/sched.h | 2
> linux-2.6.12-rc4-mm1-1/kernel/sched.c | 130 +++++++++++++++--------
> linux-2.6.12-rc4-mm1-2/Documentation/cpusets.txt | 16 ++
> linux-2.6.12-rc4-mm1-2/kernel/cpuset.c | 89 +++++++++++++--
> linux-2.6.12-rc4-mm1-3/arch/ia64/kernel/domain.c | 76 +++++++------
> 5 files changed, 225 insertions(+), 88 deletions(-)
Looks good to me, Dinakar!
Acked-by: Matthew Dobson <colpatch@...>