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