/* The dequeue_task method is called before nr_running is decreased. We remove the task from the rbtree and update the fair scheduling stats:  */
static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int sleep)
/* The dequeue_task method is called before nr_running is decreased. We remove the task from the rbtree and update the fair scheduling stats:  */
static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int sleep)
{
	struct cfs_rq *cfs_rq;
	struct sched_entity *se = &p->se;
	for_each_sched_entity(se) {
		cfs_rq = cfs_rq_of(se);
		dequeue_entity(cfs_rq, se, sleep);
		if (cfs_rq->load.weight)
			break;
		sleep = 1;
	}
	hrtick_update(rq);
}