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

From: Daniel Wagner
Date: Fri Sep 19 2014 - 07:50:18 EST


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.

Thanks,
Daniel
--
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/