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()
Showing the changes to Documentation (1 of 1 file). Show all
Unified · Split
| @@ -164,14 +164,14 @@ by disabling preemption or interrupts. · 163 unmodified lines | ||
| 164 | 164 | On non-PREEMPT_RT kernels local_lock operations map to the preemption and |
| 165 | 165 | interrupt disabling and enabling primitives: |
| 166 | 166 | |
| 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 | + =============================== ====================== | |
| 175 | 175 | |
| 176 | 176 | The named scope of local_lock has two advantages over the regular |
| 177 | 177 | primitives: |
| @@ -353,14 +353,14 @@ protection scope. So the following substitution is wrong:: · 175 unmodified lines | ||
| 353 | 353 | { |
| 354 | 354 | local_irq_save(flags); -> local_lock_irqsave(&local_lock_1, flags); |
| 355 | 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 | 359 | func2() |
| 360 | 360 | { |
| 361 | 361 | local_irq_save(flags); -> local_lock_irqsave(&local_lock_2, flags); |
| 362 | 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 | 366 | func3() |
| @@ -379,14 +379,14 @@ PREEMPT_RT-specific semantics of spinlock_t. The correct substitution is:: · 12 unmodified lines | ||
| 379 | 379 | { |
| 380 | 380 | local_irq_save(flags); -> local_lock_irqsave(&local_lock, flags); |
| 381 | 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 | 385 | func2() |
| 386 | 386 | { |
| 387 | 387 | local_irq_save(flags); -> local_lock_irqsave(&local_lock, flags); |
| 388 | 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 | 392 | func3() |