summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/ugold.c
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2021-03-08 11:16:26 +0000
committerkettenis <kettenis@openbsd.org>2021-03-08 11:16:26 +0000
commitc6c0d427aa8cbc6b33fafa1efea112f5ce5aaa30 (patch)
tree3e6a2ef419fa234a4712c090d05f6daf3ef9004a /sys/dev/usb/ugold.c
parentMove a KERNEL_ASSERT_LOCKED() from single_thread_clear() to cursig(). (diff)
downloadwireguard-openbsd-c6c0d427aa8cbc6b33fafa1efea112f5ce5aaa30.tar.xz
wireguard-openbsd-c6c0d427aa8cbc6b33fafa1efea112f5ce5aaa30.zip
Revise the ASID allocation sheme to avoid a hang when running out of free
ASIDs. This should only happen on systems with 8-bit ASIDs, which are currently unsupported in OpenBSD. The new scheme uses "generations". Whenever we run out of ASIDs we bump the generation and flush the complete TLB. The pmaps of processes that are currently on the CPU are carried over into the new generation. This implementation relies on the scheduler lock to make sure this happens without any (known) races. ok patrick@, mpi@
Diffstat (limited to 'sys/dev/usb/ugold.c')
0 files changed, 0 insertions, 0 deletions