You are here: Home / OSADL / News / 
2019-12-09 - 22:00
2010-02-22 12:00 Age: 10 Years

"Latest Stable" Linux mainline real-time 2.6.31 is out!

By: Carsten Emde

Kernel 2.6.31.12-rt21 is our latest and greatest

OSADL is glad to announce the release of the "Latest Stable" Linux mainline real-time kernel based on Linux 2.6.31. We gratefully acknowledge the hard work of the many kernel developers and testers who have made this happen. This is Thomas Gleixner's original announcement; the head of the git tree is available via Web access here.

How good is 2.6.31.12-rt21?

The kernels under test had tickless system and kernel debugging disabled:

# CONFIG_NO_HZ is not set
# CONFIG_DEBUG_KERNEL is not set

Histograms of wakeup latency and wakeup timer delays were configured

CONFIG_WAKEUP_LATENCY_HIST=y
CONFIG_MISSED_TIMER_OFFSETS_HIST=y

and enabled at runtime:

cd sys/kernel/debug/tracing
echo 1 >latency_hist/enable/wakeup
echo 1 >latency_hist/enable/missed_timer_offsets

The results of the internal real-time monitoring was verified against cyclictest. In multi-core systems, cyclictest's newly available -S (--smp) option was used which forces all threads to run at the same priority each on its own CPU - testing for true parallel real-time. Load was generated using loop runs of i) hackbench, ii) recursive directory listings on local and remote media and iii) kernel compilations. In any case, the worst case latency was identical to or better than results obtained on a 2.6.29.4-rt24 kernel. Three examples:

Athlon, XP 2000+, 32 bit

# cyclictest -n -p99 -i100
policy: fifo: loadavg: 133.94 129.39 130.15 186/366 30532
T: 0 (19472) P:99 I:100 C:1120802687 Min: 5 Act: 6 Avg: 8 Max: 69

Core 2 Duo, 2.4 GHz, 64 bit

# cyclictest -Sp99 -i50 -d0
policy: fifo: loadavg: 345.52 327.64 254.98 132/1072 31362
T: 0 (19357) P:99 I:50 C:1127489002 Min: 2 Act: 4 Avg: 3 Max: 29
T: 1 (19358) P:99 I:50 C:1127489002 Min: 3 Act: 5 Avg: 4 Max: 32

i7, 3.33 GHz, 32 bit

# cyclictest -Sp99 -i100 -d0
policy: fifo: loadavg: 316.71 95.37 42.64 115/1238 18093
T: 0 (28746) P:99 I:100 C:1184946962 Min: 1 Act: 5 Avg: 4 Max: 47
T: 1 (28747) P:99 I:100 C:1184946962 Min: 1 Act: 4 Avg: 3 Max: 39
T: 2 (28748) P:99 I:100 C:1184946962 Min: 1 Act: 4 Avg: 3 Max:  44
T: 3 (28749) P:99 I:100 C:1184946962 Min: 1 Act: 3 Avg: 3 Max: 34
T: 4 (28750) P:99 I:100 C:1184946962 Min: 1 Act: 9 Avg: 4 Max:  37
T: 5 (28751) P:99 I:100 C:1184946962 Min: 1 Act: 4 Avg: 3 Max: 33
T: 6 (28752) P:99 I:100 C:1184946962 Min: 1 Act: 4 Avg: 3 Max: 39
T: 7 (28753) P:99 I:100 C:1184946962 Min: 1 Act: 4 Avg: 3 Max:  37

What is new in RT?

Backports

  • RCU performance updates
  • Fix incorrect column headers in tracer output, fix trace_marker output
  • Prevent user space programs from crashing the kernel using an invalid futex call
  • Scheduler optimizations

Fixes

  • Make SCHED_FIFO POSIX-compliant
  • Workaround to make priority ceiling using pthread_attr_setinheritsched() POSIX-compliant, more work still needed in mainline
  • Fix incorrect task states in tracer output
  • Fix missed preemption points when tracing enabled
  • Many fixes in various parts of the kernel

Additions

  • The wakeup latency histograms are back
  • Histogram of wakeup timer delays added

Features

What is new in mainline?

All mainline upgrades from 2.6.29.6 to 2.6.31.12 are, of course, included:

2.6.29 to 2.6.30

  • Numerous new and improved drivers for wireless LAN, audio, video and TV boards, namely 2D acceleration DRM support for Radeon R600 and R700 chips
  • Ext4: Improved data security
  • Ext3: Performance improved and latency reduced
  • Update policy of a file's access time changed to once a day, unless the mount option strictatime is specified
  • Performance improvements and bug fixes for the Btrfs and the ReiserFS
  • RAIDs can now migrate from RAID 5 to RAID 6 and back, and RAID 1 can be made RAID 5
  • Another two new file systems: Nilfs2 and EXOFS
  • NFS 4.1, file system cache for network file systems such as NFS and AFS
  • Many new and useful tracers
  • Kernel libraries for Gzip, Bzip, and LZMA compression added
  • A number of improvements and cleanups of the CFS code
  • Performance improvements of encryption code and a new security framework (Tomoyo)
  • Improved power management, namely hibernation
  • Virtualization made faster and better, nested virtualization on AMD
  • Improved PCI hot-plug and MSI

2.6.30 to 2.6.31

      • Performance monitoring using perfcounters (see related article on LWN.net)
      • Again many more and improved drivers for nearly all subsystems including, of course, wireless LAN
      • Kernel-based Mode Setting (KMS) for ATI Radeon graphics chips
      • Btrfs: Further improved, support added for SSDs
      • Ext4: Started support for online defragmentation
      • Better support for user-space network configurations tools such as the NetworkMangler aka NetworkManager
      • USB 3.0