Changeset da7fe39 for src/tests/concurrent
- Timestamp:
- Apr 23, 2018, 12:57:46 PM (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, with_gc
- Children:
- 57acae0
- Parents:
- ba89e9b7 (diff), c8ad5d9 (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/concurrent
- Files:
-
- 4 added
- 2 deleted
- 8 edited
-
.expect/preempt.txt (modified) (1 diff)
-
examples/.expect/boundedBuffer.txt (deleted)
-
examples/.expect/boundedBufferEXT.txt (added)
-
examples/.expect/boundedBufferINT.txt (added)
-
examples/boundedBuffer.c (deleted)
-
examples/boundedBufferEXT.c (added)
-
examples/boundedBufferINT.c (added)
-
examples/datingService.c (modified) (2 diffs)
-
preempt.c (modified) (2 diffs)
-
signal/barge.c (modified) (1 diff)
-
signal/block.c (modified) (6 diffs)
-
signal/disjoint.c (modified) (2 diffs)
-
signal/wait.c (modified) (2 diffs)
-
waitfor/simple.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/tests/concurrent/.expect/preempt.txt
rba89e9b7 rda7fe39 4 4 400 5 5 500 6 6007 7008 8009 90010 1000 -
src/tests/concurrent/examples/datingService.c
rba89e9b7 rda7fe39 8 8 // Created On : Mon Oct 30 12:56:20 2017 9 9 // Last Modified By : Peter A. Buhr 10 // Last Modified On : Tue Jan 2 12:19:01201811 // Update Count : 2 210 // Last Modified On : Wed Mar 14 22:48:40 2018 11 // Update Count : 23 12 12 // 13 13 … … 88 88 int main() { 89 89 DatingService TheExchange; 90 Girl * girls[NoOfPairs];91 Boy * boys[NoOfPairs];90 Girl * girls[NoOfPairs]; 91 Boy * boys[NoOfPairs]; 92 92 93 93 srandom( /*getpid()*/ 103 ); -
src/tests/concurrent/preempt.c
rba89e9b7 rda7fe39 1 1 #include <kernel> 2 2 #include <thread> 3 #include <time> 3 4 4 5 #ifndef PREEMPTION_RATE 5 #define PREEMPTION_RATE 10 _000ul6 #define PREEMPTION_RATE 10`ms 6 7 #endif 7 8 8 unsigned intdefault_preemption() {9 Duration default_preemption() { 9 10 return PREEMPTION_RATE; 10 11 } 12 13 #ifdef LONG_TEST 14 static const unsigned long N = 30_000ul; 15 #else 16 static const unsigned long N = 500ul; 17 #endif 11 18 12 19 static volatile int counter = 0; … … 21 28 22 29 void main(worker_t & this) { 23 while(counter < 1000) {30 while(counter < N) { 24 31 if( (counter % 7) == this.value ) { 25 32 int next = __atomic_add_fetch_4(&counter, 1, __ATOMIC_SEQ_CST); -
src/tests/concurrent/signal/barge.c
rba89e9b7 rda7fe39 16 16 17 17 #ifndef PREEMPTION_RATE 18 #define PREEMPTION_RATE 10 _000ul18 #define PREEMPTION_RATE 10`ms 19 19 #endif 20 20 21 unsigned intdefault_preemption() {21 Duration default_preemption() { 22 22 return 0; 23 23 } -
src/tests/concurrent/signal/block.c
rba89e9b7 rda7fe39 12 12 #include <stdlib> 13 13 #include <thread> 14 15 #include <time.h> 14 #include <time> 16 15 17 16 #ifdef LONG_TEST … … 22 21 23 22 #ifndef PREEMPTION_RATE 24 #define PREEMPTION_RATE 10 _000ul23 #define PREEMPTION_RATE 10`ms 25 24 #endif 26 25 27 unsigned intdefault_preemption() {26 Duration default_preemption() { 28 27 return PREEMPTION_RATE; 29 28 } … … 51 50 //------------------------------------------------------------------------------ 52 51 void wait_op( global_data_t & mutex a, global_data_t & mutex b, unsigned i ) { 53 wait( cond, (uintptr_t)this_thread);52 wait( cond, (uintptr_t)active_thread() ); 54 53 55 54 yield( random( 10 ) ); … … 60 59 } 61 60 62 a.last_thread = b.last_thread = this_thread;61 a.last_thread = b.last_thread = active_thread(); 63 62 64 63 yield( random( 10 ) ); … … 76 75 yield( random( 10 ) ); 77 76 78 [a.last_thread, b.last_thread, a.last_signaller, b.last_signaller] = this_thread;77 [a.last_thread, b.last_thread, a.last_signaller, b.last_signaller] = active_thread(); 79 78 80 79 if( !is_empty( cond ) ) { … … 106 105 //------------------------------------------------------------------------------ 107 106 void barge_op( global_data_t & mutex a ) { 108 a.last_thread = this_thread;107 a.last_thread = active_thread(); 109 108 } 110 109 -
src/tests/concurrent/signal/disjoint.c
rba89e9b7 rda7fe39 3 3 #include <monitor> 4 4 #include <thread> 5 6 #include <time.h> 5 #include <time> 7 6 8 7 #ifdef LONG_TEST … … 13 12 14 13 #ifndef PREEMPTION_RATE 15 #define PREEMPTION_RATE 10 _000ul14 #define PREEMPTION_RATE 10`ms 16 15 #endif 17 16 18 unsigned intdefault_preemption() {17 Duration default_preemption() { 19 18 return PREEMPTION_RATE; 20 19 } -
src/tests/concurrent/signal/wait.c
rba89e9b7 rda7fe39 10 10 #include <stdlib> 11 11 #include <thread> 12 13 #include <time.h> 12 #include <time> 14 13 15 14 #ifdef LONG_TEST … … 20 19 21 20 #ifndef PREEMPTION_RATE 22 #define PREEMPTION_RATE 10 _000ul21 #define PREEMPTION_RATE 10`ms 23 22 #endif 24 23 25 unsigned intdefault_preemption() {24 Duration default_preemption() { 26 25 return PREEMPTION_RATE; 27 26 } -
src/tests/concurrent/waitfor/simple.c
rba89e9b7 rda7fe39 10 10 11 11 #ifndef PREEMPTION_RATE 12 #define PREEMPTION_RATE 10 _000ul12 #define PREEMPTION_RATE 10`ms 13 13 #endif 14 14 15 unsigned intdefault_preemption() {15 Duration default_preemption() { 16 16 return PREEMPTION_RATE; 17 17 }
Note:
See TracChangeset
for help on using the changeset viewer.