2005-12-13 12:16:29

by Con Kolivas

[permalink] [raw]
Subject: Re: 2.6.15-rc5-mm2 :-)

On Tuesday 13 December 2005 22:13, Maciej Soltysiak wrote:
> Hello Con,
>
> Tuesday, December 13, 2005, 6:52:09 AM, you wrote:
> > I missed this announcement (been on leave for a while). This SCHED_BATCH
> > implementation is by Ingo and it it is not "idle" scheduling as I have
> > implemented in the staircase scheduler. This is just to restrict a task
> > to not having any interactive bonus at any stage and to have predictable
> > scheduling behaviour I guess.
>
> Thanks a lot. That's good anyway.
>
> If I understand correctly, if Ingo's version gets merged with linus' tree
> your implementions of SCHED_BATCH in -ck will be replacing the one from
> Ingo.

Yes. SCHED_BATCH in Ingo's implementation is more like turning off the
interactive setting in staircase, and the idle scheduling staircase offers is
extremely useful.

> A silly question. Is SCHED_BATCH-kind-of-thing a standard in Unices or
> general operating system engineering know-how? Or is this concept only
> available for Linux?

Fairly standard in Unices but prone to all sorts of priority inversion
starvation scenarios so very few implement it. In freebsd for example you can
use their idle scheduling only if you are root to prevent this starvation -
which kind of makes it useless in practice. My implementation is fairly
robust at avoiding the priority inversion problem - at least I haven't seen a
bug report about it for years since I address it :)

Cheers,
Con


Attachments:
(No filename) (1.42 kB)
(No filename) (189.00 B)
Download all attachments

2005-12-13 23:30:52

by Peter Williams

[permalink] [raw]
Subject: Re: 2.6.15-rc5-mm2 :-)

Con Kolivas wrote:
> On Tuesday 13 December 2005 22:13, Maciej Soltysiak wrote:
>
>>Hello Con,
>>
>>Tuesday, December 13, 2005, 6:52:09 AM, you wrote:
>>
>>>I missed this announcement (been on leave for a while). This SCHED_BATCH
>>>implementation is by Ingo and it it is not "idle" scheduling as I have
>>>implemented in the staircase scheduler. This is just to restrict a task
>>>to not having any interactive bonus at any stage and to have predictable
>>>scheduling behaviour I guess.
>>
>>Thanks a lot. That's good anyway.
>>
>>If I understand correctly, if Ingo's version gets merged with linus' tree
>>your implementions of SCHED_BATCH in -ck will be replacing the one from
>>Ingo.
>
>
> Yes. SCHED_BATCH in Ingo's implementation is more like turning off the
> interactive setting in staircase, and the idle scheduling staircase offers is
> extremely useful.
>
>
>>A silly question. Is SCHED_BATCH-kind-of-thing a standard in Unices or
>>general operating system engineering know-how? Or is this concept only
>>available for Linux?
>
>
> Fairly standard in Unices but prone to all sorts of priority inversion
> starvation scenarios so very few implement it. In freebsd for example you can
> use their idle scheduling only if you are root to prevent this starvation -
> which kind of makes it useless in practice. My implementation is fairly
> robust at avoiding the priority inversion problem - at least I haven't seen a
> bug report about it for years since I address it :)
>

FYI, the 6.1.6 version of PlugSched for 2.6.15-rc5-mm2 that I announced
yesterday applies the same SCHED_BATCH semantics as Ingo's patch to the
ingosched, nicksched, zaphod and spa_ws schedulers (i.e. it suppresses
interactive bonuses for tasks in the SCHED_BATCH policy class). As
spa_no_frills and spa_svr do not have interactive bonuses there is no
change to their semantics. The staircase scheduler in PlugSched will be
updated to the same SCHED_BATCH as the stand alone version in due course.

Peter
--
Peter Williams [email protected]

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce