io_tester: Rate requests issuer
io_tester: Rate requests issuer

The new way of submitting requests is one-per-some-period. In between
the fiber sleeps, after the sleep the request is _not_ waited for.
Conseqnetially, if the disk is not fast enough, the in-flight requests
may accumulate, so they are counted, on stop they are canceled and the
counter is polled to become zero.

This mode can be used to issue an IO flow at desired MB/s. This is not
the same as current parallel issuer with non zero think time. The latter
doesn't know when the request will finish and cannot guarantee or
predict and specific rate. Another subtle difference is that think
time means occupying the CPU without giving the reactor a chance to
schedule anything else.

Signed-off-by: Pavel Emelyanov <c9a32589e048e044184536f7ac71ef92fe82df3e@scylladb.com>

scylladb/seastar,scylladb/seastar,syuu1228/seastar,avikivity/seastar,scylladb/seastar,avikivity/seastar,avikivity/seastar,syuu1228/seastar,syuu1228/seastar