Having two different places to validate DL operations makes no sense.  As
such move everything in the same function.

Signed-off-by: Mathieu Poirier <[email protected]>
---
 kernel/cgroup/cpuset.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
index 18df143b4013..8d2ba5591dfb 100644
--- a/kernel/cgroup/cpuset.c
+++ b/kernel/cgroup/cpuset.c
@@ -477,6 +477,15 @@ static int validate_dl_change(struct cpuset *cur, struct 
cpuset *trial)
        struct cpuset *cs;
 
        /*
+        * We can't shrink if we won't have enough room for SCHED_DEADLINE
+        * tasks.
+        */
+       if (is_cpu_exclusive(cur) &&
+           !cpuset_cpumask_can_shrink(cur->cpus_allowed,
+                                      trial->cpus_allowed))
+               goto out;
+
+       /*
         * The cpuset.sched_load_balance flag is flipped off on
         * the current cpuset.
         */
@@ -606,16 +615,6 @@ static int validate_change(struct cpuset *cur, struct 
cpuset *trial)
                        goto out;
        }
 
-       /*
-        * We can't shrink if we won't have enough room for SCHED_DEADLINE
-        * tasks.
-        */
-       ret = -EBUSY;
-       if (is_cpu_exclusive(cur) &&
-           !cpuset_cpumask_can_shrink(cur->cpus_allowed,
-                                      trial->cpus_allowed))
-               goto out;
-
        ret = 0;
 out:
        rcu_read_unlock();
-- 
2.7.4

Reply via email to