sanity check Seastar's I/O queue configuration
sanity check Seastar's I/O queue configuration

While Seastar in general can accept any parameter for its I/O queues, Scylla
in particular shouldn't run with them disabled. Such will be the status when
the max-io-requests parameter is not enabled.

On top of that, we would like to have enough depth per I/O queue not to allow
for shard-local parallelism. Therefore, we will require a minimum per-queue
capacity of 4. In machines where the disk iodepth is not enough to allow for 4
concurrent requests per shard, one should reduce the number of I/O queues.

For --max-io-requests, we will check the parameter itself. However, the
--num-io-queues parameter is not mandatory, and given enough concurrent
requests, Seastar's default configuration can very well just be doing the right
thing. So for that, we will check the final result of each I/O queue.

As it is the case with other checks of the sorts, this can be overridden by
the --developer-mode switch.

Signed-off-by: Glauber Costa <7ba9037b0dd006f9408bd45b94707becd5cd4e87@scylladb.com>
Message-Id: <63bf7e91ac10c95810351815bb8f5e94d75592a5.1458836000.git.7ba9037b0dd006f9408bd45b94707becd5cd4e87@scylladb.com>

scylladb/scylla,avikivity/scylla,raphaelsc/scylla,kjniemi/scylla,duarten/scylla,kjniemi/scylla,duarten/scylla,duarten/scylla,avikivity/scylla,scylladb/scylla,kjniemi/scylla,raphaelsc/scylla,raphaelsc/scylla,scylladb/scylla,avikivity/scylla,scylladb/scylla