int queued, running, queue_flags =
                DEQUEUE_SAVE | DEQUEUE_MOVE | DEQUEUE_NOCLOCK;
        struct task_group *group;
-       struct rq_flags rf;
        struct rq *rq;
 
-       rq = task_rq_lock(tsk, &rf);
+       CLASS(task_rq_lock, rq_guard)(tsk);
+       rq = rq_guard.rq;
+
        /*
         * Esp. with SCHED_AUTOGROUP enabled it is possible to get superfluous
         * group changes.
         */
        group = sched_get_task_group(tsk);
        if (group == tsk->sched_task_group)
-               goto unlock;
+               return;
 
        update_rq_clock(rq);
 
                 */
                resched_curr(rq);
        }
-
-unlock:
-       task_rq_unlock(rq, tsk, &rf);
 }
 
 static inline struct task_group *css_tg(struct cgroup_subsys_state *css)