qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] is there a limit on the number of in-flight I/O operati


From: Josh Durgin
Subject: Re: [Qemu-devel] is there a limit on the number of in-flight I/O operations?
Date: Thu, 27 Aug 2015 17:31:04 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0

On 08/27/2015 09:49 AM, Stefan Hajnoczi wrote:
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.

Agreed.

Instead rbd should be adjusted to support iovecs as you suggested.  That
way no bounce buffers are needed.

Yeah, this is pretty simple to do. Internally librbd has iovec-equivalents. I'm not sure this is the main source of extra memory usage
though.

I suspect the main culprit here is rbd cache letting itself burst too
large, rather than the bounce buffers.

Andrey, does this still occur with caching off?

Josh



reply via email to

[Prev in Thread] Current Thread [Next in Thread]