diff --git a/hermit/usr/benchmarks/Makefile b/hermit/usr/benchmarks/Makefile index c322054c4..1c97b247d 100644 --- a/hermit/usr/benchmarks/Makefile +++ b/hermit/usr/benchmarks/Makefile @@ -58,9 +58,13 @@ stream: stream.o $Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@ $Qchmod a-x $@.sym +basic.o: basic.c + @echo [CC] $@ + $Q$(CC_FOR_TARGET) -c $(CFLAGS_FOR_TARGET) -pthread -o $@ $< + basic: basic.o @echo [LD] $@ - $Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $< + $Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -pthread -o $@ $< $Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym $Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@ $Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@ diff --git a/hermit/usr/benchmarks/basic.c b/hermit/usr/benchmarks/basic.c index 5794226ad..4cfa7cfb3 100644 --- a/hermit/usr/benchmarks/basic.c +++ b/hermit/usr/benchmarks/basic.c @@ -34,26 +34,21 @@ #include #include #include -#ifndef __hermit__ #include +#ifndef __hermit__ #include static inline long mygetpid(void) { return syscall(__NR_getpid); } - -static inline void reschedule(void) -{ - sched_yield(); -} #else static inline long mygetpid(void) { return getpid(); } -void reschedule(void); +int sched_yield(void); #endif #define N 10000 @@ -93,12 +88,12 @@ int main(int argc, char** argv) printf("Average time for getpid: %lld cycles, pid %ld\n", (end - start) / N, ret); // cache warm-up - reschedule(); - reschedule(); + sched_yield(); + sched_yield(); start = rdtsc(); for(i=0; i