forked from Imagelibrary/rtems
The function to change a thread priority was too complex. Simplify it with a new scheduler operation. This increases the average case performance due to the simplified logic. The interrupt disabled critical section is a bit prolonged since now the extract, update and enqueue steps are executed atomically. This should however not impact the worst-case interrupt latency since at least for the Deterministic Priority Scheduler this sequence can be carried out with a wee bit of instructions and no loops. Add _Scheduler_Change_priority() to replace the sequence of - _Thread_Set_transient(), - _Scheduler_Extract(), - _Scheduler_Enqueue(), and - _Scheduler_Enqueue_first(). Delete STATES_TRANSIENT, _States_Is_transient() and _Thread_Set_transient() since this state is now superfluous. With this change it is possible to get rid of the SCHEDULER_SMP_NODE_IN_THE_AIR state. This considerably simplifies the implementation of the new SMP locking protocols.
Tools Required ============== The following tools are used in the production of this documentation: TeX texi2html 1.82 texinfo-tex 4.13a texi2html will be deprecated in the upcomine texinfo release. At that point, we will need to provide support for texi2any.pl as an alternative means to produce html output. This was used by the authors to generate the directory tree figure in the texinfo printed version: tree (from the CTAN Archives -- see http://jasper.ora.com/ctan.html) Changing the Version Number and Timestamp ========================================= RTEMS Version number is in configure.in. Edit that file and run bootstrap. Documentation date is in common/setup.texi.in and also must be modified by hand. bootstrap does not have to be run after modifying this file. Making the Documentation ======================== cd rtems-XXX/doc ../bootstrap ./configure --enable-maintainer-mode make all make install Cleaning ======== make clean make distclean make maintainer-clean Making a Source Distribution ============================ This generates a rtems-<version>.tar.gz in the toplevel directory. Making a Preformatted Distribution ================================== Install and tar it up. :)