Skip to content

Commit 92b4e9f

Browse files
mrybczynPeter Zijlstra
authored andcommitted
Documentation/locking/locktypes: Fix local_locks documentation
Fix issues with local_locks documentation: - fix function names, local_lock.h has local_unlock_irqrestore(), not local_lock_irqrestore() - fix mapping table, local_unlock_irqrestore() maps to local_irq_restore(), not _save() Signed-off-by: Marta Rybczynska <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Acked-by: Will Deacon <[email protected]> Link: https://lkml.kernel.org/r/CAApg2=SKxQ3Sqwj6TZnV-0x0cKLXFKDaPvXT4N15MPDMKq724g@mail.gmail.com
1 parent a28e884 commit 92b4e9f

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

Documentation/locking/locktypes.rst

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -164,14 +164,14 @@ by disabling preemption or interrupts.
164164
On non-PREEMPT_RT kernels local_lock operations map to the preemption and
165165
interrupt disabling and enabling primitives:
166166

167-
=========================== ======================
168-
local_lock(&llock) preempt_disable()
169-
local_unlock(&llock) preempt_enable()
170-
local_lock_irq(&llock) local_irq_disable()
171-
local_unlock_irq(&llock) local_irq_enable()
172-
local_lock_save(&llock) local_irq_save()
173-
local_lock_restore(&llock) local_irq_save()
174-
=========================== ======================
167+
=============================== ======================
168+
local_lock(&llock) preempt_disable()
169+
local_unlock(&llock) preempt_enable()
170+
local_lock_irq(&llock) local_irq_disable()
171+
local_unlock_irq(&llock) local_irq_enable()
172+
local_lock_irqsave(&llock) local_irq_save()
173+
local_unlock_irqrestore(&llock) local_irq_restore()
174+
=============================== ======================
175175

176176
The named scope of local_lock has two advantages over the regular
177177
primitives:
@@ -353,14 +353,14 @@ protection scope. So the following substitution is wrong::
353353
{
354354
local_irq_save(flags); -> local_lock_irqsave(&local_lock_1, flags);
355355
func3();
356-
local_irq_restore(flags); -> local_lock_irqrestore(&local_lock_1, flags);
356+
local_irq_restore(flags); -> local_unlock_irqrestore(&local_lock_1, flags);
357357
}
358358

359359
func2()
360360
{
361361
local_irq_save(flags); -> local_lock_irqsave(&local_lock_2, flags);
362362
func3();
363-
local_irq_restore(flags); -> local_lock_irqrestore(&local_lock_2, flags);
363+
local_irq_restore(flags); -> local_unlock_irqrestore(&local_lock_2, flags);
364364
}
365365

366366
func3()
@@ -379,14 +379,14 @@ PREEMPT_RT-specific semantics of spinlock_t. The correct substitution is::
379379
{
380380
local_irq_save(flags); -> local_lock_irqsave(&local_lock, flags);
381381
func3();
382-
local_irq_restore(flags); -> local_lock_irqrestore(&local_lock, flags);
382+
local_irq_restore(flags); -> local_unlock_irqrestore(&local_lock, flags);
383383
}
384384

385385
func2()
386386
{
387387
local_irq_save(flags); -> local_lock_irqsave(&local_lock, flags);
388388
func3();
389-
local_irq_restore(flags); -> local_lock_irqrestore(&local_lock, flags);
389+
local_irq_restore(flags); -> local_unlock_irqrestore(&local_lock, flags);
390390
}
391391

392392
func3()

0 commit comments

Comments
 (0)