@@ -27,7 +27,17 @@ import System.IO.Error (ioeSetErrorString, mkIOError)
2727-------------------------------------------------------------------------------}
2828
2929-- | Concurrency parameters for initialising the 'IO' context in a 'HasBlockIO'
30- -- instance. Can be ignored by serial implementations.
30+ -- instance.
31+ --
32+ -- [IO context parameters]: These parameters are interpreted differently based
33+ -- on the underlying platform:
34+ --
35+ -- * Linux: Pass the parameters to 'initIOCtx' in the @blockio-uring@ package
36+ -- * MacOS: Ignore the parameters
37+ -- * Windows: Ignore the parameters
38+ --
39+ -- For more information about what these parameters mean and how to configure
40+ -- them, see the @blockio-uring@ package.
3141data IOCtxParams = IOCtxParams {
3242 ioctxBatchSizeLimit :: ! Int ,
3343 ioctxConcurrencyLimit :: ! Int
@@ -36,6 +46,8 @@ data IOCtxParams = IOCtxParams {
3646instance NFData IOCtxParams where
3747 rnf (IOCtxParams x y) = rnf x `seq` rnf y
3848
49+ -- | Default parameters. Some manual tuning of parameters might be required to
50+ -- achieve higher performance targets (see 'IOCtxParams').
3951defaultIOCtxParams :: IOCtxParams
4052defaultIOCtxParams = IOCtxParams {
4153 ioctxBatchSizeLimit = 64 ,
0 commit comments