Unreliable Guide To Locking | ||
---|---|---|
<<< Previous | Locking in the Linux Kernel | Next >>> |
Often a softirq might want to share data with itself or a tasklet/timer.
The same softirq can run on the other CPUs: you can use a per-CPU array (see the Section called Per-CPU Data in the Chapter called Locking Speed) for better performance. If you're going so far as to use a softirq, you probably care about scalable performance enough to justify the extra complexity.
You'll need to use spin_lock() and spin_unlock() for shared data.
You'll need to use spin_lock() and spin_unlock() for shared data, whether it be a timer, tasklet, different softirq or the same or another softirq: any of them could be running on a different CPU.
<<< Previous | Home | Next >>> |
Locking Between Tasklets/Timers | Up | Hard IRQ Context |