xref: /openbmc/qemu/include/system/dirtyrate.h (revision 65cb7129f4160c7e07a0da107f888ec73ae96776)
1*32cad1ffSPhilippe Mathieu-Daudé /*
2*32cad1ffSPhilippe Mathieu-Daudé  * dirty page rate helper functions
3*32cad1ffSPhilippe Mathieu-Daudé  *
4*32cad1ffSPhilippe Mathieu-Daudé  * Copyright (c) 2022 CHINA TELECOM CO.,LTD.
5*32cad1ffSPhilippe Mathieu-Daudé  *
6*32cad1ffSPhilippe Mathieu-Daudé  * Authors:
7*32cad1ffSPhilippe Mathieu-Daudé  *  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
8*32cad1ffSPhilippe Mathieu-Daudé  *
9*32cad1ffSPhilippe Mathieu-Daudé  * This work is licensed under the terms of the GNU GPL, version 2 or later.
10*32cad1ffSPhilippe Mathieu-Daudé  * See the COPYING file in the top-level directory.
11*32cad1ffSPhilippe Mathieu-Daudé  */
12*32cad1ffSPhilippe Mathieu-Daudé 
13*32cad1ffSPhilippe Mathieu-Daudé #ifndef QEMU_DIRTYRATE_H
14*32cad1ffSPhilippe Mathieu-Daudé #define QEMU_DIRTYRATE_H
15*32cad1ffSPhilippe Mathieu-Daudé 
16*32cad1ffSPhilippe Mathieu-Daudé #include "qapi/qapi-types-migration.h"
17*32cad1ffSPhilippe Mathieu-Daudé 
18*32cad1ffSPhilippe Mathieu-Daudé typedef struct VcpuStat {
19*32cad1ffSPhilippe Mathieu-Daudé     int nvcpu; /* number of vcpu */
20*32cad1ffSPhilippe Mathieu-Daudé     DirtyRateVcpu *rates; /* array of dirty rate for each vcpu */
21*32cad1ffSPhilippe Mathieu-Daudé } VcpuStat;
22*32cad1ffSPhilippe Mathieu-Daudé 
23*32cad1ffSPhilippe Mathieu-Daudé int64_t vcpu_calculate_dirtyrate(int64_t calc_time_ms,
24*32cad1ffSPhilippe Mathieu-Daudé                                  VcpuStat *stat,
25*32cad1ffSPhilippe Mathieu-Daudé                                  unsigned int flag,
26*32cad1ffSPhilippe Mathieu-Daudé                                  bool one_shot);
27*32cad1ffSPhilippe Mathieu-Daudé 
28*32cad1ffSPhilippe Mathieu-Daudé void global_dirty_log_change(unsigned int flag,
29*32cad1ffSPhilippe Mathieu-Daudé                              bool start);
30*32cad1ffSPhilippe Mathieu-Daudé #endif
31