To ensure a consistent memory view, it is architecturally defined that software must perform a Data Memory Barrier (DMB) operation:
between acquiring a resource, for example through locking a mutex or decrementing a semaphore, and making any access to that resource
before making a resource available, for example through unlocking a mutex or incrementing a semaphore
Tags: arm, memory barriers
Tags: arm, mmu
Tags: ibm cell