Atomic Spinlock

From RTwiki
Revision as of 14:18, 27 September 2009 by Clark (Talk | contribs)

Jump to: navigation, search

The new 2.6.31-rc4-rt1 patch annotates spinlocks which can not be converted to sleeping "spinlocks" as atomic_spinlock_t. The name is not perfect and we are looking for a better one which avoids the atomic confusion and expresses the fact that this lock always spins and disables preemption as well.

Please add your suggestions to the list below.

name rationale
atomic_spinlock the current name, confusing vs. the atomic* APIs
real_spinlock self explaining, but sucks
hard_spinlock close, but sucks more
preemption_disabling_never_sleeping_spinlock way tooo long
vanilla_spinlock self explaining...but don't know if it is any better. :)
pure_spinlock sucks more than hard_spinlock?
indivisible_spinlock sucks more than hard_spinlock?
nonrt_spinlock inimicle to RT, better than evil_spinlock?
ondine_spinlock not self explaining, a bit of mythology?
spinning_lock same concept, easy identification
nuclear_spinlock more indivisible than atomic
quark_spinlock another two divisions smaller than the nucleus
insomniac_spinlock No geek slang
inconsiderate_spinlock don't use it
caffeinated_spinlock too many espressos
topspinlock tennis anyone?
slow_spinlock because it slows other things down
busywait_spinlock This name accurately describes its behavior and discourages people from using it (without deep thought).
busywait_lock Has same connotations as busywait_spinlock, but is more terse. Instead of trying to augment the 'spinlock' nomenclature, just abandon the 'spin' part of it and call it something else that describes what it does.
snooze_lock Short, Simple, descriptive. Alternatively, snooze_spinlock, but that sounds goofy.
hamster_wheel_lock Makes a hamster stay awake waiting for more food. Makes a thread stay awake waiting for more work.
livelock_t It never rests, and is probably best left to experts (like touching a live wire)
thor_spinlock If you use it you will get hit by Thor's Hammer :)
cpu_spinlock Uses CPU 100% - Cannot be put to sleep
retarding_spinlock Can retard other processes...
active_spinlock as opposed to sleeping_spinlock
radioactive_spinlock to discourage it's use : )
wake_lock A lock that prevents sleep, term used for something similar on Android.
core_spinlock (Added on behalf of Doug Niehaus who came up with that name)
skid_lock  :-)
dread_lock (Added on behalf of Peter Zijlstra and Jonathan Corbet from the RT mini-summit)

If we pick one of the suggested names based on its accuracy and obviousness the inventor can expect free beer at a FOSS conference where ( tglx) happens to be there as well.

Personal tools