Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.14-rc4 40 lines 1.3 kB view raw
1#ifndef _ASM_IA64_TIMEX_H 2#define _ASM_IA64_TIMEX_H 3 4/* 5 * Copyright (C) 1998-2001, 2003 Hewlett-Packard Co 6 * David Mosberger-Tang <davidm@hpl.hp.com> 7 */ 8/* 9 * 2001/01/18 davidm Removed CLOCK_TICK_RATE. It makes no sense on IA-64. 10 * Also removed cacheflush_time as it's entirely unused. 11 */ 12 13#include <asm/intrinsics.h> 14#include <asm/processor.h> 15 16typedef unsigned long cycles_t; 17 18/* 19 * For performance reasons, we don't want to define CLOCK_TICK_TRATE as 20 * local_cpu_data->itc_rate. Fortunately, we don't have to, either: according to George 21 * Anzinger, 1/CLOCK_TICK_RATE is taken as the resolution of the timer clock. The time 22 * calculation assumes that you will use enough of these so that your tick size <= 1/HZ. 23 * If the calculation shows that your CLOCK_TICK_RATE can not supply exactly 1/HZ ticks, 24 * the actual value is calculated and used to update the wall clock each jiffie. Setting 25 * the CLOCK_TICK_RATE to x*HZ insures that the calculation will find no errors. Hence we 26 * pick a multiple of HZ which gives us a (totally virtual) CLOCK_TICK_RATE of about 27 * 100MHz. 28 */ 29#define CLOCK_TICK_RATE (HZ * 100000UL) 30 31static inline cycles_t 32get_cycles (void) 33{ 34 cycles_t ret; 35 36 ret = ia64_getreg(_IA64_REG_AR_ITC); 37 return ret; 38} 39 40#endif /* _ASM_IA64_TIMEX_H */