TTY task group scheduling
julian at freebsd.org
Thu Nov 18 23:43:52 UTC 2010
On 11/18/10 3:37 PM, Alexander Best wrote:
> On Fri Nov 19 10, Daniel Nebdal wrote:
>> On Fri, Nov 19, 2010 at 12:06 AM, Alexander Kabaev<kabaev at gmail.com> wrote:
>>> On Thu, 18 Nov 2010 18:56:35 +0000
>>> Alexander Best<arundel at freebsd.org> wrote:
>>>> On Thu Nov 18 10, Matthew D. Fuller wrote:
>>>>> On Thu, Nov 18, 2010 at 06:23:24PM +0000 I heard the voice of
>>>>> Alexander Best, and lo! it spake thus:
>>>>>> judging from the videos the changes are having a huge impact imo.
>>>>> Well, my (admittedly limited, and certainly anecdotal) experience is
>>>>> that Linux's interactive response when under heavy load was always
>>>>> much worse than FreeBSD's. So maybe that's just them catching up to
>>>>> where we already are ;)
>>>> well...i tried playing back a 1080p vide files while doing
>>>> `make -j64 buildkernel` and FreeBSD's interactivity seems far from
>>> One thing that just begs to be asked: since when decoding 1080p became
>>> an interactive task?
>> Strictly speaking it isn't - but displaying it is a timing-sensitive
>> task that isn't CPU- or I/O-bound, and scheduling-wise that probably
>> makes it more like the "fast response when woken up" interactive tasks
>> than a CPU-bound non-interactive process.
>> Decoding it into another file on the disk is in the latter category,
>> of course - but I don't think that's what he meant. :)
>> More on topic - while this was a tiny patch for Linux, it seems like
>> it would take more work for us, since I don't believe either of the
>> schedulers handles task groups in the required way. The linux patch
>> was just "create task groups automatically", since they already had
>> some suitable logic for scheduling based on task groups in their CFS
>> scheduler. We would have to (re-)add that first, which is non-trivial.
> personally i think freebsd would hugely benefit from a scheduler framework
> such as geom/gsched, where it's easy to switch between various algorithms.
> that way it be much easier to try out new concepts without having to write a
> completely new scheduler.
we are part of the way there..
at least we did abstract the scheduler to the point where
we have two completely different ones.
you are welcome to develop a 'framework as you describe and plug it into
the abstraction we already have.
>> Daniel Nebdal
More information about the freebsd-performance