Re: [PATCH] sched: deduplicate mm checks in normalize_rt_tasks()

From: Hillf Danton
Date: Thu Apr 21 2011 - 09:50:40 EST


On Thu, Apr 21, 2011 at 9:43 PM, Yong Zhang <yong.zhang0@xxxxxxxxx> wrote:
> On Thu, Apr 21, 2011 at 09:29:04PM +0800, Yong Zhang wrote:
>> On Thu, Apr 21, 2011 at 09:15:56PM +0800, Hillf Danton wrote:
>> > When normalizing realtime tasks, only user tasks are concerned by
>> > checking their ->mm.
>> > If the task is not realtime, the -mm is checked again, thus the
>> > overwork could be removed.
>> >
>> > Signed-off-by: Hillf Danton <dhillf@xxxxxxxxx>
>> > ---
>> >
>> > --- a/kernel/sched.c    Â2011-03-30 03:09:48.000000000 +0800
>> > +++ b/kernel/sched.c    Â2011-04-21 20:59:28.000000000 +0800
>> > @@ -8364,7 +8364,7 @@ void normalize_rt_tasks(void)
>> > Â Â Â Â Â Â Â Â Â Â Â* Renice negative nice level userspace
>> > Â Â Â Â Â Â Â Â Â Â Â* tasks back to 0:
>> > Â Â Â Â Â Â Â Â Â Â Â*/
>> > - Â Â Â Â Â Â Â Â Â if (TASK_NICE(p) < 0 && p->mm)
>> > + Â Â Â Â Â Â Â Â Â if (TASK_NICE(p) < 0)
>>
>> This looks good.
>>
>> And we can also move TASK_NICE(p) < 0 to the upper if(),
>> like:
>> Â Â Â Â Â Â Â if (!rt_task(p) && TASK_NICE(p) < 0) {
>> Â Â Â Â Â Â Â Â Â Â Â set_user_nice(p, 0);
>> Â Â Â Â Â Â Â Â Â Â Â continue;
>> Â Â Â Â Â Â Â }
>>
>> to reduce one level if() to make code cleaner :)
>
> Damm, I'm wrong here, just ignore it.
>
Hi Yong

We could not be fine every time, right?

thanks
Hillf

> Yours is good.
>
> Reviewed-by: Yong Zhang <yong.zhang0@xxxxxxxxx>
>
>>
>> Thanks,
>> Yong
>>
>> > Â Â Â Â Â Â Â Â Â Â Â Â Â Â set_user_nice(p, 0);
>> > Â Â Â Â Â Â Â Â Â Â continue;
>> > Â Â Â Â Â Â }
>> > --
>> > 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/
--
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/