[LITMUS^RT] prop/edf-early-release

Björn Brandenburg bbb at mpi-sws.org
Tue Mar 12 15:01:22 CET 2013


On Mar 6, 2013, at 7:37 PM, Glenn Elliott <gelliott at cs.unc.edu> wrote:

> On Mar 6, 2013, at 11:45 AM, Jonathan Herman <hermanjl at cs.unc.edu> wrote:
> 
>> Distinguishing between sporadic, periodic, and early release tasks has also been an issue in my plugins. I have usually been forced to assume periodic, but inevitably someone wants to see early release results in the graphs. Thumbs up.
>> 
>> The task wake_up code in a few of the plugins assumes a sporadic model. This code would also have to be changed for full periodic support.
> 
> I pushed another patch to the prop/edf-early-release branch to include Jonathan's requested changes for full periodic support.  Note that periodic jobs MUST end with sys_complete_job()---comments are included to that effect.  SPORADIC has also been made the default release behavior, maintaining Litmus's current functionality.

I'm happy to merge this now on a "good now is better than perfect later" basis, but I still think that the SPORADIC semantics (increment job number using arbitrary heuristics) is broken and that we need better sporadic support in the future. In particular, we should have a way to distinguish whether a wakeup is a true job release (i.e., wakeup from waiting on a socket or a file descriptor corresponding to a device) or whether it is a self-suspension that should not trigger a job release (i.e, page fault, locking-related suspensions, talking to the X11 server, etc.).  Unfortunately, such information isn't easily available to the scheduler in Linux.

- Björn





More information about the litmus-dev mailing list