[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5698AAAB.9040606@unitn.it>
Date: Fri, 15 Jan 2016 09:15:39 +0100
From: Luca Abeni <luca.abeni@...tn.it>
To: Peter Zijlstra <peterz@...radead.org>
Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
Juri Lelli <juri.lelli@....com>
Subject: Re: [RFC 7/8] Make GRUB a task's flag
On 01/14/2016 08:56 PM, Peter Zijlstra wrote:
> On Thu, Jan 14, 2016 at 04:24:52PM +0100, Luca Abeni wrote:
>> +++ b/include/uapi/linux/sched.h
>> @@ -48,5 +48,6 @@
>> * For the sched_{set,get}attr() calls
>> */
>> #define SCHED_FLAG_RESET_ON_FORK 0x01
>> +#define SCHED_FLAG_RECLAIM 0x02
>
> With an eye towards unpriv usage of SCHED_DEADLINE, this isn't something
> we could allow unpriv tasks, right? Since (IIRC) GRUB will allow eating
> all !deadline time.
The original algorithm, yes, it allowed to use 100% of the CPU time, starving
all !deadline tasks.
But in this patchset I modified the algorithm to allow reclaiming only a
fraction U_max of the CPU time... So, 1-U_max can be left free for !deadline.
> Something with an average runtime/budget that also puts limits on the
> max (say 2*avg) would be far more amenable to be exposed to unpriv
> tasks, except since that would directly result in an average tardiness
> bound this might be non-trivial to combine with tasks not opting for
> this.
I'll try to think about this... The advantage of GRUB is that a theoretically
sound algorithm already existed; here, we would need to design the algorithm
so that it does not break the SCHED_DEADLINE guarantees. Anyway, this is an
interesting challenge, I'll work on it :)
Thanks,
Luca
Powered by blists - more mailing lists