qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v10 3/3] cpus-common: implement dirty page limit on virtual C


From: Hyman Huang
Subject: Re: [PATCH v10 3/3] cpus-common: implement dirty page limit on virtual CPU
Date: Thu, 16 Dec 2021 17:16:55 +0800
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0



在 2021/12/16 14:22, Peter Xu 写道:
On Wed, Dec 15, 2021 at 02:41:32PM +0100, Markus Armbruster wrote:
Peter Xu <peterx@redhat.com> writes:

On Wed, Dec 15, 2021 at 03:56:55PM +0800, Hyman Huang wrote:
+{ 'command': 'vcpu-dirty-limit',
+  'data': { 'enable': 'bool',
+            '*cpu-index': 'uint64',
+            '*dirty-rate': 'uint64'} }

Drop @enable, please.

If @dirty-rate is present, set the limit to its value.

If it's absent, cancel the limit.

Ok. Indeed, this is the simplest style. :)

So the final qmp format should be like:

case 1: setup vcpu 0 dirty page limit 100MB/s
vcpu-dirty-limit  cpu-index=0   dirty-rate=100MB/s

case 2: cancle vcpu 0 dirty page limit
vcpu-dirty-limit  cpu-index=0

I actually agree with what you said... for human beings no one will read it as
"disable vcpu throttling", instead people could consider it enables vcpu
throttle with a default dirty rate from a gut feeling.

I think what Markus suggested is the simplest solution for computers, but it
can confuse human beings.  So it turns out to be a general question to QMP
scheme design: should we always assume QMP client to be a piece of software, or
should we still consider the feeling of human beings operating on QMP
interfaces using qmp-shell.

IMHO we should still consider the latter, if we don't lose much, anyway.  But I
don't have a strong opinion.

If you want a more explicit interface, then I'd recommend to go right
back to v7:

     {"execute": "set-vcpu-dirty-limit",
      "arguments": {"cpu-index": 0, "dirtyrate": 200}}

     {"execute": "cancel-vcpu-dirty-limit",
      "arguments": {"cpu-index": 0}}

Bonus: it already has my Acked-by.

Fair enough. :)  That looks good to me too.

Yong, please hold-off a bit on reposting (if there's a plan) - I'll read the
other parts soon..

Ok, i'm not going to repost the next version untill the consensus is achieved.

So the final format of qmp we conclude are:

case 1: setup vcpu 0 dirty page limit 100MB/s
set-vcpu-dirty-limit cpu-index=0 dirty-rate=100

case 2: setup all vcpu dirty page limit 100MB/s
set-vcpu-dirty-limit dirty-rate=100

case 3: cancel vcpu 0 dirty page limit
cancel-vcpu-dirty-limit cpu-index=0

case 4: cancel all vcpu dirty page limit
cancel-vcpu-dirty-limit

case 5: query limit infomatioin of all vcpu enabled
query-vcpu-dirty-limit

And the corresponding hmp format keep the same style:

Is there any advice? :)

Thanks,


--
Best regard

Hyman Huang(黄勇)



reply via email to

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