Index | Thread | Search

From:
"Theo de Raadt" <deraadt@openbsd.org>
Subject:
Re: [PATCH] convert mpl ticket lock to anderson's lock
To:
Mateusz Guzik <mjguzik@gmail.com>
Cc:
tech@openbsd.org
Date:
Tue, 17 Feb 2026 11:28:55 -0700

Download raw body.

Thread
> Per that post, the primary problem concerns page allocation and the
> way mutexes are implemented

While looking at things in the pagedaemon, I've become concerned
about how uvm_lock_pageq() is used

Look at how uvm_pageactivate() and uvm_pagedeactivate() must be called
unlocked

So locked-callers unlock temporarily to call them, resulting in
very strange unlock/lock/tiny-operation/unlock/lock sequences.

Without the locks the tiny-operation would be instantenous but this
design means there is a tremendous bubble if someone else wanted the lock.

I think these low-level changes in locking and mutexes will have little
effect if we are using them extremely poorly, which we are.