mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
cpu: expose qemu_cpu_list_lock for lock-guard use
Expose qemu_cpu_list_lock globally so that we can use WITH_QEMU_LOCK_GUARD and QEMU_LOCK_GUARD to simplify a few code paths now and in future. Signed-off-by: Jamie Iles <quic_jiles@quicinc.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230427020925.51003-2-quic_jiles@quicinc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
eb0153efa6
commit
370ed60029
5 changed files with 26 additions and 25 deletions
|
@ -150,25 +150,25 @@ int64_t vcpu_calculate_dirtyrate(int64_t calc_time_ms,
|
|||
retry:
|
||||
init_time_ms = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
|
||||
|
||||
cpu_list_lock();
|
||||
gen_id = cpu_list_generation_id_get();
|
||||
records = vcpu_dirty_stat_alloc(stat);
|
||||
vcpu_dirty_stat_collect(stat, records, true);
|
||||
cpu_list_unlock();
|
||||
WITH_QEMU_LOCK_GUARD(&qemu_cpu_list_lock) {
|
||||
gen_id = cpu_list_generation_id_get();
|
||||
records = vcpu_dirty_stat_alloc(stat);
|
||||
vcpu_dirty_stat_collect(stat, records, true);
|
||||
}
|
||||
|
||||
duration = dirty_stat_wait(calc_time_ms, init_time_ms);
|
||||
|
||||
global_dirty_log_sync(flag, one_shot);
|
||||
|
||||
cpu_list_lock();
|
||||
if (gen_id != cpu_list_generation_id_get()) {
|
||||
g_free(records);
|
||||
g_free(stat->rates);
|
||||
cpu_list_unlock();
|
||||
goto retry;
|
||||
WITH_QEMU_LOCK_GUARD(&qemu_cpu_list_lock) {
|
||||
if (gen_id != cpu_list_generation_id_get()) {
|
||||
g_free(records);
|
||||
g_free(stat->rates);
|
||||
cpu_list_unlock();
|
||||
goto retry;
|
||||
}
|
||||
vcpu_dirty_stat_collect(stat, records, false);
|
||||
}
|
||||
vcpu_dirty_stat_collect(stat, records, false);
|
||||
cpu_list_unlock();
|
||||
|
||||
for (i = 0; i < stat->nvcpu; i++) {
|
||||
dirtyrate = do_calculate_dirtyrate(records[i], duration);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue