@@ -164,14 +164,14 @@ by disabling preemption or interrupts.
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::
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::
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()
0 commit comments