summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@amacapital.net>2014-05-02 11:54:05 -0700
committerAndy Lutomirski <luto@amacapital.net>2014-05-02 11:54:05 -0700
commit72bd0ed03a01c4319b4152c825ff3c9a6cb6492d (patch)
tree82091bf57bc22bd7b9afa62fc2c32295080d75ae
parenta148e717b8287d11620f32059474b4ab123a594f (diff)
downloadmisc-tests-72bd0ed03a01c4319b4152c825ff3c9a6cb6492d.tar.gz
Improve kernel_pf
-rw-r--r--kernel_pf.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/kernel_pf.c b/kernel_pf.c
index 0e0d5d6..20f9784 100644
--- a/kernel_pf.c
+++ b/kernel_pf.c
@@ -17,30 +17,21 @@ static uint64_t faults = 0;
static void iter(void)
{
- void *addr = mmap(NULL, NPAGES * PAGE_SIZE, PROT_READ|PROT_WRITE,
- MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
- if (addr == MAP_FAILED)
- err(1, "mmap");
-
- for (int i = 0; i < NPAGES; i++)
- clock_getres(CLOCK_REALTIME, addr + i * PAGE_SIZE);
-
- munmap(addr, NPAGES * PAGE_SIZE);
-
- faults += NPAGES;
+ clock_getres(CLOCK_REALTIME, (void *)8);
+ faults++;
}
int main(int argc, char **argv)
{
// Warm up
- for (int i = 0; i < 1000; i++)
+ for (int i = 0; i < 1000000; i++)
iter();
faults = 0;
struct timespec start;
clock_gettime(CLOCK_MONOTONIC, &start);
- for (int i = 0; i < 1000; i++)
+ for (int i = 0; i < 1000000; i++)
iter();
struct timespec end;