You are here: Home / OSADL / News / 
2024-02-26 - 21:35

Dates and Events:

OSADL Articles:

2023-11-12 12:00

Open Source License Obligations Checklists even better now

Import the checklists to other tools, create context diffs and merged lists

2023-03-01 12:00

Embedded Linux distributions

Results of the online "wish list"

2022-01-13 12:00

Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completed

Another important milestone on the way to interoperable Open Source real-time Ethernet has been reached

2021-02-09 12:00

Open Source OPC UA PubSub over TSN project phase #3 launched

Letter of Intent with call for participation is now available

2010-02-09 12:00 Age: 14 Years

Spinlock annotations merged from the realtime tree to Linux mainline in 2.6.33

By: Carsten Emde

Raw spinlocks are the "real" spinlocks now

Up to now, mainline Linux only knew of one type of spinlocks - spinning spinlocks. In the PREEMPT_RT tree, however, it must be differentiated between spinlocks that might sleep in the realtime kernel and those that always spin - even in the realtime kernel. This required a new name space and a decision which type of spinlocks to rename. At the 2009 Kernel Summit, it was decided not to rename the locks that need to be converted to sleeping spinlocks in preempt-rt, since this would result in an enormous patch orgy and certainly create a lot of confusion.

Later on, in the final stage of the merge window of Linux 2.6.33, Linus came up with the proposal to

  • rename the architecture implementations of spinlocks from raw_spinlock to arch_spinlock,
  • to use raw_spinlock for spinlocks that always spin even on RT and
  • to keep spinlock for spinlocks that might sleep in RT.

Thomas created this (still large) patch series which Linus merged into 2.6.33 on December 15, 2009. This reduced the size of the uncompressed preempt-rt patch by more than 600 kByte - another important milestone on our road towards complete integration of the RT tree into the mainline kernel!