[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <541C24EC.1080200@arm.com>
Date: Fri, 19 Sep 2014 13:43:24 +0100
From: Juri Lelli <juri.lelli@....com>
To: Daniel Wagner <daniel.wagner@...-carit.de>,
"peterz@...radead.org" <peterz@...radead.org>
CC: "mingo@...hat.com" <mingo@...hat.com>,
"juri.lelli@...il.com" <juri.lelli@...il.com>,
"raistlin@...ux.it" <raistlin@...ux.it>,
"michael@...rulasolutions.com" <michael@...rulasolutions.com>,
"fchecconi@...il.com" <fchecconi@...il.com>,
"vincent@...out.info" <vincent@...out.info>,
"luca.abeni@...tn.it" <luca.abeni@...tn.it>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
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@...il.com>
>> Reported-by: Daniel Wagner <daniel.wagner@...-carit.de>
>
> Tested-by: Daniel Wagner <daniel.wagner@...-carit.de>
>
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists