Remove XXX_FROZEN state from sched/core.

Signed-off-by: Chen, Gong <gong.c...@linux.intel.com>
---
 kernel/sched/core.c | 55 ++++++++++++++++++++++++-----------------------------
 1 file changed, 25 insertions(+), 30 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index bc1638b..f0aff5f 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -459,13 +459,10 @@ hotplug_hrtick(struct notifier_block *nfb, unsigned long 
action, void *hcpu)
 {
        int cpu = (int)(long)hcpu;
 
-       switch (action) {
+       switch (action & ~CPU_TASKS_FROZEN) {
        case CPU_UP_CANCELED:
-       case CPU_UP_CANCELED_FROZEN:
        case CPU_DOWN_PREPARE:
-       case CPU_DOWN_PREPARE_FROZEN:
        case CPU_DEAD:
-       case CPU_DEAD_FROZEN:
                hrtick_clear(cpu_rq(cpu));
                return NOTIFY_OK;
        }
@@ -6742,30 +6739,28 @@ static int num_cpus_frozen;     /* used to mark 
begin/end of suspend/resume */
 static int cpuset_cpu_active(struct notifier_block *nfb, unsigned long action,
                             void *hcpu)
 {
-       switch (action) {
-       case CPU_ONLINE_FROZEN:
-       case CPU_DOWN_FAILED_FROZEN:
-
-               /*
-                * num_cpus_frozen tracks how many CPUs are involved in suspend
-                * resume sequence. As long as this is not the last online
-                * operation in the resume sequence, just build a single sched
-                * domain, ignoring cpusets.
-                */
-               num_cpus_frozen--;
-               if (likely(num_cpus_frozen)) {
-                       partition_sched_domains(1, NULL, NULL);
-                       break;
+       switch (action & ~CPU_TASKS_FROZEN) {
+       case CPU_ONLINE:
+       case CPU_DOWN_FAILED:
+               if (action & CPU_TASKS_FROZEN) {
+                       /*
+                        * num_cpus_frozen tracks how many CPUs are involved
+                        * in suspend resume sequence. As long as this is not
+                        * the last online operation in the resume sequence,
+                        * just build a single sched domain, ignoring cpusets.
+                        */
+                       num_cpus_frozen--;
+                       if (likely(num_cpus_frozen)) {
+                               partition_sched_domains(1, NULL, NULL);
+                               break;
+                       }
                }
 
                /*
-                * This is the last CPU online operation. So fall through and
-                * restore the original sched domains by considering the
-                * cpuset configurations.
+                * This is the last CPU online operation. So restore the
+                * original sched domains by considering the cpuset
+                * configurations.
                 */
-
-       case CPU_ONLINE:
-       case CPU_DOWN_FAILED:
                cpuset_update_active_cpus(true);
                break;
        default:
@@ -6777,13 +6772,13 @@ static int cpuset_cpu_active(struct notifier_block 
*nfb, unsigned long action,
 static int cpuset_cpu_inactive(struct notifier_block *nfb, unsigned long 
action,
                               void *hcpu)
 {
-       switch (action) {
+       switch (action & ~CPU_TASKS_FROZEN) {
        case CPU_DOWN_PREPARE:
-               cpuset_update_active_cpus(false);
-               break;
-       case CPU_DOWN_PREPARE_FROZEN:
-               num_cpus_frozen++;
-               partition_sched_domains(1, NULL, NULL);
+               if (action & CPU_TASKS_FROZEN) {
+                       num_cpus_frozen++;
+                       partition_sched_domains(1, NULL, NULL);
+               } else
+                       cpuset_update_active_cpus(false);
                break;
        default:
                return NOTIFY_DONE;
-- 
2.0.0.rc2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to