• Philippe Gerum's avatar
    locking: ipipe: add hard lock alternative to regular spinlocks · 659139c0
    Philippe Gerum authored
    Hard spinlocks manipulate the CPU interrupt mask, without affecting
    the kernel preemption state in locking/unlocking operations.
    This type of spinlock is useful for implementing a critical section to
    serialize concurrent accesses from both in-band and out-of-band
    contexts, i.e. from root and head stages.
    Hard spinlocks exclusively depend on the pre-existing arch-specific
    bits which implement regular spinlocks. They can be seen as basic
    spinlocks still affecting the CPU's interrupt state when all other
    spinlock types only deal with the virtual interrupt flag managed by
    the pipeline core - i.e. only disable interrupts for the regular
    in-band kernel activity.