https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271826

--- Comment #29 from Justin Hibbits <jhibb...@freebsd.org> ---
(In reply to ben from comment #28)
I think your patch is in the right direction, but I think the explicit memory
barriers are overkill in part.  We likely need to use acq/rel semantics with
the atomics, and always do a load_acq() when checking cpu_done.

Something like using:

atomic_add_rel_int(&cpu_done, 1); (in both cases)

while (atomic_load_acq_int(&cpu_done) < mp_ncpus)
    ;

And maybe do the same for tb_ready.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to