[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 10/12] cpus: access .qemu_icount_bias with atomic
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [PATCH v2 10/12] cpus: access .qemu_icount_bias with atomic64 |
Date: |
Mon, 10 Sep 2018 19:27:50 -0400 |
Signed-off-by: Emilio G. Cota <address@hidden>
---
cpus.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/cpus.c b/cpus.c
index f045416c94..5a16a0186c 100644
--- a/cpus.c
+++ b/cpus.c
@@ -277,7 +277,8 @@ static int64_t cpu_get_icount_raw_locked(void)
static int64_t cpu_get_icount_locked(void)
{
int64_t icount = cpu_get_icount_raw_locked();
- return atomic_read__nocheck(&timers_state.qemu_icount_bias) +
cpu_icount_to_ns(icount);
+ return atomic_read_i64(&timers_state.qemu_icount_bias) +
+ cpu_icount_to_ns(icount);
}
int64_t cpu_get_icount_raw(void)
@@ -450,9 +451,9 @@ static void icount_adjust(void)
timers_state.icount_time_shift + 1);
}
last_delta = delta;
- atomic_set__nocheck(&timers_state.qemu_icount_bias,
- cur_icount - (timers_state.qemu_icount
- << timers_state.icount_time_shift));
+ atomic_set_i64(&timers_state.qemu_icount_bias,
+ cur_icount - (timers_state.qemu_icount
+ << timers_state.icount_time_shift));
seqlock_write_unlock(&timers_state.vm_clock_seqlock,
&timers_state.vm_clock_lock);
}
@@ -512,8 +513,8 @@ static void icount_warp_rt(void)
int64_t delta = clock - cur_icount;
warp_delta = MIN(warp_delta, delta);
}
- atomic_set__nocheck(&timers_state.qemu_icount_bias,
- timers_state.qemu_icount_bias + warp_delta);
+ atomic_set_i64(&timers_state.qemu_icount_bias,
+ timers_state.qemu_icount_bias + warp_delta);
}
timers_state.vm_clock_warp_start = -1;
seqlock_write_unlock(&timers_state.vm_clock_seqlock,
@@ -544,8 +545,8 @@ void qtest_clock_warp(int64_t dest)
seqlock_write_lock(&timers_state.vm_clock_seqlock,
&timers_state.vm_clock_lock);
- atomic_set__nocheck(&timers_state.qemu_icount_bias,
- timers_state.qemu_icount_bias + warp);
+ atomic_set_i64(&timers_state.qemu_icount_bias,
+ timers_state.qemu_icount_bias + warp);
seqlock_write_unlock(&timers_state.vm_clock_seqlock,
&timers_state.vm_clock_lock);
@@ -616,8 +617,8 @@ void qemu_start_warp_timer(void)
*/
seqlock_write_lock(&timers_state.vm_clock_seqlock,
&timers_state.vm_clock_lock);
- atomic_set__nocheck(&timers_state.qemu_icount_bias,
- timers_state.qemu_icount_bias + deadline);
+ atomic_set_i64(&timers_state.qemu_icount_bias,
+ timers_state.qemu_icount_bias + deadline);
seqlock_write_unlock(&timers_state.vm_clock_seqlock,
&timers_state.vm_clock_lock);
qemu_clock_notify(QEMU_CLOCK_VIRTUAL);
--
2.17.1
- [Qemu-devel] [PATCH v2 00/12] i386 + x86_64 mttcg, Emilio G. Cota, 2018/09/10
- [Qemu-devel] [PATCH v2 09/12] cpus: access .qemu_icount with atomic64, Emilio G. Cota, 2018/09/10
- [Qemu-devel] [PATCH v2 11/12] target/i386/translate: use thread-local storage in !user-mode, Emilio G. Cota, 2018/09/10
- [Qemu-devel] [PATCH v2 10/12] cpus: access .qemu_icount_bias with atomic64,
Emilio G. Cota <=
- [Qemu-devel] [PATCH v2 12/12] configure: enable mttcg for i386 and x86_64, Emilio G. Cota, 2018/09/10
- [Qemu-devel] [PATCH v2 01/12] cacheinfo: add i/d cache_linesize_log, Emilio G. Cota, 2018/09/10
- [Qemu-devel] [PATCH v2 02/12] util: add atomic64, Emilio G. Cota, 2018/09/10