Skip to content

Commit

Permalink
Documentation/locking/locktypes: Minor copy editor fixes
Browse files Browse the repository at this point in the history
Minor editorial fixes:
- remove 'enabled' from PREEMPT_RT enabled kernels for consistency
- add some periods for consistency
- add "'" for possessive CPU's
- spell out interrupts

[ tglx: Picked up Paul's suggestions ]

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Link: https://lkml.kernel.org/r/ac615f36-0b44-408d-aeab-d76e4241add4@infradead.org
  • Loading branch information
Randy Dunlap authored and Thomas Gleixner committed Mar 28, 2020
1 parent 7ecc6aa commit 51e69e6
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions Documentation/locking/locktypes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ rtmutex

RT-mutexes are mutexes with support for priority inheritance (PI).

PI has limitations on non PREEMPT_RT enabled kernels due to preemption and
PI has limitations on non-PREEMPT_RT kernels due to preemption and
interrupt disabled sections.

PI clearly cannot preempt preemption-disabled or interrupt-disabled
Expand Down Expand Up @@ -150,7 +150,7 @@ kernel configuration including PREEMPT_RT enabled kernels.

raw_spinlock_t is a strict spinning lock implementation in all kernels,
including PREEMPT_RT kernels. Use raw_spinlock_t only in real critical
core code, low level interrupt handling and places where disabling
core code, low-level interrupt handling and places where disabling
preemption or interrupts is required, for example, to safely access
hardware state. raw_spinlock_t can sometimes also be used when the
critical section is tiny, thus avoiding RT-mutex overhead.
Expand All @@ -160,20 +160,20 @@ spinlock_t

The semantics of spinlock_t change with the state of PREEMPT_RT.

On a non PREEMPT_RT enabled kernel spinlock_t is mapped to raw_spinlock_t
and has exactly the same semantics.
On a non-PREEMPT_RT kernel spinlock_t is mapped to raw_spinlock_t and has
exactly the same semantics.

spinlock_t and PREEMPT_RT
-------------------------

On a PREEMPT_RT enabled kernel spinlock_t is mapped to a separate
implementation based on rt_mutex which changes the semantics:
On a PREEMPT_RT kernel spinlock_t is mapped to a separate implementation
based on rt_mutex which changes the semantics:

- Preemption is not disabled
- Preemption is not disabled.

- The hard interrupt related suffixes for spin_lock / spin_unlock
operations (_irq, _irqsave / _irqrestore) do not affect the CPUs
interrupt disabled state
operations (_irq, _irqsave / _irqrestore) do not affect the CPU's
interrupt disabled state.

- The soft interrupt related suffix (_bh()) still disables softirq
handlers.
Expand Down Expand Up @@ -279,8 +279,8 @@ fully preemptible context. Instead, use spin_lock_irq() or
spin_lock_irqsave() and their unlock counterparts. In cases where the
interrupt disabling and locking must remain separate, PREEMPT_RT offers a
local_lock mechanism. Acquiring the local_lock pins the task to a CPU,
allowing things like per-CPU irq-disabled locks to be acquired. However,
this approach should be used only where absolutely necessary.
allowing things like per-CPU interrupt disabled locks to be acquired.
However, this approach should be used only where absolutely necessary.


raw_spinlock_t
Expand Down

0 comments on commit 51e69e6

Please sign in to comment.