lkml.org 
[lkml]   [2009]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: RFC for a new Scheduling policy/class in the Linux-kernel
    On Wednesday 15 July 2009 23:53:05 Ted Baker wrote:
    > On Tue, Jul 14, 2009 at 09:28:47PM +0200, Henrik Austad wrote:
    > > ... In MC you need to do this the hard way, namely compute the
    > > point in time not when the task misses the deadline, but when it
    > > will *eventually* fail a deadline. By doing that, you combine
    > > deadline, wcet and granted time in one variable, and you have a
    > > *single* variable to compare.
    >
    > This is true in a theoretical sense, and is the basis of some
    > "optimal" scheduling algorithms, including the "throwforward
    > scheduling" algorithm. It makes sense in some environments, where
    > you actually know the WCET of the task in advance. However, I
    > don't believe a Linux system can expect all applications to
    > provide this kind of information.

    Why cannot you expect real-time tasks using a deadline scheduler to provide
    some estimate of the execution cost? How can you ever hope to run a deadline
    scheduler without this?

    > In a system programmed using process and threads, the decision to
    > sleep or wake is embedded in the internal logic of the thread, and
    > implemented by system calls. The existing system calls do not
    > convey how long the thread needs to execute before it reaches its
    > next suspension point. Therefore, without a new API you cannot
    > use WCET.

    Yes, you would need to introduce a new set of syscalls. 2 in fact. When
    working with PD^2, I added 3 (as reweighing was a special case), but:

    sched_dl_update(pid, wcet, period, deadline)
    sched_dl_release(pid, abs_releease_time)

    How can you use deadlines based on priorities? A priority is a one-way mapping
    of deadlines for a set of tasks.

    > If you create a new API for this, you are limiting this
    > form of scheduling to threads that choose to use that API, and are
    > able to provide the needed WCET information. This seems like a
    > small number of cases among the full range of real-time Linux
    > applications.

    Are we going to place all tasks in the kernel into rt-deadline tasks? I had
    the impression that we wanted a class for a special set of tasks.

    > Ted

    --
    henrik
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2009-07-17 09:43    [W:5.900 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site