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@