[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability
From: |
Markus Armbruster |
Subject: |
Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability |
Date: |
Wed, 19 Jul 2023 11:03:39 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Yong Huang <yong.huang@smartx.com> writes:
> On Wed, Jul 19, 2023 at 1:26 PM Markus Armbruster <armbru@redhat.com> wrote:
>
>> Yong Huang <yong.huang@smartx.com> writes:
>>
>> > On Tue, Jul 18, 2023 at 7:04 PM Markus Armbruster <armbru@redhat.com>
>> wrote:
>> >
>> >> Yong Huang <yong.huang@smartx.com> writes:
>> >>
>> >> > On Thu, Jul 13, 2023 at 8:44 PM Markus Armbruster <armbru@redhat.com>
>> >> > wrote:
[...]
>> >> Yes, please. But before that, I have still more questions. "This
>> >> algorithm only works when vCPU's dirtyrate greater than
>> >> 'vcpu-dirty-limit'" is a condition: "FEATURE only works when CONDITION".
>> >>
>> > I failed to express my meaning again : ( . "Throttle algo only works when
>> > vCPU's dirtyrate greater than 'vcpu-dirty-limit' " should change to
>> > "vCPU throttle only works when vCPU's dirtyrate greater than
>> > 'vcpu-dirty-limit'".
>> > Not the whole "algo" !
>>
>> Let me paraphrase to make sure I got it... The vCPU is throttled as
>> needed to keep its dirty rate within the limit set with
>> set-vcpu-dirty-limit. Correct?
>>
> Yes. Actually set with the internal function qmp_set_vcpu_dirty_limit.
>
> And a parameter called "vcpu-dirty-limit" of migration provided by
> dirty-limit
> aims to be the argument of qmp_set_vcpu_dirty_limit.
Alright, let me try to craft some documentation:
# @dirty-limit: If enabled, migration will throttle vCPUs as needed to
# keep their dirty page rate within @vcpu-dirty-limit. This can
# improve responsiveness of large guests during live migration,
# and can result in more stable read performance. Requires KVM
# with accelerator property "dirty-ring-size" set. (Since 8.1)
What do you think?
>> What happens when I enable the dirty limit convergence algorithm without
>> setting a limit with set-vcpu-dirty-limit?
>>
> dirty-limit will use the default value which is defined
> in migration/options.c:
> #define DEFAULT_MIGRATE_VCPU_DIRTY_LIMIT 1 /* MB/s */
>
> So the default of the dirty-limit is 1MB/s.
Is this default documented in the QAPI schema? Hmm, looks like it isn't
before this series, but PATCH 3 fixes it. Okay.
>> >> What happens when the condition is not met? How can the user ensure the
>> >> condition is met?
>> >>
>> >> [...]
- [PATCH QEMU v8 6/9] migration: Put the detection logic before auto-converge checking, (continued)
- [PATCH QEMU v8 6/9] migration: Put the detection logic before auto-converge checking, ~hyman, 2023/07/07
- [PATCH QEMU v8 5/9] migration: Refactor auto-converge capability logic, ~hyman, 2023/07/07
- [PATCH QEMU v8 7/9] migration: Implement dirty-limit convergence algo, ~hyman, 2023/07/07
- [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability, ~hyman, 2023/07/07
- Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability, Markus Armbruster, 2023/07/13
- Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability, Yong Huang, 2023/07/17
- Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability, Markus Armbruster, 2023/07/18
- Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability, Yong Huang, 2023/07/19
- Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability, Markus Armbruster, 2023/07/19
- Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability, Yong Huang, 2023/07/19
- Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability,
Markus Armbruster <=
- Re: [PATCH QEMU v8 4/9] migration: Introduce dirty-limit capability, Yong Huang, 2023/07/19
[PATCH QEMU v8 9/9] tests: Add migration dirty-limit capability test, ~hyman, 2023/07/07
[PATCH QEMU v8 8/9] migration: Extend query-migrate to provide dirty page limit info, ~hyman, 2023/07/07