Skip to content

Commit

Permalink
powerpc/selftest: Add gettimeofday() benchmark
Browse files Browse the repository at this point in the history
This adds a benchmark directory to the powerpc selftests and adds a
gettimeofday() benchmark to it.

Suggested-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
  • Loading branch information
Michael Neuling authored and Michael Ellerman committed Oct 1, 2015
1 parent 26cd835 commit d17475d
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 1 deletion.
2 changes: 1 addition & 1 deletion tools/testing/selftests/powerpc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ CFLAGS := -Wall -O2 -flto -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CUR

export CFLAGS

SUB_DIRS = pmu copyloops mm tm primitives stringloops vphn switch_endian dscr
SUB_DIRS = pmu copyloops mm tm primitives stringloops vphn switch_endian dscr benchmarks

endif

Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/powerpc/benchmarks/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
gettimeofday
12 changes: 12 additions & 0 deletions tools/testing/selftests/powerpc/benchmarks/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
TEST_PROGS := gettimeofday

CFLAGS += -O2

all: $(TEST_PROGS)

$(TEST_PROGS): ../harness.c

include ../../lib.mk

clean:
rm -f $(TEST_PROGS) *.o
31 changes: 31 additions & 0 deletions tools/testing/selftests/powerpc/benchmarks/gettimeofday.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Copyright 2015, Anton Blanchard, IBM Corp.
* Licensed under GPLv2.
*/

#include <sys/time.h>
#include <stdio.h>

#include "utils.h"

static int test_gettimeofday(void)
{
int i;

struct timeval tv_start, tv_end;

gettimeofday(&tv_start, NULL);

for(i = 0; i < 100000000; i++) {
gettimeofday(&tv_end, NULL);
}

printf("time = %.6f\n", tv_end.tv_sec - tv_start.tv_sec + (tv_end.tv_usec - tv_start.tv_usec) * 1e-6);

return 0;
}

int main(void)
{
return test_harness(test_gettimeofday, "gettimeofday");
}

0 comments on commit d17475d

Please sign in to comment.