aboutsummaryrefslogtreecommitdiff
path: root/sys/sys
diff options
context:
space:
mode:
authorDmitry Chagin <dchagin@FreeBSD.org>2021-07-29 09:46:58 +0000
committerDmitry Chagin <dchagin@FreeBSD.org>2021-07-29 09:46:58 +0000
commit09f55e60024662d7a9da248257ec72cd86767cea (patch)
tree40c05256e495f75cb30d6fc556a7ab0dd7dbe971 /sys/sys
parentb9c89fa39e1e20e9929eeec76c745f80e74e68a4 (diff)
downloadsrc-09f55e60024662d7a9da248257ec72cd86767cea.tar.gz
src-09f55e60024662d7a9da248257ec72cd86767cea.zip
umtx: Expose some of the pi umtx structures and API to the rest of the kernel.
Differential Revision: https://reviews.freebsd.org/D31237 MFC after: 2 weeks
Diffstat (limited to 'sys/sys')
-rw-r--r--sys/sys/umtxvar.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/sys/umtxvar.h b/sys/sys/umtxvar.h
index ed2d8046a5fb..fd193de5818b 100644
--- a/sys/sys/umtxvar.h
+++ b/sys/sys/umtxvar.h
@@ -214,9 +214,19 @@ int umtxq_requeue(struct umtx_key *, int, struct umtx_key *, int);
int umtxq_signal_mask(struct umtx_key *, int, u_int);
int umtxq_sleep(struct umtx_q *, const char *,
struct umtx_abs_timeout *);
+int umtxq_sleep_pi(struct umtx_q *, struct umtx_pi *, uint32_t,
+ const char *, struct umtx_abs_timeout *, bool);
void umtxq_unbusy(struct umtx_key *);
+void umtxq_unbusy_unlocked(struct umtx_key *);
int kern_umtx_wake(struct thread *, void *, int, int);
void umtx_pi_adjust(struct thread *, u_char);
+struct umtx_pi *umtx_pi_alloc(int);
+int umtx_pi_claim(struct umtx_pi *, struct thread *);
+void umtx_pi_free(struct umtx_pi *);
+void umtx_pi_insert(struct umtx_pi *);
+struct umtx_pi *umtx_pi_lookup(struct umtx_key *);
+void umtx_pi_ref(struct umtx_pi *);
+void umtx_pi_unref(struct umtx_pi *);
void umtx_thread_init(struct thread *);
void umtx_thread_fini(struct thread *);
void umtx_thread_alloc(struct thread *);