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.

thanks
Hillf
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/