On Sun, Oct 20, 2024 at 05:28:17AM -0600, David Gwynne wrote: > CVSROOT: /cvs > Module name: src > Changes by: d...@cvs.openbsd.org 2024/10/20 05:28:17 > > Modified files: > sys/uvm : uvm_map.c uvm_map.h > > Log message: > try to simplify the locking code around busy maps. > > vm_maps have a "feature" where they can mark that they're being > operated on by a specific proc, and then release the rwlock protecting > their state. to relock, you have to be the same proc that marked > it busy. > > this diff tries to simplify it a bit. it basically has threads check > the busy field up front and rechecks the busy field inside the > rwlock. if you can sleep, it will sleep up front for the busy field > to become clear, rather than sleep on either the busy field or the > rwlock. some code paths clear the busy field without holding the > rwlock, so it doesn't make sense to me to be waiting for the busy > field but sleeping somewhere else. > > ok claudio@ mpi@
This caused by amd64 regress machine to panic. It goes straight to reboot, no chance of capturing any output from ddb. Here's a reproducer which compiles some Go application: $ make -C $BSDSRC/regress/lib/libcrypto/c2sp My amd64 desktop machine also locks up while starting firefox.