Re: [PATCH] sched: update cpupri for runqueue when its priority changes

From: Hillf Danton
Date: Sun Jun 19 2011 - 04:34:26 EST

On Sun, Jun 19, 2011 at 1:11 AM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>> There are two cases that NULL is returned in _pick_next_task_rt(), it is the
>> second case, after checking rt_rq->rt_nr_running, that is captured, and if
>> NULL is returned in the second case, the CPU priority does change.
> The two cases are:
> 1) no rt task exists
> 2) the runqueue is throttled.
> We already talked about the throttled case. The case where no rt task
> exists means that the last rt task has been dequeued. When that happens,
> the cpupri is updated then. I don't see any bug. There's no need to
> update cpupri at this point.

In case 2) , the CPU will be held then by non-RT task, and we have to
update priority.

I understand 1) and 2) to be, there has RT tasks on runqueue but they
could not run at the moment.

If throttled RQ == no RT tasks, please drop this patch directly.

>> In another scenario that has little with {en, de}queue, as shown by
>> requeue_task_rt(), the CPU priority will change if other RT tasks exist.
> The requeue_task_rt() does not change the priority of the CPU. It just
> updates the task in its order of placement in the queue of other tasks
> of the same priority.

You are right, updating CPU priority for requeue is unnecessary.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at