replace TODO comment in flush impl
use __sync_synchronize instead of asm sync
add yield to flush
turn off yield cycling by default
greatly reduce the number of spin tests before yield; add a pause impl like Linux does