History

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()

Marta Rybczynska committed 6 years ago

Commit 94dea151 parent 9123e3a1 file · +12 −12Browse files

Showing the changes to Documentation (1 of 1 file). Show all

Unified · Split

Documentation/locking/locktypes.rst+12−12
@@ -164,14 +164,14 @@ by disabling preemption or interrupts. · 163 unmodified lines
164On non-PREEMPT_RT kernels local_lock operations map to the preemption and164On non-PREEMPT_RT kernels local_lock operations map to the preemption and
165interrupt disabling and enabling primitives:165interrupt disabling and enabling primitives:
166 166
167 =========================== ======================167 =============================== ======================
168 local_lock(&llock) preempt_disable()168 local_lock(&llock) preempt_disable()
169 local_unlock(&llock) preempt_enable()169 local_unlock(&llock) preempt_enable()
170 local_lock_irq(&llock) local_irq_disable()170 local_lock_irq(&llock) local_irq_disable()
171 local_unlock_irq(&llock) local_irq_enable()171 local_unlock_irq(&llock) local_irq_enable()
172 local_lock_save(&llock) local_irq_save()172 local_lock_irqsave(&llock) local_irq_save()
173 local_lock_restore(&llock) local_irq_save()173 local_unlock_irqrestore(&llock) local_irq_restore()
174 =========================== ======================174 =============================== ======================
175 175
176The named scope of local_lock has two advantages over the regular176The named scope of local_lock has two advantages over the regular
177primitives:177primitives:
@@ -353,14 +353,14 @@ protection scope. So the following substitution is wrong:: · 175 unmodified lines
353 {353 {
354 local_irq_save(flags); -> local_lock_irqsave(&local_lock_1, flags);354 local_irq_save(flags); -> local_lock_irqsave(&local_lock_1, flags);
355 func3();355 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);
357 }357 }
358 358
359 func2()359 func2()
360 {360 {
361 local_irq_save(flags); -> local_lock_irqsave(&local_lock_2, flags);361 local_irq_save(flags); -> local_lock_irqsave(&local_lock_2, flags);
362 func3();362 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);
364 }364 }
365 365
366 func3()366 func3()
@@ -379,14 +379,14 @@ PREEMPT_RT-specific semantics of spinlock_t. The correct substitution is:: · 12 unmodified lines
379 {379 {
380 local_irq_save(flags); -> local_lock_irqsave(&local_lock, flags);380 local_irq_save(flags); -> local_lock_irqsave(&local_lock, flags);
381 func3();381 func3();
382 local_irq_restore(flags); -> local_lock_irqrestore(&local_lock, flags);382 local_irq_restore(flags); -> local_unlock_irqrestore(&local_lock, flags);
383 }383 }
384 384
385 func2()385 func2()
386 {386 {
387 local_irq_save(flags); -> local_lock_irqsave(&local_lock, flags);387 local_irq_save(flags); -> local_lock_irqsave(&local_lock, flags);
388 func3();388 func3();
389 local_irq_restore(flags); -> local_lock_irqrestore(&local_lock, flags);389 local_irq_restore(flags); -> local_unlock_irqrestore(&local_lock, flags);
390 }390 }
391 391
392 func3()392 func3()