ARM64: spinlock: Add SEV and dsb(ishst) in unlock code
In certain unexplained cases, the stlr alone might not wakeup the processor waiting in WFE on a spinlock. Add an explicity dsb(ishst) and SEV in write_unlock, read_unlock and spin_unlock to ensure that the core waiting on the lock wakes up from WFE. ISHST variant of the DSB should be fine here since this would be applicable for the inner shareable domain only with the store instruction before it. Selectable by config option ARM64_SEV_IN_LOCK_UNLOCK and it is disabled by default. CRs-Fixed: 962923 Change-Id: I691ff5713d4d564623b75b053b40d1f46d74868a Signed-off-by:Rohit Vaswani <rvaswani@codeaurora.org> Signed-off-by:
Trilok Soni <tsoni@codeaurora.org>
Loading
Please register or sign in to comment