Date: Sat, 4 Oct 2025 02:23:11 GMT From: Mateusz Guzik <mjg@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 6cc493c79d9b - main - mtx: remove stale commentary about inlined spinlock ops Message-ID: <202510040223.5942NBCf037911@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=6cc493c79d9b9f8318c87d3d6bfd225924cc933b commit 6cc493c79d9b9f8318c87d3d6bfd225924cc933b Author: Mateusz Guzik <mjg@FreeBSD.org> AuthorDate: 2025-10-04 02:20:37 +0000 Commit: Mateusz Guzik <mjg@FreeBSD.org> CommitDate: 2025-10-04 02:20:37 +0000 mtx: remove stale commentary about inlined spinlock ops While both locking and unlocking a spinlock used to be inline, this changed when spinlock_enter/spinlock_exit got introduced, defeating the point of inlining them. This either needs to have inlined spinlock enter/exit in place or have mtx lock/unlock as function calls with the irq flags inlined in there. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/sys/mutex.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/sys/mutex.h b/sys/sys/mutex.h index 08d4e2d28b33..b534a74626bc 100644 --- a/sys/sys/mutex.h +++ b/sys/sys/mutex.h @@ -246,10 +246,10 @@ void _thread_lock(struct thread *); }) /* - * Lock a spin mutex. For spinlocks, we handle recursion inline (it - * turns out that function calls can be significantly expensive on - * some architectures). Since spin locks are not _too_ common, - * inlining this code is not too big a deal. + * Lock a spin mutex. + * + * FIXME: spinlock_enter is a function call, defeating the point of inlining in + * this. */ #ifdef SMP #define __mtx_lock_spin(mp, tid, opts, file, line) __extension__ ({ \ @@ -317,10 +317,10 @@ void _thread_lock(struct thread *); }) /* - * Unlock a spin mutex. For spinlocks, we can handle everything - * inline, as it's pretty simple and a function call would be too - * expensive (at least on some architectures). Since spin locks are - * not _too_ common, inlining this code is not too big a deal. + * Unlock a spin mutex. + * + * FIXME: spinlock_exit is a function call, defeating the point of inlining in + * this. * * Since we always perform a spinlock_enter() when attempting to acquire a * spin lock, we need to always perform a matching spinlock_exit() when
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510040223.5942NBCf037911>