diff options
author | Andy Lutomirski <luto@amacapital.net> | 2014-05-02 11:54:05 -0700 |
---|---|---|
committer | Andy Lutomirski <luto@amacapital.net> | 2014-05-02 11:54:05 -0700 |
commit | 72bd0ed03a01c4319b4152c825ff3c9a6cb6492d (patch) | |
tree | 82091bf57bc22bd7b9afa62fc2c32295080d75ae | |
parent | a148e717b8287d11620f32059474b4ab123a594f (diff) | |
download | misc-tests-72bd0ed03a01c4319b4152c825ff3c9a6cb6492d.tar.gz |
Improve kernel_pf
-rw-r--r-- | kernel_pf.c | 17 |
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; |