Changeset 32d2e60 in mainline
- Timestamp:
- 2012-12-04T15:54:40Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b7acf38
- Parents:
- d54b303
- Location:
- uspace
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/rcubench/rcubench.c
rd54b303 r32d2e60 79 79 } 80 80 81 81 82 static void kernel_futex_bench(bench_t *bench) 82 83 { … … 136 137 137 138 /* Signal another thread completed. */ 138 futex_up(&bench->done_threads);139 _futex_up(&bench->done_threads); 139 140 } 140 141 … … 170 171 /* Wait for threads to complete. */ 171 172 for (size_t k = 0; k < bench->nthreads; ++k) { 172 futex_down(&bench->done_threads);173 _futex_down(&bench->done_threads); 173 174 } 174 175 } -
uspace/lib/c/generic/futex.c
rd54b303 r32d2e60 36 36 #include <atomic.h> 37 37 38 38 39 /** Initialize futex counter. 39 40 * … … 50 51 #ifdef FUTEX_UPGRADABLE 51 52 52 int _upgrade_futex = 0;53 int _upgrade_futexes = 0; 53 54 static futex_t upg_and_wait_futex = FUTEX_INITIALIZER; 54 55 … … 57 58 _futex_down(&upg_and_wait_futex); 58 59 59 if (!_upgrade_futex ) {60 rcu_assign(_upgrade_futex , 1);61 rcu_synchronize();60 if (!_upgrade_futexes) { 61 rcu_assign(_upgrade_futexes, 1); 62 _rcu_synchronize(BM_BLOCK_THREAD); 62 63 } 63 64 -
uspace/lib/c/include/futex.h
rd54b303 r32d2e60 53 53 #include <rcu.h> 54 54 55 #define FUTEX_INITIALIZE(val) {{ (val)}, {0}}55 #define FUTEX_INITIALIZE(val) {{ (val) }, 0} 56 56 57 57 #define futex_down(fut) \ … … 94 94 #else 95 95 96 #define FUTEX_INITIALIZE(val) {{ (val)}}96 #define FUTEX_INITIALIZE(val) {{ (val) }} 97 97 98 98 #define futex_down(fut) (void)_futex_down((fut)) -
uspace/lib/urcu/rcu.c
rd54b303 r32d2e60 223 223 { 224 224 assert(fibril_rcu.registered); 225 /* assert(rcu_read_locked()); */ 225 226 226 227 /* Required by MB_FORCE_U */
Note:
See TracChangeset
for help on using the changeset viewer.