diff options
author | kib <kib@FreeBSD.org> | 2012-05-30 16:06:38 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-05-30 16:06:38 +0000 |
commit | 6f4e16f8338923e9fd89009ec9cb4a5a3d770983 (patch) | |
tree | 4caf91c8f8e723003a46c63db3286a9280250541 /sys/sys/proc.h | |
parent | b4b050eda28e90a7c843fa7fa999ce50dd3c3872 (diff) | |
download | FreeBSD-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.h | 1 |
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. */ |