cpuset: fix regression when failed to generate sched domains
commita677fac636cbd9fdd1520e16514dee91f59f80be
authorLi Zefan <lizf@cn.fujitsu.com>
Tue, 18 Nov 2008 06:02:03 +0000 (18 14:02 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 5 Dec 2008 18:55:10 +0000 (5 10:55 -0800)
tree9af47eea4a6c1d5f9afe681c88aae0d66f89c879
parent1e08cf0c27df7940199d0d9dff37a8a2318d9140
cpuset: fix regression when failed to generate sched domains

commit 700018e0a77b4113172257fcdaa1c58e27a5074f upstream.

Impact: properly rebuild sched-domains on kmalloc() failure

When cpuset failed to generate sched domains due to kmalloc()
failure, the scheduler should fallback to the single partition
'fallback_doms' and rebuild sched domains, but now it only
destroys but not rebuilds sched domains.

The regression was introduced by:

| commit dfb512ec4834116124da61d6c1ee10fd0aa32bd6
| Author: Max Krasnyansky <maxk@qualcomm.com>
| Date:   Fri Aug 29 13:11:41 2008 -0700
|
|    sched: arch_reinit_sched_domains() must destroy domains to force rebuild

After the above commit, partition_sched_domains(0, NULL, NULL) will
only destroy sched domains and partition_sched_domains(1, NULL, NULL)
will create the default sched domain.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Max Krasnyansky <maxk@qualcomm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/cpuset.c
kernel/sched.c