Change Log
Changes for v2.00:
- UTIME support for interval timers and the poll system
call
NOTE: A huge thanks goes out to Anders Blomdell for providing
these features and testing/bugfixing UTIME.
- Real-time processes can now have unique names assigned to
them. The new get_rt_id_from_name system call will return the
real-time id associated with a particular named real-time
process.
- To support the naming extension and the new watchdog
timers, a new scheduling interface has been developed.
For examples of how these new features work, look at the
example programs in the user_programs directory of the
KURT 2.0 distribution.
Changes for v1.23:
- Updated to include
changes from UTIME v1.17
Changes for v1.21:
- The prototype for get_rtmod_num has been added to rt.h
- Another error in the parbit RTMod has been corrected
Changes for v1.19:
- A new library call was added. This call (get_rtmod_num)
takes in the name of the RTMod and returns the RTMod ID of that
module.
- Corrected an error in the parbit RTMod which used to cause
a segfault.
Changes for v1.18:
A lot of changes has been made in this version:
- Made sure that the retval from copy_xx_user is checked properly
- Fixed a bug in unregister_rtproc
- Added a new periodic_process_mode which stores information
whether an explicit schedule file was used or periodic processes
were being scheduled
- Corrected logic of rt_suspend, switch_to_normal and
unregister_rtproc to handle periodic_process_mode correctly
- The set_period and get_period system call has been removed.
- rt_params no longer has the is_periodic flag. If period is set its
a periodic process.
- RT_PERIODIC_PROCESS option has been removed. Now periodic
processes are self scheduled.
- Priorities are now inherited via forking.
- set_rtparams is allowed only for the super user. This was a
bug in the previous version
- The first call to rt_suspend does not block for a second
now. Now the p process is scheduled in 1 jiffy later.
- The two real-time modes are #defined as SCHED_ALL_PROCS and
SCHED_KURT_PROCS
- rt_suspend now takes a flag (instead of the force parameter
earlier) Flags can be SUSPEND_IF_NRT, START_SCHED and
STOP_SCHED. SUSPEND_IF_NRT and START_SCHED can be orred with
each other.
Changes for v1.17:
- Now the SCHED_KURT policy is a bit mask. If you mark a
process as SCHED_KURT, then the 7th bit (highest bit of the
lowest byte) is set. This allows processes to be scheduled
according to their original policy when the kernel is in
non-real-time mode.
- Now switch_to_rt takes an extra
parameter which specifies the real_time_mode. If rt_mode is set
to 2 then all processes are allowed to run. If rt_mode is set to
1 then only SCHED_KURT processes are allowed to run.
- This version of KURT is with UTIME v1.16 which fixes a bug
in the select system call.
- In this version of KURT, no modifications are necessary to
/usr/include/sched.h. So, if you have installed any previous
version of KURT then edit /usr/include/sched.h and remove the
following lines:
#include <linux/rt.h>
#define SCHED_KURT 99
- rt.h has been modified so that you can use KURT with C++
programs.
Changes for v1.15:
- Patch is for Linux-2.1.75.
- Patch is available with UTIME-v1.15 patch which is more
stable than the earlier releases.
- Periodic processes now schedule themselves (and hence dont
need a separate executive process).
- rtd.conf has been modified to include a few more important
processes.
KURT @ ITTC
Last modified: Fri Mar 24 16:32:43 CST 2000