Module Name: src Committed By: riastradh Date: Thu Mar 10 12:21:25 UTC 2022
Modified Files: src/sys/kern: kern_lwp.c kern_synch.c Log Message: kern: Fix synchronization of clearing LP_RUNNING and lwp_free. 1. membar_sync is not necessary here -- only a store-release is required. 2. membar_consumer _before_ loading l->l_pflag is not enough; a load-acquire is required. Actually it's not really clear to me why any barriers are needed, since the store-release and load-acquire should be implied by releasing and acquiring the lwp lock (and maybe we could spin with the lock instead of reading l->l_pflag unlocked). But maybe there's something subtle about access to l->l_mutex that's not obvious here. To generate a diff of this commit: cvs rdiff -u -r1.246 -r1.247 src/sys/kern/kern_lwp.c cvs rdiff -u -r1.349 -r1.350 src/sys/kern/kern_synch.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.