Merge tag 'v3.18' into p/abusse/merge_upgrade
[projects/modsched/linux.git] / kernel / sched / cfs / auto_group.c
index 64de5f8..8a2e230 100644 (file)
@@ -77,8 +77,6 @@ static inline struct autogroup *autogroup_create(void)
        if (IS_ERR(tg))
                goto out_free;
 
-       sched_online_group(tg, &root_task_group);
-
        kref_init(&ag->kref);
        init_rwsem(&ag->lock);
        ag->id = atomic_inc_return(&autogroup_seq_nr);
@@ -98,6 +96,7 @@ static inline struct autogroup *autogroup_create(void)
 #endif
        tg->autogroup = ag;
 
+       sched_online_group(tg, &root_task_group);
        return ag;
 
 out_free:
@@ -149,11 +148,8 @@ autogroup_move_group(struct task_struct *p, struct autogroup *ag)
        if (!ACCESS_ONCE(sysctl_sched_autogroup_enabled))
                goto out;
 
-       t = p;
-       do {
+       for_each_thread(p, t)
                sched_move_task(t);
-       } while_each_thread(p, t);
-
 out:
        unlock_task_sighand(p, &flags);
        autogroup_kref_put(prev);
@@ -204,7 +200,7 @@ int proc_sched_autogroup_set_nice(struct task_struct *p, int nice)
        struct autogroup *ag;
        int err;
 
-       if (nice < -20 || nice > 19)
+       if (nice < MIN_NICE || nice > MAX_NICE)
                return -EINVAL;
 
        err = security_task_setnice(current, nice);