[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/13] throttle: Add support for burst periods
From: |
Alberto Garcia |
Subject: |
Re: [Qemu-devel] [PATCH 08/13] throttle: Add support for burst periods |
Date: |
Tue, 16 Feb 2016 15:24:21 +0100 |
User-agent: |
Notmuch/0.13.2 (http://notmuchmail.org) Emacs/23.2.1 (i486-pc-linux-gnu) |
On Tue 16 Feb 2016 11:45:32 AM CET, Kevin Wolf <address@hidden> wrote:
>> + /* If the bucket is not full yet we have to make sure that we
>> + * fulfill the goal of bkt->max units per second. */
>> + if (bkt->burst_length > 1) {
>> + /* We use 1/10 of the max value to smooth the throttling.
>> + * See throttle_fix_bucket() for more details. */
>> + extra = bkt->burst_level - bkt->max / 10;
>
> I don't understand the connection between throttle_fix_bucket() and
> this.
>
> throttle_fix_bucket() seems to set a default rate for bursts, which
> kind of makes sense to me (but what's the point when this is lower
> than the average rate?)
The point is to smoothen the throttling: if you request a max rate of
2000 operations per second, what you actually get is a rate of 200
operations per tenth of a second.
With the current code, if you set bkg->avg to 1000 but not bkt->max
you'll get exactly this. I'm just applying the same logic to bursts.
Berto
- [Qemu-devel] [PATCH 05/13] throttle: Set always an average value when setting a maximum value, (continued)
- [Qemu-devel] [PATCH 05/13] throttle: Set always an average value when setting a maximum value, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 09/13] throttle: Add command-line settings to define the burst periods, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 06/13] throttle: Merge all functions that check the configuration into one, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 01/13] throttle: Make throttle_compute_timer() static, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 04/13] throttle: Make throttle_is_valid() set errp, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 02/13] throttle: Make throttle_conflicting() set errp, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 12/13] throttle: Check that burst_level leaks correctly, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 07/13] throttle: Use throttle_config_init() to initialize ThrottleConfig, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 08/13] throttle: Add support for burst periods, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 11/13] qapi: Add burst length fields to BlockDeviceInfo, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 13/13] throttle: Test throttle_compute_wait() during bursts, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 03/13] throttle: Make throttle_max_is_missing_limit() set errp, Alberto Garcia, 2016/02/05
- [Qemu-devel] [PATCH 10/13] qapi: Add burst length parameters to block_set_io_throttle, Alberto Garcia, 2016/02/05
- Re: [Qemu-devel] [PATCH 00/13] throttle: Allow I/O bursts for a user-defined period of time, Kevin Wolf, 2016/02/12
- Re: [Qemu-devel] [Qemu-block] [PATCH 00/13] throttle: Allow I/O bursts for a user-defined period of time, Stefan Hajnoczi, 2016/02/15