I’ve found a lot of threads discussing this topic, but no answer for my question.
I must switch from InterruptEnable/Disable to Interruptlock/Unlock. Because we use a SMP-Sytem and serveral Ressource-Manager have access via InterruptServiceRoutine to one critical section.
Therefore I need a spinlock-variable.
Do I have to declare a spinlock-variable in a shared memory, so that all processes(RM) uses the same spinlock for the same critical section?
Or can I easily use global variables and every process(RM) uses its own spinlock-variable?
- Is it right, that interruptlock() locks all interrupts on one CPU (similar to interruptdisable) and only interrupts from other CPUs can still be enabled and must therefore synchronized by a spinlock-variable?