Re: [PATCH 1/3] sched/deadline: clear dl_entity params when setscheduling to different class

From: Juri Lelli
Date: Fri Sep 19 2014 - 08:43:03 EST


Hi Daniel,

On 19/09/14 12:44, Daniel Wagner wrote:
> Hi,
>
> On 09/19/2014 11:22 AM, Juri Lelli wrote:
>> When a task is using SCHED_DEADLINE and the user setschedules it to a different
>> class its sched_dl_entity static parameters are not cleaned up. This causes a
>> bug if the user sets it back to SCHED_DEADLINE with the same parameters again.
>> The problem resides in the check we perform at the very beginning of
>> dl_overflow():
>>
>> if (new_bw == p->dl.dl_bw)
>> return 0;
>>
>> This condition is met in the case depicted above, so the function returns and
>> dl_b->total_bw is not updated (the p->dl.dl_bw is not added to it). After this,
>> admission control is broken.
>>
>> This patch fixes the thing, properly clearing static parameters for a task
>> that ceases to use SCHED_DEADLINE.
>>
>> Reported-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx>
>> Reported-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
>
> Tested-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
>
> Fixes my problem.
>

Great! Thanks for testing it.

Best,

- Juri

--
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/