timer: Use a single definition of NSEC_PER_SEC for the whole codebase
Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: c6e55468856ba0b8f95913c4da111cc0ef266541.1434113783.git.berto@igalia.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
		
							parent
							
								
									471fae3c98
								
							
						
					
					
						commit
						e0cf11f31c
					
				| @ -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); | ||||
| 
 | ||||
|  | ||||
| @ -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); | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
| @ -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
 | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
| #include "qemu-common.h" | ||||
| #include "qemu/notify.h" | ||||
| 
 | ||||
| #define NANOSECONDS_PER_SECOND 1000000000LL | ||||
| #define NSEC_PER_SEC 1000000000LL | ||||
| 
 | ||||
| /* timers */ | ||||
| 
 | ||||
|  | ||||
| @ -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; | ||||
|  | ||||
| @ -40,19 +40,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)); | ||||
| @ -90,7 +90,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); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -11,8 +11,7 @@ | ||||
| #include <string.h> | ||||
| #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"); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -36,7 +36,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); | ||||
| @ -72,7 +72,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; | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Alberto Garcia
						Alberto Garcia