Changes in / [86601a5:5a96b36]
- File:
-
- 1 edited
-
tests/unified_locking/mutex_test.hfa (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/unified_locking/mutex_test.hfa
r86601a5 r5a96b36 22 22 } 23 23 24 uint32_t cs( uint32_t & entries) {24 uint32_t cs() { 25 25 thread$ * me = active_thread(); 26 26 uint32_t value; 27 27 lock(mo.l); 28 28 { 29 entries++;30 29 uint32_t tsum = mo.sum; 31 30 uint32_t cnt = mo.cnt; … … 43 42 thread LockCheck { 44 43 uint32_t sum; 45 uint32_t entries;46 44 }; 47 45 48 46 void main(LockCheck & this) { 49 47 this.sum = 0; 50 this.entries = 0;51 48 for(num_times) { 52 49 trash(); 53 this.sum += cs( this.entries);50 this.sum += cs(); 54 51 trash(); 55 52 yield(random(10)); … … 61 58 mo.sum = -32; 62 59 mo.cnt = 0; 63 uint32_t real_entries = 0;64 60 processor p[2]; 65 61 sout | "Starting"; … … 67 63 LockCheck checkers[13]; 68 64 for(i;13) { 69 LockCheck & curr = join(checkers[i]); 70 sum += curr.sum; 71 real_entries += curr.entries; 65 sum += join(checkers[i]).sum; 72 66 } 73 67 } 74 68 sout | "Done!"; 75 if(real_entries != (13 * num_times)) sout | "Invalid real cs count!" | mo.cnt | "vs "| (13 * num_times) | "(13 *" | num_times | ')'; 76 if(mo.cnt != (13 * num_times)) sout | "Invalid concurrent cs count!" | mo.cnt | "vs "| (13 * num_times) | "(13 *" | num_times | ')'; 69 if(mo.cnt != (13 * num_times)) sout | "Invalid cs count!" | mo.cnt | "vs "| (13 * num_times) | "(13 *" | num_times | ')'; 77 70 if(sum == mo.sum) sout | "Match!"; 78 71 else sout | "No Match!" | sum | "vs" | mo.sum;
Note:
See TracChangeset
for help on using the changeset viewer.