projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
smalloc: alloc failure cleanups
[fio.git]
/
gettime.c
diff --git
a/gettime.c
b/gettime.c
index e60d3e20ee492ee96c628e671951ada7e67c1b0b..cc9dcb7bea7ab28215e09304b3c32688be8d8f25 100644
(file)
--- a/
gettime.c
+++ b/
gettime.c
@@
-21,8
+21,8
@@
int tsc_reliable = 0;
struct tv_valid {
struct timeval last_tv;
struct tv_valid {
struct timeval last_tv;
+ uint64_t last_cycles;
int last_tv_valid;
int last_tv_valid;
- unsigned long last_cycles;
};
#ifdef CONFIG_TLS_THREAD
static struct tv_valid __thread static_tv_valid;
};
#ifdef CONFIG_TLS_THREAD
static struct tv_valid __thread static_tv_valid;
@@
-168,7
+168,7
@@
static void *__fio_gettime(struct timeval *tp)
#endif
#ifdef ARCH_HAVE_CPU_CLOCK
case CS_CPUCLOCK: {
#endif
#ifdef ARCH_HAVE_CPU_CLOCK
case CS_CPUCLOCK: {
- u
nsigned long long
usecs, t;
+ u
int64_t
usecs, t;
t = get_cpu_clock();
if (tv && t < tv->last_cycles) {
t = get_cpu_clock();
if (tv && t < tv->last_cycles) {
@@
-233,7
+233,7
@@
void fio_gettime(struct timeval *tp, void fio_unused *caller)
static unsigned long get_cycles_per_usec(void)
{
struct timeval s, e;
static unsigned long get_cycles_per_usec(void)
{
struct timeval s, e;
- u
nsigned long long
c_s, c_e;
+ u
int64_t
c_s, c_e;
enum fio_cs old_cs = fio_clock_source;
#ifdef CONFIG_CLOCK_GETTIME
enum fio_cs old_cs = fio_clock_source;
#ifdef CONFIG_CLOCK_GETTIME
@@
-245,7
+245,7
@@
static unsigned long get_cycles_per_usec(void)
c_s = get_cpu_clock();
do {
c_s = get_cpu_clock();
do {
- u
nsigned long long
elapsed;
+ u
int64_t
elapsed;
__fio_gettime(&e);
__fio_gettime(&e);
@@
-265,7
+265,7
@@
static unsigned long get_cycles_per_usec(void)
static void calibrate_cpu_clock(void)
{
double delta, mean, S;
static void calibrate_cpu_clock(void)
{
double delta, mean, S;
- u
nsigned long
avg, cycles[NR_TIME_ITERS];
+ u
int64_t
avg, cycles[NR_TIME_ITERS];
int i, samples;
cycles[0] = get_cycles_per_usec();
int i, samples;
cycles[0] = get_cycles_per_usec();
@@
-429,9
+429,9
@@
uint64_t time_since_now(struct timeval *s)
#define CLOCK_ENTRIES 100000
struct clock_entry {
#define CLOCK_ENTRIES 100000
struct clock_entry {
- u
nsigned long
seq;
- u
nsigned long
tsc;
- u
nsigned long
cpu;
+ u
int64_t
seq;
+ u
int64_t
tsc;
+ u
int64_t
cpu;
};
struct clock_thread {
};
struct clock_thread {
@@
-504,6
+504,8
@@
int fio_monotonic_clocktest(void)
uint64_t seq = 0;
int i;
uint64_t seq = 0;
int i;
+ log_info("cs: reliable_tsc: %s\n", tsc_reliable ? "yes" : "no");
+
fio_debug |= 1U << FD_TIME;
calibrate_cpu_clock();
fio_debug &= ~(1U << FD_TIME);
fio_debug |= 1U << FD_TIME;
calibrate_cpu_clock();
fio_debug &= ~(1U << FD_TIME);