On Mon, Aug 25, 2014 at 03:50:02PM -0600, Chris Friesen wrote: > The only limit I see in the whole call chain from > virtio_blk_handle_request() on down is the call to > bdrv_io_limits_intercept() in bdrv_co_do_writev(). However, that doesn't > provide any limit on the absolute number of inflight operations, only on > operations/sec. If the ceph server cluster can't keep up with the aggregate > load, then the number of inflight operations can still grow indefinitely.
We probably shouldn't rely on QEMU I/O throttling to keep memory usage reasonable. Instead rbd should be adjusted to support iovecs as you suggested. That way no bounce buffers are needed. Stefan