Differences between revisions 11 and 12
Revision 11 as of 2012-12-21 14:00:11
Size: 6310
Editor: p4FC1A386
Revision 12 as of 2012-12-21 14:24:37
Size: 6311
Editor: p4FC1A386
Deletions are marked like this. Additions are marked like this.
Line 33: Line 33:
 * feather-trace-tools: ftsort gained the -v (verbose) and -s (simulate) flag, which are useful for outlier debugging  * feather-trace-tools: ftsort gained the -v (verbose) and -s (simulate) flags, which are useful for outlier debugging


The current release of LITMUSRT consists of an extension of the Linux kernel that adds support for the sporadic task model, a scheduler plugin infrastructure, and some scheduler plugins, as well as a user-space library that provides the LITMUSRT real-time API. Note that the current implementation works on the Intel (both x86-32 and x86-64) and on the ARM architecture (ARMV6).

Current Release

The source code of LITMUSRT is made available as open source under the terms of the GNU General Public License (GPL2). LITMUSRT is released as a patch against Linux. Additionally, it is also available as a git repository.

The current release of LITMUSRT is available below. It consists of our Linux kernel modifications in the form of a patch against Linux 3.0 and liblitmus, the user-space API for real-time tasks, as well as ft_tools, a collection of tools used for tracing with Feather-Trace (which is part of the LITMUSRT patch).

LITMUS-RT Version 2012.3

Based on Linux 3.0. Released in December 2012.


Major changes (since LITMUS-RT 2012.2):

  • configurable EDF tie-breaks (choose from one of four methods: lateness, normalized tardiness, uniform hashing, PID).
  • many Feather-Trace improvements, including support for userspace-reported system call overhead tracing (via control page)
  • IRQ counts are now exported to the control page
  • latency reduction when carrying out synchronous task set releases
  • fix of preemption logic in P-FP and PSN-EDF plugins
  • various improvements in the P-FP plugin
  • misc. bug and compile fixes (esp. on ARM)
  • liblitmus: new convenience functions lt_sleep() and get_nr_ts_release_waiters()
  • liblitmus: improved test suite
  • feather-trace-tools: ftsort gained the -v (verbose) and -s (simulate) flags, which are useful for outlier debugging
  • feather-trace-tools: improved outlier detection; statistical outlier filtering is no longer required (for details, see B. Brandenburg, “Improved Analysis and Evaluation of Real-Time Semaphore Protocols for P-FP Scheduling”, RTAS 2013, available here)

Previous Releases

LITMUS-RT Version 2012.2

Based on Linux 3.0. Released in August 2012.


Major changes (since LITMUS-RT 2012.1):

  • Added P-FP (partitioned fixed-priority) plugin with support for the PCP, DPCP, and MPCP.
  • Added support for arbitrary deadlines.
  • Integration of LITMUS^RT sched_trace_XXX events with Linux tracepoint infrastructure (i.e., kernelshark support).

  • Improved Feather-Trace triggers (reduced register pressure)
  • Avoidance of "minor" page faults in control page
  • Fixed kernel crash related to precise budget enforcement
  • Improved liblitmus test suite

LITMUS-RT Version 2012.1

Based on Linux 3.0. Released in January 2012.


Major changes (since LITMUS-RT 2011.1):

  • Rebased LITMUSRT from Linux 2.6.36 to Linux 3.0.

  • Added cache-affinity aware migrations to GSN-EDF and C-EDF.
  • PFAIR and C-EDF now support the release-master feature.
  • Feather-Trace can now measure interrupt interference.
  • PFAIR now supports sporadic task releases.
  • PFAIR now implements early-releasing of subtasks (i.e., work-conserving scheduling).

LITMUS-RT Version 2011.1

Based on Linux 2.6.36. Released in January 2011.


Major changes (since LITMUS-RT 2010.2):

  • Rebased LITMUSRT from Linux 2.6.34 to Linux 2.6.36.

  • Added support for the ARM architecture (tested on a PB11MPCore baseboard with a four-core ARM11 MPCore CPU).
  • Feather-Trace devices are now allocated dynamically and are properly registered with sysfs. This avoids bugs due to major device number collisions and removes the need for manual device node creation (on a system with standard udev rules).

  • Improved debug tracing output and made trace buffer size configurable.
  • Various bug fixes concerning C-EDF cluster size changes. The cluster size can now be configured with the file /proc/litmus/plugins/C-EDF/cluster.

  • Various KConfig cleanups and improvements.
  • Dropped SCons as the build system for liblitmus and reverted to makefiles.

  • Added scope and TAG file generation to liblitmus.

  • st_trace can now be controlled with signals (part of ft_tools).

Older releases of LITMUSRT are available at UNC's old LITMUSRT webpage:

Releases (last edited 2017-05-26 22:21:13 by bbb)