smp_rendezvous_action: Are atomics correctly used ?
Alexandre Martins
alexandre.martins at stormshield.eu
Thu Mar 9 09:57:51 UTC 2017
I have the save question for the cpu_ipi_pending here:
https://svnweb.freebsd.org/base/head/sys/x86/x86/mp_x86.c?view=annotate#l1080
Le jeudi 9 mars 2017, 10:43:14 Alexandre Martins a écrit :
> 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/ae640b27/attachment.bin>
More information about the freebsd-current
mailing list