CVSROOT:        /cvs
Module name:    src
Changes by:     d...@cvs.openbsd.org    2017/12/14 16:21:04

Modified files:
        sys/sys        : sched.h 
        sys/kern       : kern_sched.c 

Log message:
make sched_barrier use cond_wait/cond_signal.

previously the code was using a percpu flag to manage the sleeps/wakeups,
which means multiple threads waiting for a barrier on a cpu could
race. moving to a cond struct on the stack fixes this.

while here, get rid of the sbar taskq and just use systqmp instead.
the barrier tasks are short, so there's no real downside.

ok mpi@

Reply via email to