On Thu, Oct 06, 2022 at 12:04:55PM -0500, Bob Pearson wrote: > Currently the rxe driver uses a spin_lock_irqsave call to protect > the producer end of a completion queue from multiple QPs which may > be sharing the cq. Since all accesses to the cq are from tasklets > this is overkill and a simple spin_lock will be sufficient. A tasklet is a softirq, which means it needs to use the BH suffix for all acquires that are in a process context if it the spinlock is obtained from a tasklet There is a nice table in Documentation/kernel-hacking/locking.rst that explains this. Jason