summaryrefslogtreecommitdiffstats
path: root/sys/sys/proc.h
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-05-30 16:06:38 +0000
committerkib <kib@FreeBSD.org>2012-05-30 16:06:38 +0000
commit6f4e16f8338923e9fd89009ec9cb4a5a3d770983 (patch)
tree4caf91c8f8e723003a46c63db3286a9280250541 /sys/sys/proc.h
parentb4b050eda28e90a7c843fa7fa999ce50dd3c3872 (diff)
downloadFreeBSD-src-6f4e16f8338923e9fd89009ec9cb4a5a3d770983.zip
FreeBSD-src-6f4e16f8338923e9fd89009ec9cb4a5a3d770983.tar.gz
Add a rangelock implementation, intended to be used to range-locking
the i/o regions of the vnode data space. The implementation is quite simple-minded, it uses the list of the lock requests, ordered by arrival time. Each request may be for read or for write. The implementation is fair FIFO. MFC after: 2 month
Diffstat (limited to 'sys/sys/proc.h')
-rw-r--r--sys/sys/proc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
index 389bf14..8e54073 100644
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -213,6 +213,7 @@ struct thread {
struct seltd *td_sel; /* Select queue/channel. */
struct sleepqueue *td_sleepqueue; /* (k) Associated sleep queue. */
struct turnstile *td_turnstile; /* (k) Associated turnstile. */
+ struct rl_q_entry *td_rlqe; /* (k) Associated range lock entry. */
struct umtx_q *td_umtxq; /* (c?) Link for when we're blocked. */
lwpid_t td_tid; /* (b) Thread ID. */
sigqueue_t td_sigqueue; /* (c) Sigs arrived, not delivered. */
OpenPOWER on IntegriCloud