Messages in this thread | | | Date | Fri, 19 Sep 2014 13:44:30 +0200 | From | Daniel Wagner <> | Subject | Re: [PATCH 1/3] sched/deadline: clear dl_entity params when setscheduling to different class |
| |
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@gmail.com> > Reported-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Tested-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Fixes my problem.
Thanks, Daniel
| |