qemu-devel
[Top][All Lists]
Advanced

[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?
>> >>
>> >> [...]




reply via email to

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