<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0"><font size="2"><span style="font-size:11pt;">Hello Sebastian,<br>
<br>
First of all, sorry for the delay in the reply and for not being clear in my question. Currently, I am finalizing the implementation of two scheduling algorithms: CBS (Constant Bandwidth Server) and CSS (Capacity Sharing and Stealing). In fact, CBS is a refactoring
proposal that IMO improves the current CBS RTEMS implementation. BTW: Soon I will submit the tickets and the respective patches.<br>
<br>
In the course of the CSS implementation I was looking for a way to postpone job releases. For instance, assuming that a job with an inter-arrival time is released at time t, I wanted to delay its release for y instants, i.e., from t to t+y, without interfering
with the minimum inter-arrival time of the task specified initially.<br>
<br>
In the meantime, to solve the issue, I decided to wait until the job unblocks and then perform the following steps in order to delay its release:<br>
<br>
_Thread_Set_state( the_thread, STATES_WAITING_FOR_PERIOD );<br>
_Thread_Wait_flags_set( the_thread, THREAD_WAIT_STATE_BLOCKED );<br>
_Thread_Add_timeout_ticks( the_thread, cpu_self, ticks );<br>
<br>
<br>
<font size="2"><span style="font-size:11pt;">This solves the problem since it blocks the job for a given time (using the functions _Thread_Set_state() and _Thread_Add_timeout_ticks()), thus performing the desired delay on the job arrival without modifying
the inter-arrival time previously defined with the Rate Monotonic Manager.</span></font><br>
<br>
Is there an alternative way of achieving this goal?<br>
<br>
Regards,</span></font><br>
</p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Sebastian Huber <sebastian.huber@embedded-brains.de><br>
<b>Sent:</b> Tuesday, April 9, 2019 6:45:25 AM<br>
<b>To:</b> Joel Oliveira Pinto; RTEMS<br>
<b>Subject:</b> Re: Task delay</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hello Joel,<br>
<br>
On 08/04/2019 23:24, Joel Oliveira Pinto wrote:<br>
><br>
> Hey,<br>
><br>
><br>
> I've been implementing a reservation-based scheduler in RTEMS and i've <br>
> been searching how to postpone a job release or even to delay a task <br>
> that is not the executing thread, and unfortunately, i'm having some <br>
> troubles finding the solution. Did someone already find out how to do <br>
> it or anyone as any clue ?<br>
><br>
<br>
could you please describe a bit more what you want to achieve?<br>
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone : +49 89 189 47 41-16<br>
Fax : +49 89 189 47 41-09<br>
E-Mail : sebastian.huber@embedded-brains.de<br>
PGP : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
<br>
</div>
</span></font></div>
</body>
</html>