mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	 8244166dec
			
		
	
	
		8244166dec
		
	
	
	
	
		
			
			abstract out dirty log change logic into function global_dirty_log_change. abstract out dirty page rate calculation logic via dirty-ring into function vcpu_calculate_dirtyrate. abstract out mathematical dirty page rate calculation into do_calculate_dirtyrate, decouple it from DirtyStat. rename set_sample_page_period to dirty_stat_wait, which is well-understood and will be reused in dirtylimit. handle cpu hotplug/unplug scenario during measurement of dirty page rate. export util functions outside migration. Signed-off-by: Hyman Huang(黄勇) <huangy81@chinatelecom.cn> Reviewed-by: Peter Xu <peterx@redhat.com> Message-Id: <7b6f6f4748d5b3d017b31a0429e630229ae97538.1656177590.git.huangy81@chinatelecom.cn> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
		
			
				
	
	
		
			29 lines
		
	
	
		
			785 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			785 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * dirty page rate helper functions
 | |
|  *
 | |
|  * Copyright (c) 2022 CHINA TELECOM CO.,LTD.
 | |
|  *
 | |
|  * Authors:
 | |
|  *  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  */
 | |
| 
 | |
| #ifndef QEMU_DIRTYRATE_H
 | |
| #define QEMU_DIRTYRATE_H
 | |
| 
 | |
| typedef struct VcpuStat {
 | |
|     int nvcpu; /* number of vcpu */
 | |
|     DirtyRateVcpu *rates; /* array of dirty rate for each vcpu */
 | |
| } VcpuStat;
 | |
| 
 | |
| int64_t vcpu_calculate_dirtyrate(int64_t calc_time_ms,
 | |
|                                  VcpuStat *stat,
 | |
|                                  unsigned int flag,
 | |
|                                  bool one_shot);
 | |
| 
 | |
| void global_dirty_log_change(unsigned int flag,
 | |
|                              bool start);
 | |
| #endif
 |