diff options
author | Eric Wong <e@80x24.org> | 2016-12-24 08:30:46 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-12-24 08:30:46 +0000 |
commit | eb41c7abde797e03dd51c0bc945f0298d0fe235c (patch) | |
tree | 6c1a32c29788263f32b031fae0340594c6816fbd | |
parent | 5752a8d1b051b1cb4e4d62e6fd1afbeb28ce7eaf (diff) | |
download | cmogstored-eb41c7abde797e03dd51c0bc945f0298d0fe235c.tar.gz |
It's a queue that looks like a semaphore, so document it in doc/queues.txt and provide pointers to perhaps-forgotten documentation.
-rw-r--r-- | doc/queues.txt | 19 |
1 files changed, 19 insertions, 0 deletions
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 |