From patchwork Fri Jun 12 13:01:30 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alberto Garcia X-Patchwork-Id: 483581 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 7B351140497 for ; Fri, 12 Jun 2015 23:09:58 +1000 (AEST) Received: from localhost ([::1]:51270 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z3Oia-00085m-Ig for incoming@patchwork.ozlabs.org; Fri, 12 Jun 2015 09:09:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49667) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z3Oc0-0005fC-Bu for qemu-devel@nongnu.org; Fri, 12 Jun 2015 09:03:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z3Obx-0001yW-Bb for qemu-devel@nongnu.org; Fri, 12 Jun 2015 09:03:08 -0400 Received: from smtp3.mundo-r.com ([212.51.32.191]:8168 helo=smtp4.mundo-r.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z3Obw-0001y9-T0; Fri, 12 Jun 2015 09:03:05 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoEFALjXelVbdWOb/2dsb2JhbABcgxCBM6tZAQUFAYEEmGkCgUhMAQEBAQEBgQuEIwEBBCdSED8SPBsZiDMB1hsBAQgihhmJWFgHhC0Fi3lpkjCNToo6JmNmQhwVgUBsgQSBQwEBAQ X-IPAS-Result: AoEFALjXelVbdWOb/2dsb2JhbABcgxCBM6tZAQUFAYEEmGkCgUhMAQEBAQEBgQuEIwEBBCdSED8SPBsZiDMB1hsBAQgihhmJWFgHhC0Fi3lpkjCNToo6JmNmQhwVgUBsgQSBQwEBAQ X-IronPort-AV: E=Sophos;i="5.13,602,1427752800"; d="scan'208";a="360395007" Received: from fanzine.igalia.com ([91.117.99.155]) by smtp4.mundo-r.com with ESMTP; 12 Jun 2015 15:02:24 +0200 Received: from dsl-hkibrasgw4-50df50-128.dhcp.inet.fi ([80.223.80.128] helo=perseus.local) by fanzine.igalia.com with esmtpsa (Cipher TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim) id 1Z3ObH-0004fk-M3; Fri, 12 Jun 2015 15:02:23 +0200 Received: from berto by perseus.local with local (Exim 4.85) (envelope-from ) id 1Z3Ob4-0003VC-66; Fri, 12 Jun 2015 16:02:10 +0300 From: Alberto Garcia To: qemu-devel@nongnu.org Date: Fri, 12 Jun 2015 16:01:30 +0300 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: In-Reply-To: References: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 212.51.32.191 Cc: Paolo Bonzini , Alberto Garcia , qemu-block@nongnu.org, Stefan Hajnoczi Subject: [Qemu-devel] [PATCH 2/3] timer: Use a single definition of NSEC_PER_SEC for the whole codebase X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Alberto Garcia --- hw/ppc/ppc.c | 2 -- hw/ppc/spapr_rtc.c | 3 +-- hw/timer/mc146818rtc.c | 1 - hw/usb/hcd-ehci.c | 2 +- include/qemu/timer.h | 2 +- tests/rtl8139-test.c | 10 +++++----- tests/test-throttle.c | 8 ++++---- tests/wdt_ib700-test.c | 15 +++++++-------- util/throttle.c | 4 ++-- 9 files changed, 21 insertions(+), 26 deletions(-) diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c index 99db56c..2a4b8e1 100644 --- a/hw/ppc/ppc.c +++ b/hw/ppc/ppc.c @@ -51,8 +51,6 @@ # define LOG_TB(...) do { } while (0) #endif -#define NSEC_PER_SEC 1000000000LL - static void cpu_ppc_tb_stop (CPUPPCState *env); static void cpu_ppc_tb_start (CPUPPCState *env); diff --git a/hw/ppc/spapr_rtc.c b/hw/ppc/spapr_rtc.c index 83eb7c1..9da3746 100644 --- a/hw/ppc/spapr_rtc.c +++ b/hw/ppc/spapr_rtc.c @@ -26,6 +26,7 @@ * */ #include "cpu.h" +#include "qemu/timer.h" #include "sysemu/sysemu.h" #include "hw/ppc/spapr.h" #include "qapi-event.h" @@ -40,8 +41,6 @@ struct sPAPRRTCState { int64_t ns_offset; }; -#define NSEC_PER_SEC 1000000000LL - void spapr_rtc_read(DeviceState *dev, struct tm *tm, uint32_t *ns) { sPAPRRTCState *rtc = SPAPR_RTC(dev); diff --git a/hw/timer/mc146818rtc.c b/hw/timer/mc146818rtc.c index f2b77fa..41563be 100644 --- a/hw/timer/mc146818rtc.c +++ b/hw/timer/mc146818rtc.c @@ -48,7 +48,6 @@ # define DPRINTF_C(format, ...) do { } while (0) #endif -#define NSEC_PER_SEC 1000000000LL #define SEC_PER_MIN 60 #define MIN_PER_HOUR 60 #define SEC_PER_HOUR 3600 diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index d4d7547..d7cd40b 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -32,7 +32,7 @@ #include "trace.h" #define FRAME_TIMER_FREQ 1000 -#define FRAME_TIMER_NS (1000000000 / FRAME_TIMER_FREQ) +#define FRAME_TIMER_NS (NSEC_PER_SEC / FRAME_TIMER_FREQ) #define UFRAME_TIMER_NS (FRAME_TIMER_NS / 8) #define NB_MAXINTRATE 8 // Max rate at which controller issues ints diff --git a/include/qemu/timer.h b/include/qemu/timer.h index 1f1e56b..72a2529 100644 --- a/include/qemu/timer.h +++ b/include/qemu/timer.h @@ -5,7 +5,7 @@ #include "qemu-common.h" #include "qemu/notify.h" -#define NANOSECONDS_PER_SECOND 1000000000LL +#define NSEC_PER_SEC 1000000000LL /* timers */ diff --git a/tests/rtl8139-test.c b/tests/rtl8139-test.c index 4e0bf02..3bff0e3 100644 --- a/tests/rtl8139-test.c +++ b/tests/rtl8139-test.c @@ -12,6 +12,7 @@ #include "libqtest.h" #include "libqos/pci-pc.h" #include "qemu/osdep.h" +#include "qemu/timer.h" #include "qemu-common.h" /* Tests only initialization so far. TODO: Replace with functional tests */ @@ -20,7 +21,6 @@ static void nop(void) } #define CLK 33000000 -#define NS_PER_SEC 1000000000ULL static QPCIBus *pcibus; static QPCIDevice *dev; @@ -86,7 +86,7 @@ static void test_timer(void) fatal("time too big %u\n", curr); } for (cnt = 0; ; ) { - clock_step(1 * NS_PER_SEC); + clock_step(1 * NSEC_PER_SEC); prev = curr; curr = in_Timer(); @@ -125,7 +125,7 @@ static void test_timer(void) out_IntrStatus(0x4000); curr = in_Timer(); out_TimerInt(curr + 0.5 * CLK); - clock_step(1 * NS_PER_SEC); + clock_step(1 * NSEC_PER_SEC); out_Timer(0); if ((in_IntrStatus() & 0x4000) == 0) { fatal("we should have an interrupt here!\n"); @@ -137,7 +137,7 @@ static void test_timer(void) out_IntrStatus(0x4000); curr = in_Timer(); out_TimerInt(curr + 0.5 * CLK); - clock_step(1 * NS_PER_SEC); + clock_step(1 * NSEC_PER_SEC); out_TimerInt(0); if ((in_IntrStatus() & 0x4000) == 0) { fatal("we should have an interrupt here!\n"); @@ -148,7 +148,7 @@ static void test_timer(void) next = curr + 5.0 * CLK; out_TimerInt(next); for (cnt = 0; ; ) { - clock_step(1 * NS_PER_SEC); + clock_step(1 * NSEC_PER_SEC); prev = curr; curr = in_Timer(); diff = (curr-prev) & 0xffffffffu; diff --git a/tests/test-throttle.c b/tests/test-throttle.c index d8ba415..00e4c70 100644 --- a/tests/test-throttle.c +++ b/tests/test-throttle.c @@ -36,19 +36,19 @@ static void test_leak_bucket(void) bkt.level = 1.5; /* leak an op work of time */ - throttle_leak_bucket(&bkt, NANOSECONDS_PER_SECOND / 150); + throttle_leak_bucket(&bkt, NSEC_PER_SEC / 150); g_assert(bkt.avg == 150); g_assert(bkt.max == 15); g_assert(double_cmp(bkt.level, 0.5)); /* leak again emptying the bucket */ - throttle_leak_bucket(&bkt, NANOSECONDS_PER_SECOND / 150); + throttle_leak_bucket(&bkt, NSEC_PER_SEC / 150); g_assert(bkt.avg == 150); g_assert(bkt.max == 15); g_assert(double_cmp(bkt.level, 0)); /* check that the bucket level won't go lower */ - throttle_leak_bucket(&bkt, NANOSECONDS_PER_SECOND / 150); + throttle_leak_bucket(&bkt, NSEC_PER_SEC / 150); g_assert(bkt.avg == 150); g_assert(bkt.max == 15); g_assert(double_cmp(bkt.level, 0)); @@ -86,7 +86,7 @@ static void test_compute_wait(void) bkt.level = 15.5; wait = throttle_compute_wait(&bkt); /* time required to do half an operation */ - result = (int64_t) NANOSECONDS_PER_SECOND / 150 / 2; + result = (int64_t) NSEC_PER_SEC / 150 / 2; g_assert(wait == result); } diff --git a/tests/wdt_ib700-test.c b/tests/wdt_ib700-test.c index 513a533..10a5472 100644 --- a/tests/wdt_ib700-test.c +++ b/tests/wdt_ib700-test.c @@ -11,8 +11,7 @@ #include #include "libqtest.h" #include "qemu/osdep.h" - -#define NS_PER_SEC 1000000000ULL +#include "qemu/timer.h" static void qmp_check_no_event(void) { @@ -41,29 +40,29 @@ static QDict *qmp_get_event(const char *name) static QDict *ib700_program_and_wait(QTestState *s) { - clock_step(NS_PER_SEC * 40); + clock_step(NSEC_PER_SEC * 40); qmp_check_no_event(); /* 2 second limit */ outb(0x443, 14); /* Ping */ - clock_step(NS_PER_SEC); + clock_step(NSEC_PER_SEC); qmp_check_no_event(); outb(0x443, 14); /* Disable */ - clock_step(NS_PER_SEC); + clock_step(NSEC_PER_SEC); qmp_check_no_event(); outb(0x441, 1); - clock_step(3 * NS_PER_SEC); + clock_step(3 * NSEC_PER_SEC); qmp_check_no_event(); /* Enable and let it fire */ outb(0x443, 13); - clock_step(3 * NS_PER_SEC); + clock_step(3 * NSEC_PER_SEC); qmp_check_no_event(); - clock_step(2 * NS_PER_SEC); + clock_step(2 * NSEC_PER_SEC); return qmp_get_event("WATCHDOG"); } diff --git a/util/throttle.c b/util/throttle.c index f976ac7..7678027 100644 --- a/util/throttle.c +++ b/util/throttle.c @@ -34,7 +34,7 @@ void throttle_leak_bucket(LeakyBucket *bkt, int64_t delta_ns) double leak; /* compute how much to leak */ - leak = (bkt->avg * (double) delta_ns) / NANOSECONDS_PER_SECOND; + leak = (bkt->avg * (double) delta_ns) / NSEC_PER_SEC; /* make the bucket leak */ bkt->level = MAX(bkt->level - leak, 0); @@ -70,7 +70,7 @@ static void throttle_do_leak(ThrottleState *ts, int64_t now) */ static int64_t throttle_do_compute_wait(double limit, double extra) { - double wait = extra * NANOSECONDS_PER_SECOND; + double wait = extra * NSEC_PER_SEC; wait /= limit; return wait; }