git: 138f78e94bf8 - main - umtx: convert umtxq_lock to a macro
Mateusz Guzik
mjg at FreeBSD.org
Sat May 22 21:05:41 UTC 2021
The branch main has been updated by mjg:
URL: https://cgit.FreeBSD.org/src/commit/?id=138f78e94bf83a8a92987d8be81f1e2c6c277cf8
commit 138f78e94bf83a8a92987d8be81f1e2c6c277cf8
Author: Mateusz Guzik <mjg at FreeBSD.org>
AuthorDate: 2021-05-22 20:51:37 +0000
Commit: Mateusz Guzik <mjg at FreeBSD.org>
CommitDate: 2021-05-22 21:01:05 +0000
umtx: convert umtxq_lock to a macro
Then LOCK_PROFILING starts reporting callers instead of the inline.
---
sys/kern/kern_umtx.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c
index 784c10cb97ac..a1dca77fe991 100644
--- a/sys/kern/kern_umtx.c
+++ b/sys/kern/kern_umtx.c
@@ -272,7 +272,6 @@ static void umtx_shm_init(void);
static void umtxq_sysinit(void *);
static void umtxq_hash(struct umtx_key *key);
static struct umtxq_chain *umtxq_getchain(struct umtx_key *key);
-static void umtxq_lock(struct umtx_key *key);
static void umtxq_unlock(struct umtx_key *key);
static void umtxq_busy(struct umtx_key *key);
static void umtxq_unbusy(struct umtx_key *key);
@@ -501,15 +500,16 @@ umtxq_getchain(struct umtx_key *key)
/*
* Lock a chain.
+ *
+ * The code is a macro so that file/line information is taken from the caller.
*/
-static inline void
-umtxq_lock(struct umtx_key *key)
-{
- struct umtxq_chain *uc;
-
- uc = umtxq_getchain(key);
- mtx_lock(&uc->uc_lock);
-}
+#define umtxq_lock(key) do { \
+ struct umtx_key *_key = (key); \
+ struct umtxq_chain *_uc; \
+ \
+ _uc = umtxq_getchain(_key); \
+ mtx_lock(&_uc->uc_lock); \
+} while (0)
/*
* Unlock a chain.
More information about the dev-commits-src-main
mailing list