From 636c72b23b52a13565a45e568dd7aa9abd0794a4 Mon Sep 17 00:00:00 2001 From: Li Zefan Date: Tue, 29 Jul 2008 22:33:21 -0700 Subject: [PATCH] --- yaml --- r: 107003 b: refs/heads/master c: 8d1e6266f512b3a94ef6d33528ff385f1aea0392 h: refs/heads/master i: 107001: a5d38ca97f303764b20b5f4bdcd712e12e699136 106999: 6153336ed749c33ea42dd099e9ea1563d71d9a32 v: v3 --- [refs] | 2 +- trunk/kernel/cpuset.c | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index bc63bd1b8d68..24ff0b5f5b12 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4ef1b0fd61333b3b81ebe29283898c6c84b15c9f +refs/heads/master: 8d1e6266f512b3a94ef6d33528ff385f1aea0392 diff --git a/trunk/kernel/cpuset.c b/trunk/kernel/cpuset.c index 91cf85b36dd5..3624dc0e95ed 100644 --- a/trunk/kernel/cpuset.c +++ b/trunk/kernel/cpuset.c @@ -1833,24 +1833,21 @@ static void remove_tasks_in_empty_cpuset(struct cpuset *cs) */ static void scan_for_empty_cpusets(const struct cpuset *root) { + LIST_HEAD(queue); struct cpuset *cp; /* scans cpusets being updated */ struct cpuset *child; /* scans child cpusets of cp */ - struct list_head queue; struct cgroup *cont; nodemask_t oldmems; - INIT_LIST_HEAD(&queue); - list_add_tail((struct list_head *)&root->stack_list, &queue); while (!list_empty(&queue)) { - cp = container_of(queue.next, struct cpuset, stack_list); + cp = list_first_entry(&queue, struct cpuset, stack_list); list_del(queue.next); list_for_each_entry(cont, &cp->css.cgroup->children, sibling) { child = cgroup_cs(cont); list_add_tail(&child->stack_list, &queue); } - cont = cp->css.cgroup; /* Continue past cpusets with all cpus, mems online */ if (cpus_subset(cp->cpus_allowed, cpu_online_map) &&