mirror of
https://github.com/clearlinux/graphene.git
synced 2026-09-08 14:51:32 +00:00
Plenty of bugfixes for Linux kernel later than 3.5 and Ubuntu later than 10.10. More organized code to improve portability. Regression tests for Pal to test completeness of implementation.
33 lines
968 B
C
33 lines
968 B
C
/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
|
|
/* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <sys/time.h>
|
|
|
|
#define OVERHEAD_TIMES 30000
|
|
|
|
int main (int argc, char ** argv, char ** envp)
|
|
{
|
|
struct timeval tv;
|
|
gettimeofday(&tv, NULL);
|
|
|
|
if (argc < 2)
|
|
return -1;
|
|
|
|
unsigned long long msec1 = atoll(argv[1]);
|
|
unsigned long long msec2 = tv.tv_sec * 1000000ULL + tv.tv_usec;
|
|
|
|
struct timeval tv1, tv2;
|
|
gettimeofday(&tv1, NULL);
|
|
for (int j = 0 ; j < OVERHEAD_TIMES ; j++)
|
|
gettimeofday(&tv, NULL);
|
|
gettimeofday(&tv2, NULL);
|
|
unsigned long long msec3 = tv1.tv_sec * 1000000ULL + tv1.tv_usec;
|
|
unsigned long long msec4 = tv2.tv_sec * 1000000ULL + tv2.tv_usec;
|
|
unsigned long long overhead = (msec4 - msec3) / OVERHEAD_TIMES;
|
|
|
|
printf("%llu\n", msec2 - msec1 - overhead);
|
|
return 0;
|
|
}
|