qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 00/12] block: Move I/O throttling to BlockBacken


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 00/12] block: Move I/O throttling to BlockBackend
Date: Wed, 23 Mar 2016 10:28:41 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0


On 23/03/2016 10:03, Kevin Wolf wrote:
> Am 22.03.2016 um 22:33 hat Paolo Bonzini geschrieben:
>> On 22/03/2016 16:33, Kevin Wolf wrote:
>>> This is another feature that was "logically" part of the BlockBackend, but
>>> implemented as a BlockDriverState feature. It was always kept on top using
>>> swap_feature_fields().
>>>
>>> This series moves it to be actually implemented in the BlockBackend, 
>>> removing
>>> another obstacle for removing bs->blk and allowing multiple BBs per BDS.
>>>
>>> Depends on 'block: Implement writethrough in BlockBackend'.
>>
>> This series would mess up my own I/O throttling cleanups that have been
>> posted in February and have hardly seen a review for one month.
> 
> Which cleanups? The ones that you hid in an I/O path locking series?
> Whose v2 didn't even include qemu-block? I noticed only now that they
> exist.
> 
> I can take a look, but nobody told me (or Berto, for that matter) that
> this is a series we should have a look at. block/io.c is maintained by
> Stefan, throttling isn't.

If you actually look at the series, all of the changes are in block/io.c
except for:

- moving some code from block/io.c to block/throttle-groups.c, with zero
semantic change.

- adding exactly three lines of code to block/throttle-groups.c:

    if (bs->io_limits_disabled) {
        return false;
    }

I think it's okay to assume that the block/io.c maintainer can make a
fair judgment on these changes.

On the other hand, this series touches block/io.c much more heavily,
adding code to a function that we want to remove altogether
(bdrv_flush_io_queue).  Yet, Stefan wasn't even CCed.  If you intend to
override the block/io.c maintainer, you are _expected_ to take a look at
pending block/io.c patches and see how they interact with yours.

Sure, v2 of my series was not CCed to qemu-block, but v1 was.  Even just
reading the 00/16 part of the thread would have provided the status of
the series without any doubt.  Again, I'd only expect you to take this
additional burden because you didn't CC the submaintainer on this
series.  The alternative is to do that, explain him why you are sending
such an intrusive fix close to soft freeze, and letting him make a decision.

>> I expect the rules for soft freeze to apply to maintainers as well.
>> These patches and the removal of bs->blk are about one month late and
>> shouldn't be included in 2.6.
> 
> This is not a feature. It's a series that brings actual behaviour in
> line with the promised API, in other words a bug fix.
> 
> Admittedly, it's a very heavy fix, but if we decide that we can't do a
> massive bug fix that late in the cycle (I admit that it got a bit late,
> even though the initial patches were on time before the soft freeze), we
> need to carefully check which other features we must revert in order to
> keep the API changes in 2.7 minimal. At least, I think, we'd have to
> disallow referencing backing files by node-name in 2.6.

Let me rephrase that.  There is a feature, "referencing backing files by
node-name", which should have had patches on the list by the soft freeze
date; you committed the API without having everything else posted or
even written, and now everything else qualifies as bug fix.

Since the damage is done, I guess you actually *should* go on and commit
these patches during hard freeze.  But please give priority to patches
that were sent according to the rules.

Paolo



reply via email to

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