Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F110161524
D31237.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D31237.diff
View Options
diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c
--- a/sys/kern/kern_umtx.c
+++ b/sys/kern/kern_umtx.c
@@ -170,8 +170,6 @@
static void umtx_shm_init(void);
static void umtxq_sysinit(void *);
static void umtxq_hash(struct umtx_key *key);
-static struct umtx_pi *umtx_pi_alloc(int);
-static void umtx_pi_free(struct umtx_pi *pi);
static int do_unlock_pp(struct thread *td, struct umutex *m, uint32_t flags,
bool rb);
static void umtx_thread_cleanup(struct thread *td);
@@ -435,7 +433,7 @@
wakeup_one(uc);
}
-static inline void
+void
umtxq_unbusy_unlocked(struct umtx_key *key)
{
@@ -1668,7 +1666,7 @@
return (error);
}
-static inline struct umtx_pi *
+struct umtx_pi *
umtx_pi_alloc(int flags)
{
struct umtx_pi *pi;
@@ -1679,7 +1677,7 @@
return (pi);
}
-static inline void
+void
umtx_pi_free(struct umtx_pi *pi)
{
uma_zfree(umtx_pi_zone, pi);
@@ -1888,7 +1886,7 @@
/*
* Claim ownership of a PI mutex.
*/
-static int
+int
umtx_pi_claim(struct umtx_pi *pi, struct thread *owner)
{
struct umtx_q *uq;
@@ -1946,7 +1944,7 @@
/*
* Sleep on a PI mutex.
*/
-static int
+int
umtxq_sleep_pi(struct umtx_q *uq, struct umtx_pi *pi, uint32_t owner,
const char *wmesg, struct umtx_abs_timeout *timo, bool shared)
{
@@ -2014,7 +2012,7 @@
/*
* Add reference count for a PI mutex.
*/
-static void
+void
umtx_pi_ref(struct umtx_pi *pi)
{
@@ -2026,7 +2024,7 @@
* Decrease reference count for a PI mutex, if the counter
* is decreased to zero, its memory space is freed.
*/
-static void
+void
umtx_pi_unref(struct umtx_pi *pi)
{
struct umtxq_chain *uc;
@@ -2049,7 +2047,7 @@
/*
* Find a PI mutex in hash table.
*/
-static struct umtx_pi *
+struct umtx_pi *
umtx_pi_lookup(struct umtx_key *key)
{
struct umtxq_chain *uc;
@@ -2069,7 +2067,7 @@
/*
* Insert a PI mutex into hash table.
*/
-static inline void
+void
umtx_pi_insert(struct umtx_pi *pi)
{
struct umtxq_chain *uc;
diff --git a/sys/sys/umtxvar.h b/sys/sys/umtxvar.h
--- a/sys/sys/umtxvar.h
+++ b/sys/sys/umtxvar.h
@@ -214,9 +214,19 @@
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 *);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Feb 15, 11:42 AM (10 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16657825
Default Alt Text
D31237.diff (2 KB)
Attached To
Mode
D31237: umtx: Expose some of the pi umtx structures and API to the rest of the kernel.
Attached
Detach File
Event Timeline
Log In to Comment