Commit 86450f20 authored by Michael Ellerman's avatar Michael Ellerman Committed by Benjamin Herrenschmidt

selftests/powerpc: Count instructions under scheduler pressure

Have a task eat some cpu while we are counting instructions to create
some scheduler pressure. The idea being to try and unearth any bugs we
have in counting that only appear when context switching is happening.
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 1feaa87c
...@@ -2,7 +2,7 @@ noarg: ...@@ -2,7 +2,7 @@ noarg:
$(MAKE) -C ../ $(MAKE) -C ../
PROGS := count_instructions l3_bank_test PROGS := count_instructions l3_bank_test
EXTRA_SOURCES := ../harness.c event.c EXTRA_SOURCES := ../harness.c event.c lib.c
SUB_TARGETS = ebb SUB_TARGETS = ebb
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "event.h" #include "event.h"
#include "utils.h" #include "utils.h"
#include "lib.h"
extern void thirty_two_instruction_loop(u64 loops); extern void thirty_two_instruction_loop(u64 loops);
...@@ -90,7 +91,7 @@ static u64 determine_overhead(struct event *events) ...@@ -90,7 +91,7 @@ static u64 determine_overhead(struct event *events)
return overhead; return overhead;
} }
static int count_instructions(void) static int test_body(void)
{ {
struct event events[2]; struct event events[2];
u64 overhead; u64 overhead;
...@@ -129,6 +130,11 @@ static int count_instructions(void) ...@@ -129,6 +130,11 @@ static int count_instructions(void)
return 0; return 0;
} }
static int count_instructions(void)
{
return eat_cpu(test_body);
}
int main(void) int main(void)
{ {
return test_harness(count_instructions, "count_instructions"); return test_harness(count_instructions, "count_instructions");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment