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

Glenn Elliott gelliott at cs.unc.edu
Wed May 1 20:47:17 CEST 2013


Thanks Felipe!  I haven't had any problems on my hardware.  I suppose we're using different .configs?

-Glenn


On May 1, 2013, at 2:40 PM, Felipe Cerqueira <felipeqcerqueira at gmail.com> wrote:

> Hi everyone,
> 
> There was a small compilation error due to the early release patch. The name EARLY was conflicting with other stuff from the kernel. 
> It didn't show up when compiling for the KVM image, only on a normal machine. 
> 
> mm/slab.c:595: error: redeclaration of enumerator 'EARLY' 
> include/litmus/rt_param.h:52: note: previous definition of 'EARLY' was here 
> 
> I attached a patch for the problem
> 
> Thanks,
> 
> Felipe
> 
> 
> 2013/3/12 Björn Brandenburg <bbb at mpi-sws.org>
> 
> 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
> 
> 
> _______________________________________________
> litmus-dev mailing list
> litmus-dev at lists.litmus-rt.org
> https://lists.litmus-rt.org/listinfo/litmus-dev
> 
> <enum.patch>_______________________________________________
> litmus-dev mailing list
> litmus-dev at lists.litmus-rt.org
> https://lists.litmus-rt.org/listinfo/litmus-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20130501/4ac3c081/attachment.html>


More information about the litmus-dev mailing list