qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH 0/7] iotests/129: Fix it


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH 0/7] iotests/129: Fix it
Date: Wed, 13 Jan 2021 18:29:58 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

13.01.2021 18:19, Max Reitz wrote:
On 13.01.21 15:31, Vladimir Sementsov-Ogievskiy wrote:
13.01.2021 17:06, Max Reitz wrote:
Hi,

There are some problems with iotests 129 (perhaps more than these, but
these are the ones I know of):

1. It checks @busy to see whether a block job is still running; however,
    block jobs tend to unset @busy all the time (when they yield).
    [Fixed by patch 3]

2. It uses blockdev throttling, which quite some time ago has been moved
    to the BB level; since then, such throttling will no longer affect
    block jobs.  We can get throttling to work by using a throttle filter
    node.
    [Fixed by patch 4]

3. The mirror job has a large buffer size by default.  A simple drain
    may lead to it making significant process, which is kind of
    dangerous, because we don’t want the job to complete.

Not quite clear to me. iotest 129 wants to mirror 128M of data. Mirror by
default will have 1M chunk size and maximum of 16 parallel requests. So with
throttling (even if throttling can't correctly handle parallel requests)
we will not exceed 16M of progress.. Why we need limiting buffer size?

It does exceed 16M of progress; without the limit, I generally see something 
between 16M and 32M.

Now, that still is below 128M, but it’s kind of in the same magnitude. I don’t 
feel comfortable with that, especially given it’s so easy to limit it to much 
less (buf_size=64k makes the job proceed to 128k).

Also, maybe the default is increased in the future.  Increasing the chunk size 
by 4 would mean that it might be possible to reach 128M.

I find not relying on the default better.

Hmm, OK, agreed


--
Best regards,
Vladimir



reply via email to

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