It's a queue that looks like a semaphore, so document it
in doc/queues.txt and provide pointers to perhaps-forgotten
documentation.
---
 doc/queues.txt | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/doc/queues.txt b/doc/queues.txt
index 8e3235e..d1de9da 100644
--- a/doc/queues.txt
+++ b/doc/queues.txt
@@ -91,3 +91,22 @@ must parallelize these syscalls through POSIX threads 
instead.
 
 Furthermore, no AIO implementation we've looked at is aware of nor
 designed to manage parallelism across multiple devices/filesystems.
+
+ioq (secondary queue)
+---------------------
+
+To manage parallelism across multiple devices/filesystems while
+being integrated into our existing thread pool architecture,
+'ioq' was implemented starting with v1.3.0.  Its goal is to
+prevent a single slow disk from tying up more than its fair
+share of disks.
+
+The API provided is semaphore-like; but compatible with our
+existing non-blocking architecture.  A lengthier description is
+in the 1.3.0 release notes:
+
+       https://bogomips.org/cmogstored.git/patch/?id=v1.3.0
+
+See also the ioq.c source for a diagram and implementation:
+
+       https://bogomips.org/cmogstored.git/plain/ioq.c
-- 
EW

--
unsubscribe: [email protected]
archive: https://bogomips.org/cmogstored-public/

Reply via email to