Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
ia64
include
asm
timex.h
Go to the documentation of this file.
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 <
[email protected]
>
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
16
typedef
unsigned
long
cycles_t
;
17
18
extern
void
(*
ia64_udelay
)(
unsigned
long
usecs
);
19
20
/*
21
* For performance reasons, we don't want to define CLOCK_TICK_TRATE as
22
* local_cpu_data->itc_rate. Fortunately, we don't have to, either: according to George
23
* Anzinger, 1/CLOCK_TICK_RATE is taken as the resolution of the timer clock. The time
24
* calculation assumes that you will use enough of these so that your tick size <= 1/HZ.
25
* If the calculation shows that your CLOCK_TICK_RATE can not supply exactly 1/HZ ticks,
26
* the actual value is calculated and used to update the wall clock each jiffie. Setting
27
* the CLOCK_TICK_RATE to x*HZ insures that the calculation will find no errors. Hence we
28
* pick a multiple of HZ which gives us a (totally virtual) CLOCK_TICK_RATE of about
29
* 100MHz.
30
*/
31
#define CLOCK_TICK_RATE (HZ * 100000UL)
32
33
static
inline
cycles_t
34
get_cycles
(
void
)
35
{
36
cycles_t
ret
;
37
38
ret =
ia64_getreg
(
_IA64_REG_AR_ITC
);
39
return
ret
;
40
}
41
42
extern
void
ia64_cpu_local_tick
(
void
);
43
extern
unsigned
long
long
ia64_native_sched_clock
(
void
);
44
45
#endif
/* _ASM_IA64_TIMEX_H */
Generated on Thu Jan 10 2013 12:50:40 for Linux Kernel by
1.8.2