<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Feb 28, 2014, at 2:21 PM, ayoade gbadebo <<a href="mailto:gbaduz@gmail.com">gbaduz@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div><span style="white-space: pre-wrap;">I have been able to find where litmus rt priorities is defined as shown below but in the paper titled "</span><font><span style="white-space:pre-wrap">A Comparison of Scheduling Latency
in Linux, PREEMPT RT, and LITMUSRT Felipe Cerqueira Bj¨orn B. Brandenburg</span></font><span style="white-space: pre-wrap;">" - the paper says "</span>LITMUSRT’s fixed-priority plugin currently supports 512 distinct priorities; the priority field is ignored by EDF-based plugins. </div>
<div><br></div><div>That is EDF plugin does not use the priority value set by the the user Litmusrt application. So what priority does EDF based plugin use? Is it based on priority boosting where a value of priority = 0 means the EDF scheduler should use priority boosting? Can someone elaborate?</div>
<div><span style="white-space: pre-wrap;">"</span></div><div><span style="white-space: pre-wrap;">/include/litmus/rt_param.h</span><br></div><div><pre style="word-wrap: break-word; white-space: pre-wrap;"><pre style="word-wrap:break-word;white-space:pre-wrap">+#define LITMUS_MAX_PRIORITY 512
+#define LITMUS_HIGHEST_PRIORITY 1
+#define LITMUS_LOWEST_PRIORITY (LITMUS_MAX_PRIORITY - 1)</pre></pre></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 24, 2014 at 7:56 AM, Björn Brandenburg <span dir="ltr"><<a href="mailto:bbb@mpi-sws.org" target="_blank">bbb@mpi-sws.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto;"><div class="HOEnZb"><div class="h5"><br>
On 20 Feb 2014, at 20:56, ayoade gbadebo <<a href="mailto:gbaduz@gmail.com">gbaduz@gmail.com</a>> wrote:<br>
<br>
> I observed the priority for SCHED_FIFO is 2 and LITMUS priority is 6 as shown in the header files.<br>
><br>
> Knowing that priority values that are lower means a higher priority task, which means that in the case above, sched fifo tasks have higher priority than litmus task.<br>
> Can My assumption be verified ?. I always thought litmus tasks have the highest priority in the system.<br>
<br>
</div></div>You are confusing scheduling priorities with the symbolic constants used to identify scheduling policies. The #defines that you are looking at have nothing to do with scheduling priorities. The LITMUS^RT scheduling class indeed takes precedence over SCHED_FIFO.<br>
<br>
- Björn<br></blockquote></div></div></blockquote></div><div><br></div><div><br></div><div>EDF stands for “earliest deadline first”. Here’s a quick description: <a href="http://en.wikipedia.org/wiki/Earliest_deadline_first_scheduling">http://en.wikipedia.org/wiki/Earliest_deadline_first_scheduling</a></div><div><br></div><div>Work is prioritized by job deadline. Every job from the same task have unique deadlines. Thus, every job of the same task (thread) has a different priority. There is no way for the programmer to specify a single priority (hence the name "fixed-priority”) for the task, like they can for the fixed-priority plugin.</div><div><br></div><div>Under Litmus for EDF, you specify a release time of the first job, the separation time between subsequent jobs of that task (period), and the relative deadline for each job. The absolute deadline for a jobs computed as “job release time + relative deadline”. The Litmus EDF schedulers prioritize jobs by absolute deadline. (In Litmus code, the current absolute deadline of a job is stored in “struct rt_job::deadline”. The time is in nanoseconds.</div><div><br></div><div>May I ask what you’re hoping to do with Litmus, in general? Are you just curious in how it’s implemented, or are you hoping to implement a scheduling plugin of your own? Are you interested in fixed-priority schedulers like general fixed-priority, rate-monotonic, deadline-monotonic? Are you interested in dynamic-priority schedulers like EDF and pfair? Or perhaps you’re interested in multi-criticality scheduling? We might be able to provide you with a little more direction if we knew your general goals.</div><div><br></div><div>-Glenn</div></body></html>