Changeset db4062d for src/tests/preempt_longrun
- Timestamp:
- Jun 20, 2018, 8:42:37 AM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, stuck-waitfor-destruct, with_gc
- Children:
- 4439008
- Parents:
- e04aec4 (diff), 270fdcf (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- src/tests/preempt_longrun
- Files:
-
- 1 added
- 8 edited
-
Makefile.am (modified) (3 diffs)
-
Makefile.in (modified) (4 diffs)
-
create.c (modified) (2 diffs)
-
enter.c (modified) (2 diffs)
-
enter3.c (modified) (2 diffs)
-
processor.c (modified) (2 diffs)
-
stack.c (modified) (2 diffs)
-
update-type (added)
-
yield.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/tests/preempt_longrun/Makefile.am
re04aec4 rdb4062d 19 19 preempt=10ul\`ms 20 20 debug=-debug 21 type=LONG 21 22 22 23 REPEAT = ${abs_top_srcdir}/tools/repeat 24 WATCHDOG = ${abs_top_srcdir}/tools/watchdog 23 25 TIME = /usr/bin/time -f "%E" 24 26 25 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -DLONG_TEST 27 # $(shell ./update-type $(type)) 28 # ./update-type $(type) 29 30 UPDATED_TYPE = $(shell ./update-type $(type)) 31 32 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -I.. -I. -DTEST_$(shell cat .type | tr a-z A-Z) 26 33 CFLAGS = ${BUILD_FLAGS} 27 34 CC = @CFA_BINDIR@/@CFA_NAME@ … … 29 36 TESTS = block coroutine create disjoint enter enter3 processor stack wait yield 30 37 31 .INTERMEDIATE: ${TESTS}38 # .INTERMEDIATE: ${TESTS} 32 39 33 40 all-local: ${TESTS:=.run} 34 41 42 runall : ${TESTS:=.run} 43 @ echo "All programs terminated normally" 44 45 watchall : ${TESTS:=.watch} 46 @ echo "All programs terminated normally" 47 48 compileall : ${TESTS} 49 @ echo "Compiled" 50 35 51 clean-local: 36 rm -f ${TESTS} core* out.log 52 rm -f ${TESTS} core* out.log .type 37 53 38 % : %.c ${CC} 54 % : %.c ${CC} ${UPDATED_TYPE} 39 55 ${AM_V_GEN}${CC} ${CFLAGS} ${<} $(debug) -o ${@} 40 56 41 57 %.run : % ${REPEAT} 42 58 @ time ${REPEAT} -r out.log -i -s $(repeats) timeout ${max_time} ./${<} 59 @ rm ${<} 60 @ echo -e "${<}: SUCCESS\n" 61 62 %.watch : % ${WATCHDOG} 63 @ time ${WATCHDOG} ./${<} 43 64 @ rm ${<} 44 65 @ echo -e "${<}: SUCCESS\n" … … 49 70 @ echo -e "${<}: SUCCESS\n" 50 71 51 ${REPEAT}: 72 ${REPEAT}: ${abs_top_srcdir}/tools/Makefile 52 73 @+make -C ${abs_top_srcdir}/tools/ 74 75 ${WATCHDOG}: ${abs_top_srcdir}/tools/Makefile 76 @+make -C ${abs_top_srcdir}/tools/ -
src/tests/preempt_longrun/Makefile.in
re04aec4 rdb4062d 452 452 preempt = 10ul\`ms 453 453 debug = -debug 454 type = LONG 454 455 REPEAT = ${abs_top_srcdir}/tools/repeat 456 WATCHDOG = ${abs_top_srcdir}/tools/watchdog 455 457 TIME = /usr/bin/time -f "%E" 456 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -DLONG_TEST 458 459 # $(shell ./update-type $(type)) 460 # ./update-type $(type) 461 UPDATED_TYPE = $(shell ./update-type $(type)) 462 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -I.. -I. -DTEST_$(shell cat .type | tr a-z A-Z) 457 463 TESTS = block coroutine create disjoint enter enter3 processor stack wait yield 458 464 all: all-am … … 873 879 874 880 875 .INTERMEDIATE: ${TESTS}881 # .INTERMEDIATE: ${TESTS} 876 882 877 883 all-local: ${TESTS:=.run} 878 884 885 runall : ${TESTS:=.run} 886 @ echo "All programs terminated normally" 887 888 watchall : ${TESTS:=.watch} 889 @ echo "All programs terminated normally" 890 891 compileall : ${TESTS} 892 @ echo "Compiled" 893 879 894 clean-local: 880 rm -f ${TESTS} core* out.log 881 882 % : %.c ${CC} 895 rm -f ${TESTS} core* out.log .type 896 897 % : %.c ${CC} ${UPDATED_TYPE} 883 898 ${AM_V_GEN}${CC} ${CFLAGS} ${<} $(debug) -o ${@} 884 899 … … 888 903 @ echo -e "${<}: SUCCESS\n" 889 904 905 %.watch : % ${WATCHDOG} 906 @ time ${WATCHDOG} ./${<} 907 @ rm ${<} 908 @ echo -e "${<}: SUCCESS\n" 909 890 910 %.time : % ${REPEAT} 891 911 @ ${REPEAT} -i -s -- $(repeats) $(TIME) -a -o times.log ./${<} … … 893 913 @ echo -e "${<}: SUCCESS\n" 894 914 895 ${REPEAT}: 915 ${REPEAT}: ${abs_top_srcdir}/tools/Makefile 916 @+make -C ${abs_top_srcdir}/tools/ 917 918 ${WATCHDOG}: ${abs_top_srcdir}/tools/Makefile 896 919 @+make -C ${abs_top_srcdir}/tools/ 897 920 -
src/tests/preempt_longrun/create.c
re04aec4 rdb4062d 2 2 #include <thread> 3 3 #include <time> 4 5 #include "long_tests.h" 4 6 5 7 #ifndef PREEMPTION_RATE … … 19 21 int main(int argc, char* argv[]) { 20 22 processor p; 21 for(int i = 0; i < N; i++) {23 for(int i = 0; TEST(i < N); i++) { 22 24 worker_t w[7]; 25 KICK_WATCHDOG; 23 26 } 24 27 } -
src/tests/preempt_longrun/enter.c
re04aec4 rdb4062d 3 3 #include <thread> 4 4 #include <time> 5 6 #define __kick_rate 75000ul 7 #include "long_tests.h" 5 8 6 9 #ifndef PREEMPTION_RATE … … 15 18 16 19 monitor mon_t {}; 17 void foo( mon_t & mutex this ) {} 20 void foo( mon_t & mutex this ) { 21 KICK_WATCHDOG; 22 } 18 23 19 24 mon_t mon; 20 25 thread worker_t {}; 21 26 void main( worker_t & this ) { 22 for( unsigned long i = 0; i < N; i++ ) {27 for( unsigned long i = 0; TEST(i < N); i++ ) { 23 28 foo( mon ); 24 29 } -
src/tests/preempt_longrun/enter3.c
re04aec4 rdb4062d 3 3 #include <thread> 4 4 #include <time> 5 6 #define __kick_rate 75000ul 7 #include "long_tests.h" 5 8 6 9 #ifndef PREEMPTION_RATE … … 18 21 mon_t mon1, mon2, mon3; 19 22 20 void foo( mon_t & mutex a, mon_t & mutex b, mon_t & mutex c ) {} 23 void foo( mon_t & mutex a, mon_t & mutex b, mon_t & mutex c ) { 24 KICK_WATCHDOG; 25 } 21 26 22 27 thread worker_t {}; 23 28 24 29 void main( worker_t & this ) { 25 for( unsigned long i = 0; i < N; i++ ) {30 for( unsigned long i = 0; TEST(i < N); i++ ) { 26 31 foo( mon1, mon2, mon3 ); 27 32 } -
src/tests/preempt_longrun/processor.c
re04aec4 rdb4062d 4 4 5 5 #include <unistd.h> 6 7 #include "long_tests.h" 6 8 7 9 #ifndef PREEMPTION_RATE … … 17 19 int main(int argc, char* argv[]) { 18 20 processor * p[15]; 19 write(STDOUT_FILENO, "Preparing\n", sizeof("Preparing\n"));20 21 for ( int pi = 0; pi < 15; pi++ ) { 21 22 p[pi] = new(); 22 23 } 23 write(STDOUT_FILENO, "Starting\n", sizeof("Starting\n")); 24 for ( int i = 0; i < N; i++) { 24 for ( int i = 0; TEST(i < N); i++) { 25 25 int pi = i % 15; 26 26 delete( p[pi] ); 27 27 p[pi] = new(); 28 KICK_WATCHDOG; 28 29 } 29 write(STDOUT_FILENO, "Stopping\n", sizeof("Stopping\n"));30 30 for ( int pi = 0; pi < 15; pi++ ) { 31 31 delete( p[pi] ); 32 32 } 33 write(STDOUT_FILENO, "Done\n", sizeof("Done\n"));34 33 } -
src/tests/preempt_longrun/stack.c
re04aec4 rdb4062d 3 3 #include <thread> 4 4 #include <time> 5 6 #define __kick_rate 5000000ul 7 #include "long_tests.h" 5 8 6 9 #ifndef PREEMPTION_RATE … … 15 18 16 19 void main(worker_t & this) { 17 volatile long long p = 5_021_609ul; 18 volatile long long a = 326_417ul; 19 volatile long long n = 1l; 20 for (volatile long long i = 0; i < p; i++) { 21 n *= a; 22 n %= p; 23 } 20 while(TEST(0)) { 21 volatile long long p = 5_021_609ul; 22 volatile long long a = 326_417ul; 23 volatile long long n = 1l; 24 for (volatile long long i = 0; i < p; i++) { 25 n *= a; 26 n %= p; 27 KICK_WATCHDOG; 28 } 24 29 25 if( n != a ) { 26 abort(); 30 if( !TEST(n == a) ) { 31 abort(); 32 } 27 33 } 28 34 } -
src/tests/preempt_longrun/yield.c
re04aec4 rdb4062d 2 2 #include <thread> 3 3 #include <time> 4 5 #define __kick_rate 550000ul 6 #include "long_tests.h" 4 7 5 8 #ifndef PREEMPTION_RATE … … 11 14 } 12 15 13 #ifdef LONG_TEST16 #ifdef TEST_LONG 14 17 static const unsigned long N = 9_750_000ul; 15 18 #else … … 20 23 21 24 void main(worker_t & this) { 22 for(int i = 0; i < N; i++) {25 for(int i = 0; TEST(i < N); i++) { 23 26 yield(); 27 KICK_WATCHDOG; 24 28 } 25 29 }
Note:
See TracChangeset
for help on using the changeset viewer.