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