diff options
author | avg <avg@FreeBSD.org> | 2011-07-30 20:29:39 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2011-07-30 20:29:39 +0000 |
commit | 24506a80640cb9f05c1df13618f6228960bc2ebf (patch) | |
tree | 5823bee62bb72b38e8a40b41417ee37da99e1835 /release/doc | |
parent | f2d210f70e11547907ab527221f98c5f32db7182 (diff) | |
download | FreeBSD-src-24506a80640cb9f05c1df13618f6228960bc2ebf.zip FreeBSD-src-24506a80640cb9f05c1df13618f6228960bc2ebf.tar.gz |
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
Diffstat (limited to 'release/doc')
0 files changed, 0 insertions, 0 deletions