• Eric Wong's avatar
    audio_format: volatile removal · 18fc10a9
    Eric Wong authored
    volatile provides absolutely no guarantee thread-safety in SMP
    environments.  volatile was designed to access memory locations
    in peripheral hardware directly; not for SMP.  If volatile is
    needed to work properly on SMP, then it is only hiding subtle
    bugs.
    
    volatile only prevents the /compiler/ from making optimizations
    when accessing variables.  CPUs do their own optimizations at
    runtime so it cannot guarantee registers of CPUs are flushed
    to memory cache-coherent access on different CPUs.
    
    Furthermore, the thread-communication via condition variables
    between threads sharing audio formats already results in memory
    barriers.
    18fc10a9
Name
Last commit
Last update
bs Loading commit data...
doc Loading commit data...
m4 Loading commit data...
scripts Loading commit data...
src Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
INSTALL Loading commit data...
Makefile.am Loading commit data...
README Loading commit data...
TODO Loading commit data...
UPGRADING Loading commit data...
autogen.sh Loading commit data...
build.mk Loading commit data...
configure.ac Loading commit data...