From 6017827676e81f2b03eb0c73a4b9660453f460bb Mon Sep 17 00:00:00 2001 From: Mateusz Guzik Date: Sat, 8 Dec 2018 14:04:57 +0000 Subject: [PATCH] umtx: avoid umtxshm locking on object termination if possible Sample build world result on tmpfs: kern.ipc.umtx_terminate_notempty: 0 kern.ipc.umtx_terminate_empty: 2891815 Sponsored by: The FreeBSD Foundation --- sys/kern/kern_umtx.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c index c704cbb1d6bc..0710dff06762 100644 --- a/sys/kern/kern_umtx.c +++ b/sys/kern/kern_umtx.c @@ -3796,6 +3796,9 @@ umtx_shm_object_terminated(vm_object_t object) struct umtx_shm_reg *reg, *reg1; bool dofree; + if (LIST_EMPTY(USHM_OBJ_UMTX(object))) + return; + dofree = false; mtx_lock(&umtx_shm_lock); LIST_FOREACH_SAFE(reg, USHM_OBJ_UMTX(object), ushm_obj_link, reg1) {