mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
softmmu/dirtylimit: Implement dirty page rate limit
Implement dirtyrate calculation periodically basing on dirty-ring and throttle virtual CPU until it reachs the quota dirty page rate given by user. Introduce qmp commands "set-vcpu-dirty-limit", "cancel-vcpu-dirty-limit", "query-vcpu-dirty-limit" to enable, disable, query dirty page limit for virtual CPU. Meanwhile, introduce corresponding hmp commands "set_vcpu_dirty_limit", "cancel_vcpu_dirty_limit", "info vcpu_dirty_limit" so the feature can be more usable. "query-vcpu-dirty-limit" success depends on enabling dirty page rate limit, so just add it to the list of skipped command to ensure qmp-cmd-test run successfully. Signed-off-by: Hyman Huang(黄勇) <huangy81@chinatelecom.cn> Acked-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com> Message-Id: <4143f26706d413dd29db0b672fe58b3d3fbe34bc.1656177590.git.huangy81@chinatelecom.cn> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
baa609832e
commit
f3b2e38cfb
6 changed files with 324 additions and 0 deletions
|
@ -1768,3 +1768,35 @@ ERST
|
|||
"\n\t\t\t -b to specify dirty bitmap as method of calculation)",
|
||||
.cmd = hmp_calc_dirty_rate,
|
||||
},
|
||||
|
||||
SRST
|
||||
``set_vcpu_dirty_limit``
|
||||
Set dirty page rate limit on virtual CPU, the information about all the
|
||||
virtual CPU dirty limit status can be observed with ``info vcpu_dirty_limit``
|
||||
command.
|
||||
ERST
|
||||
|
||||
{
|
||||
.name = "set_vcpu_dirty_limit",
|
||||
.args_type = "dirty_rate:l,cpu_index:l?",
|
||||
.params = "dirty_rate [cpu_index]",
|
||||
.help = "set dirty page rate limit, use cpu_index to set limit"
|
||||
"\n\t\t\t\t\t on a specified virtual cpu",
|
||||
.cmd = hmp_set_vcpu_dirty_limit,
|
||||
},
|
||||
|
||||
SRST
|
||||
``cancel_vcpu_dirty_limit``
|
||||
Cancel dirty page rate limit on virtual CPU, the information about all the
|
||||
virtual CPU dirty limit status can be observed with ``info vcpu_dirty_limit``
|
||||
command.
|
||||
ERST
|
||||
|
||||
{
|
||||
.name = "cancel_vcpu_dirty_limit",
|
||||
.args_type = "cpu_index:l?",
|
||||
.params = "[cpu_index]",
|
||||
.help = "cancel dirty page rate limit, use cpu_index to cancel"
|
||||
"\n\t\t\t\t\t limit on a specified virtual cpu",
|
||||
.cmd = hmp_cancel_vcpu_dirty_limit,
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue