Author: tychon Date: Tue Oct 13 18:28:48 2020 New Revision: 366678 URL: https://svnweb.freebsd.org/changeset/base/366678
Log: eliminate possible race in parallel TLB shootdown IPI On the target side TLB shootdown IPI handler, prevent the compiler from performing a forward store optimization which may mask a subsequent update to the scoreboard by the initiator. Reported by: Max Laier, Anton Rang Discussed with: kib Sponsored by: Dell EMC Isilon Modified: head/sys/amd64/amd64/mp_machdep.c Modified: head/sys/amd64/amd64/mp_machdep.c ============================================================================== --- head/sys/amd64/amd64/mp_machdep.c Tue Oct 13 18:04:19 2020 (r366677) +++ head/sys/amd64/amd64/mp_machdep.c Tue Oct 13 18:28:48 2020 (r366678) @@ -1094,7 +1094,7 @@ invlop_handler(void) for (;;) { for (initiator_cpu_id = 0; initiator_cpu_id <= mp_maxid; initiator_cpu_id++) { - if (scoreboard[initiator_cpu_id] == 0) + if (atomic_load_int(&scoreboard[initiator_cpu_id]) == 0) break; } if (initiator_cpu_id > mp_maxid) _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"