<div dir="ltr">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.<br>

<div><br></div><div style>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.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Tue, Mar 5, 2013 at 8:41 PM, Glenn Elliott <span dir="ltr"><<a href="mailto:gelliott@cs.unc.edu" target="_blank">gelliott@cs.unc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi All,<br>
<br>
I've run into a number of applications where early job releasing would be useful.  Specifically, this is in the context of interrupt handling threads, non-root PGM graph nodes, and bandwidth servers.  Tasks must be explicitly configured for early releasing: prop/edf-early-release adds a new field to the task params.  Note that early releasing is only supported by EDF.<br>


<br>
The patch is simple and unobtrusive, but I understand if this isn't desired for mainline.  I've posted the patch to github.<br>
<br>
>From the commit:<br>
<br>
commit 60d107ca171413cc5f765e51aa0c4cd6848e139e<br>
Author: Glenn Elliott <<a href="mailto:gelliott@cs.unc.edu">gelliott@cs.unc.edu</a>><br>
Date:   Tue Mar 5 20:03:04 2013 -0500<br>
<br>
    EDF schedulers: Support early job releasing.<br>
<br>
    This patch allows a task to request early releasing<br>
    via rt_task parameters to sys_set_task_rt_param().<br>
    Note that early releasing can easily peg your CPUs<br>
    since early-releasing tasks never suspend to wait for<br>
    their next job. As such, early releasing is really<br>
    only useful in the context of implementing bandwidth<br>
    servers, interrupt handling threads (or any thread that<br>
    spends most of its time waiting for an event), or<br>
    short-lived computations. If early releasing pegs your<br>
    CPUs, then you probably shouldn't be using it.<br>
<br>
-Glenn<br>
_______________________________________________<br>
litmus-dev mailing list<br>
<a href="mailto:litmus-dev@lists.litmus-rt.org">litmus-dev@lists.litmus-rt.org</a><br>
<a href="https://lists.litmus-rt.org/listinfo/litmus-dev" target="_blank">https://lists.litmus-rt.org/listinfo/litmus-dev</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Jonathan Herman<br>Department of Computer Science at UNC Chapel Hill
</div>