Sorry for breaking the thread, I wasn't subscribed to misc, but found this in the archives.
After some testing, it looks like the recent uvm_meter() commit is what did this (to my machine at least). The git commit for that is 71d823ace2523fb9fee2d1ab9b4d92a18d3f5714. I compiled the commit right before it in the logs and booted no problems with a GENERIC.MP kernel config, but that one broke it. I'm not as familiar with CVS, so apologies for not having the commit from there. Here is the commit message if that helps, though I those on tech will know it regardless: schedcpu, uvm_meter(9): make uvm_meter() an independent timeout uvm_meter(9) should not base its periodic uvm_loadav() call on the UTC clock. It also no longer needs to periodically wake up proc0 because proc0 doesn't do any work. schedcpu() itself may change or go away, but as kettenis@ notes we probably can't completely remove the concept of a "load average" from OpenBSD, given its long Unix heritage. So, (1) remove the uvm_meter() call from schedcpu(), (2) make uvm_meter() an independent timeout started alongside schedcpu() during scheduler_start(), and (3) delete the vestigial periodic proc0 wakeup. With input from deraadt@, kettenis@, and claudio@. deraadt@ cautions that this change may confuse administrators who hold the load average in high regard. Thread: https://marc.info/?l=openbsd-tech&m=168710929409153&w=2 general agreement with this direction from kettenis@ ok claudio@ If I should repost on tech, let me know. Chris