Re: [RFC][PATCH] SCHED_EDF scheduling class

From: Chris Friesen
Date: Wed Sep 30 2009 - 13:37:22 EST


On 09/30/2009 09:58 AM, Raistlin wrote:
> On Tue, 2009-09-29 at 11:34 -0600, Chris Friesen wrote:

>> a) The child should get an identical bandwidth guarantee as the parent
>> and if that can't be guaranteed then the fork() should fail, maybe with
>> an errno of EBUSY.
>>
> Again, this could be done, pretty easily actually. :-)
>
>> b) The child should start out with no guarantees (SCHED_OTHER nice 0
>> maybe?) and should have to request a bandwidth guarantee. This could
>> complicate things in some circumstances because if it can't get the
>> guarantee then it needs to inform the parent somehow.
>>
> Ok, I see and agree, again, to many extents.

> Maybe, since I'm adding (in the next patch I'm going to send
> soon) a flag field in the sched_param_ex structure, we can also use some
> of the bits for deciding how the fork will behave... The main problem
> would be the code will get more complicated, and we thus would have to
> decide if it is worth...

For now it might be best to keep it simple...it can always be extended
later on. Personally I prefer option "a" above as it makes applications
easier to code.

The only problem that I see is that it will refuse to fork() a task that
has a bandwidth of more than 50% of the system. I wouldn't expect this
to be a common occurrence, but I could be wrong.

Chris
--
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/