summaryrefslogtreecommitdiffstats
path: root/Documentation/pi-futex.txt
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@s-opensource.com>2017-05-16 10:23:05 -0300
committerJonathan Corbet <corbet@lwn.net>2017-07-14 13:57:59 -0600
commit5da98b8230fb998b0731b2ba3893461ff238a297 (patch)
tree3ed2748067826eecde3bec1e167f63277919132f /Documentation/pi-futex.txt
parent5426a2cc70be499ea3bc67985c0608c7ac62fe6c (diff)
downloadtalos-obmc-linux-5da98b8230fb998b0731b2ba3893461ff238a297.tar.gz
talos-obmc-linux-5da98b8230fb998b0731b2ba3893461ff238a297.zip
pi-futex.txt: standardize document format
Each text file under Documentation follows a different format. Some doesn't even have titles! Change its representation to follow the adopted standard, using ReST markups for it to be parseable by Sphinx. This document requires just minor adjustments to match the standard documentation style: - promote document name; - remove extra collons on some chapter titles; - use "-" for a bulleted list. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/pi-futex.txt')
-rw-r--r--Documentation/pi-futex.txt15
1 files changed, 8 insertions, 7 deletions
diff --git a/Documentation/pi-futex.txt b/Documentation/pi-futex.txt
index 9a5bc8651c29..aafddbee7377 100644
--- a/Documentation/pi-futex.txt
+++ b/Documentation/pi-futex.txt
@@ -1,5 +1,6 @@
+======================
Lightweight PI-futexes
-----------------------
+======================
We are calling them lightweight for 3 reasons:
@@ -25,8 +26,8 @@ determinism and well-bound latencies. Even in the worst-case, PI will
improve the statistical distribution of locking related application
delays.
-The longer reply:
------------------
+The longer reply
+----------------
Firstly, sharing locks between multiple tasks is a common programming
technique that often cannot be replaced with lockless algorithms. As we
@@ -71,8 +72,8 @@ deterministic execution of the high-prio task: any medium-priority task
could preempt the low-prio task while it holds the shared lock and
executes the critical section, and could delay it indefinitely.
-Implementation:
----------------
+Implementation
+--------------
As mentioned before, the userspace fastpath of PI-enabled pthread
mutexes involves no kernel work at all - they behave quite similarly to
@@ -83,8 +84,8 @@ entering the kernel.
To handle the slowpath, we have added two new futex ops:
- FUTEX_LOCK_PI
- FUTEX_UNLOCK_PI
+ - FUTEX_LOCK_PI
+ - FUTEX_UNLOCK_PI
If the lock-acquire fastpath fails, [i.e. an atomic transition from 0 to
TID fails], then FUTEX_LOCK_PI is called. The kernel does all the
OpenPOWER on IntegriCloud