softmmu: Tidy dirtylimit_dirty_ring_full_time
Drop inline marker: let compiler decide. Change return type to uint64_t: this matches the computation in the return statement and the local variable assignment in the caller. Rename local to dirty_ring_size_MB to fix typo. Simplify conversion to MiB via qemu_target_page_bits and right shift. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
c586691e67
commit
6a6447fe25
@ -232,18 +232,23 @@ bool dirtylimit_vcpu_index_valid(int cpu_index)
|
||||
cpu_index >= ms->smp.max_cpus);
|
||||
}
|
||||
|
||||
static inline int64_t dirtylimit_dirty_ring_full_time(uint64_t dirtyrate)
|
||||
static uint64_t dirtylimit_dirty_ring_full_time(uint64_t dirtyrate)
|
||||
{
|
||||
static uint64_t max_dirtyrate;
|
||||
uint32_t dirty_ring_size = kvm_dirty_ring_size();
|
||||
uint64_t dirty_ring_size_meory_MB =
|
||||
dirty_ring_size * qemu_target_page_size() >> 20;
|
||||
unsigned target_page_bits = qemu_target_page_bits();
|
||||
uint64_t dirty_ring_size_MB;
|
||||
|
||||
/* So far, the largest (non-huge) page size is 64k, i.e. 16 bits. */
|
||||
assert(target_page_bits < 20);
|
||||
|
||||
/* Convert ring size (pages) to MiB (2**20). */
|
||||
dirty_ring_size_MB = kvm_dirty_ring_size() >> (20 - target_page_bits);
|
||||
|
||||
if (max_dirtyrate < dirtyrate) {
|
||||
max_dirtyrate = dirtyrate;
|
||||
}
|
||||
|
||||
return dirty_ring_size_meory_MB * 1000000 / max_dirtyrate;
|
||||
return dirty_ring_size_MB * 1000000 / max_dirtyrate;
|
||||
}
|
||||
|
||||
static inline bool dirtylimit_done(uint64_t quota,
|
||||
|
Loading…
Reference in New Issue
Block a user