smp_rendezvous_action: Are atomics correctly used ?

Alexandre Martins alexandre.martins at stormshield.eu
Thu Mar 9 09:41:46 UTC 2017


Hello,

I'm curently reading the code of the function smp_rendezvous_action, in 
kern/subr_smp.c file. In that function, i see that the variable smp_rv_waiters 
is read in some while() loop in a non-atomic way.

https://svnweb.freebsd.org/base/head/sys/kern/subr_smp.c?view=annotate#l412
https://svnweb.freebsd.org/base/head/sys/kern/subr_smp.c?view=annotate#l458
https://svnweb.freebsd.org/base/head/sys/kern/subr_smp.c?view=annotate#l472

I suspect one of my freeze to be due by that.

Should this function be patched to use 
"atomic_load_acq_int(&smp_rv_waiters[])" ?

Best regards

-- 
Alexandre Martins
STORMSHIELD

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2874 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20170309/830425f9/attachment.bin>


More information about the freebsd-current mailing list