From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52737) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YHD4v-0003c8-Gl for qemu-devel@nongnu.org; Fri, 30 Jan 2015 10:01:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YHD4p-0005e6-Lt for qemu-devel@nongnu.org; Fri, 30 Jan 2015 10:01:49 -0500 Received: from mail-we0-x236.google.com ([2a00:1450:400c:c03::236]:46511) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YHD4p-0005dz-FU for qemu-devel@nongnu.org; Fri, 30 Jan 2015 10:01:43 -0500 Received: by mail-we0-f182.google.com with SMTP id l61so27575146wev.13 for ; Fri, 30 Jan 2015 07:01:42 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Fri, 30 Jan 2015 16:01:16 +0100 Message-Id: <1422630078-18704-10-git-send-email-pbonzini@redhat.com> In-Reply-To: <1422630078-18704-1-git-send-email-pbonzini@redhat.com> References: <1422630078-18704-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PULL 09/11] cpu-exec: simplify init_delay_params List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Sebastian Tanase With the introduction of QEMU_CLOCK_VIRTUAL_RT, the computation of sc->diff_clk can be simplified nicely: qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - qemu_clock_get_ns(QEMU_CLOCK_REALTIME) + cpu_get_clock_offset() = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - (qemu_clock_get_ns(QEMU_CLOCK_REALTIME) - cpu_get_clock_offset()) = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - (qemu_clock_get_ns(QEMU_CLOCK_REALTIME) + timers_state.cpu_clock_offset) = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL_RT) Cc: Sebastian Tanase Signed-off-by: Paolo Bonzini --- cpu-exec.c | 6 ++---- cpus.c | 17 ----------------- include/qemu/timer.h | 1 - 3 files changed, 2 insertions(+), 22 deletions(-) diff --git a/cpu-exec.c b/cpu-exec.c index 9dd1ca5..fa506e6 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -100,10 +100,8 @@ static void init_delay_params(SyncClocks *sc, if (!icount_align_option) { return; } - sc->realtime_clock = qemu_clock_get_ns(QEMU_CLOCK_REALTIME); - sc->diff_clk = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - - sc->realtime_clock + - cpu_get_clock_offset(); + sc->realtime_clock = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL_RT); + sc->diff_clk = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - sc->realtime_clock; sc->last_cpu_icount = cpu->icount_extra + cpu->icount_decr.u16.low; if (sc->diff_clk < max_delay) { max_delay = sc->diff_clk; diff --git a/cpus.c b/cpus.c index 3a5323b..0cdd1d7 100644 --- a/cpus.c +++ b/cpus.c @@ -229,23 +229,6 @@ int64_t cpu_get_clock(void) return ti; } -/* return the offset between the host clock and virtual CPU clock */ -int64_t cpu_get_clock_offset(void) -{ - int64_t ti; - unsigned start; - - do { - start = seqlock_read_begin(&timers_state.vm_clock_seqlock); - ti = timers_state.cpu_clock_offset; - if (!timers_state.cpu_ticks_enabled) { - ti -= get_clock(); - } - } while (seqlock_read_retry(&timers_state.vm_clock_seqlock, start)); - - return -ti; -} - /* enable cpu_get_ticks() * Caller must hold BQL which server as mutex for vm_clock_seqlock. */ diff --git a/include/qemu/timer.h b/include/qemu/timer.h index ca5befb..eba8b21 100644 --- a/include/qemu/timer.h +++ b/include/qemu/timer.h @@ -838,7 +838,6 @@ static inline int64_t get_clock(void) int64_t cpu_get_icount_raw(void); int64_t cpu_get_icount(void); int64_t cpu_get_clock(void); -int64_t cpu_get_clock_offset(void); int64_t cpu_icount_to_ns(int64_t icount); /*******************************************/ -- 1.8.3.1