Task delay

Sebastian Huber sebastian.huber at embedded-brains.de
Tue May 14 13:41:39 UTC 2019


Hello Joel,

sorry for the late answer, but I am quite busy to catch up with work 
after my holidays.

On 06/05/2019 16:07, Joel Oliveira Pinto wrote:
>
> Hello Sebastian,
>
> 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.
>

I guess it is this one:

https://devel.rtems.org/ticket/3744

In the ticket, what does "task" mean? This is a very overloaded term. If 
it is not an RTEMS task, then maybe "job" is a better name. Please send 
patches to this mailing list.

>
> 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.
>
>  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:
>
> _Thread_Set_state( the_thread, STATES_WAITING_FOR_PERIOD );
> _Thread_Wait_flags_set( the_thread, THREAD_WAIT_STATE_BLOCKED );
> _Thread_Add_timeout_ticks( the_thread, cpu_self, ticks );
>

Depending on the context where you call this it could be the right thing.

>
>
> 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.
>
> Is there an alternative way of achieving this goal?
>

I am not sure. It is not clear how you mixed the rate-monotonic objects 
into the server task.

>
> Regards,
>
> ------------------------------------------------------------------------
> *From:* Sebastian Huber <sebastian.huber at embedded-brains.de>
> *Sent:* Tuesday, April 9, 2019 6:45:25 AM
> *To:* Joel Oliveira Pinto; RTEMS
> *Subject:* Re: Task delay
> Hello Joel,
>
> On 08/04/2019 23:24, Joel Oliveira Pinto wrote:
> >
> > Hey,
> >
> >
> > I've been implementing a reservation-based scheduler in RTEMS and i've
> > been searching how to postpone a job release or even to delay a task
> > that is not the executing thread, and unfortunately, i'm having some
> > troubles finding the solution. Did someone already find out how to do
> > it or anyone as any clue ?
> >
>
> could you please describe a bit more what you want to achieve?
>
> -- 
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax     : +49 89 189 47 41-09
> E-Mail  : sebastian.huber at embedded-brains.de
> PGP     : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the devel mailing list