Date: Sat, 30 Jul 2011 20:29:39 +0000 (UTC) From: Andriy Gapon <avg@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/kern subr_smp.c Message-ID: <201107302029.p6UKTnGp010437@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
avg 2011-07-30 20:29:39 UTC
FreeBSD src repository
Modified files:
sys/kern subr_smp.c
Log:
SVN rev 224527 on 2011-07-30 20:29:39Z by avg
smp_rendezvous: master cpu should wait until all slaves are fully done
This is a followup to r222032 and a reimplementation of it.
While that revision fixed the race for the smp_rv_waiters[2] exit
sentinel, it still left a possibility for a target CPU to access
stale or wrong smp_rv_func_arg in smp_rv_teardown_func.
To fix this race the slave CPUs signal when they are really fully
done with the rendezvous and the master CPU waits until all slaves
are done.
Diagnosed by: kib
Reviewed by: jhb, mlaier, neel
Approved by: re (kib)
MFC after: 2 weeks
Revision Changes Path
1.233 +23 -31 src/sys/kern/subr_smp.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107302029.p6UKTnGp010437>
