/freebsd/share/man/man9/ |
H A D | mtx_pool.9 | 63 Mutex pools are designed to be used as short term leaf mutexes; 66 They operate using a shared pool of mutexes. 72 The shared mutexes in the 77 blockable mutexes, and should only be used in appropriate situations. 78 The mutexes in the 82 Other mutex pools may be created that contain mutexes with different 83 properties, such as spin mutexes. 85 The caller can lock and unlock mutexes returned by the pool routines, but 86 since the mutexes are shared, the caller should not attempt to destroy them 88 While pool mutexes are normally leaf mutexes [all …]
|
H A D | locking.9 | 37 .Ss Mutexes 38 Mutexes (also called "blocking mutexes") are the most commonly used 43 Mutexes are adaptive by default, meaning that 47 Mutexes fully support priority propagation. 52 .Ss Spin Mutexes 53 Spin mutexes are a variation of basic mutexes; the main difference between 54 the two is that spin mutexes never block. 57 Unlike ordinary mutexes, spin mutexes disable interrupts when acquired. 60 Spin mutexes should be used only when absolutely necessary, 67 With most synchronization primitives, such as mutexes, the programmer must [all …]
|
H A D | mutex.9 | 104 Mutexes are the most basic and primary method of thread synchronization. 105 The major design considerations for mutexes are: 108 Acquiring and releasing uncontested mutexes should be as cheap 118 There are currently two flavors of mutexes, those that context switch 123 mutexes will context switch when they are already held. 131 Mutexes which do not context switch are 133 mutexes. 143 It is permissible to hold multiple spin mutexes. 433 that implement other synchronization primitives such as default mutexes, 449 Default mutexes [all …]
|
H A D | critical_enter.9 | 73 Also, they should not be interlocked with operations on mutexes, sx locks, 76 One exception to this is that spin mutexes include a critical section, 77 so in certain cases critical sections may be interlocked with spin mutexes.
|
H A D | sema.9 | 61 Unlike mutexes, semaphores do not have the concept of an owner, so they can also 69 Semaphores should not be used where mutexes and condition variables 71 Semaphores are a more complex synchronization mechanism than mutexes and
|
H A D | BUS_SETUP_INTR.9 | 126 Mutexes are not allowed to be held across calls to these functions. 129 In this context, normal mutexes cannot be used.
|
H A D | epoch.9 | 105 By default mutexes cannot be held across 114 Permit holding mutexes across
|
/freebsd/contrib/llvm-project/compiler-rt/lib/tsan/rtl/ |
H A D | tsan_report.cpp | 37 , mutexes() in ReportDesc() 123 Printf(" (mutexes:"); in PrintMutexSet() 269 if (rep->mutexes.Size()) in ChooseSummaryStack() 270 return rep->mutexes[0]->stack; in ChooseSummaryStack() 297 for (uptr i = 0; i < rep->mutexes.Size(); i++) in PrintReport() 298 PrintMutexShortWithAddress(rep->mutexes[i], " => "); in PrintReport() 299 PrintMutexShort(rep->mutexes[0], "\n\n"); in PrintReport() 300 CHECK_GT(rep->mutexes.Size(), 0U); in PrintReport() 301 CHECK_EQ(rep->mutexes.Size() * (flags()->second_deadlock_stack ? 2 : 1), in PrintReport() 303 for (uptr i = 0; i < rep->mutexes in PrintReport() [all...] |
H A D | tsan_mutexset.h | 11 // MutexSet holds the set of mutexes currently held by a thread. 22 // Holds limited number of mutexes. 23 // The oldest mutexes are discarded on overflow. 75 // Go does not have mutexes, so do not spend memory and time.
|
H A D | tsan_debugging.cpp | 85 *mutex_count = rep->mutexes.Size(); in __tsan_get_report_data() 158 CHECK_LT(idx, rep->mutexes.Size()); in __tsan_get_report_mutex() 159 ReportMutex *mutex = rep->mutexes[idx]; in __tsan_get_report_mutex()
|
/freebsd/contrib/jemalloc/include/jemalloc/internal/ |
H A D | mutex_pool.h | 13 malloc_mutex_t mutexes[MUTEX_POOL_SIZE]; member 23 return &pool->mutexes[hash_result[0] % MUTEX_POOL_SIZE]; in mutex_pool_mutex() 29 malloc_mutex_assert_not_owner(tsdn, &pool->mutexes[i]); in mutex_pool_assert_not_held() 35 * You're not allowed to acquire mutexes in the pool one at a time. You have to 36 * acquire all the mutexes you'll need in a single function call, and then
|
H A D | prof_types.h | 37 * Number of mutexes shared among all gctx's. No space is allocated for these 43 * Number of mutexes shared among all tdata's. No space is allocated for these
|
/freebsd/sys/kern/ |
H A D | kern_mtxpool.c | 29 * term leaf mutexes (e.g. the last mutex you might acquire other then 35 * - no structural overhead. Mutexes can be associated with structures 37 * - mutexes can be obtained for invalid pointers, useful when uses 38 * mutexes to interlock destructor ops. 43 * - should generally only be used as leaf mutexes. 94 * you cannot obtain any other mutexes until you release it. You can 167 * mutexes until you release it. You can legally msleep() on the mutex.
|
/freebsd/lib/libsys/ |
H A D | _umtx_op.2 | 50 pthread locks, like mutexes, condition variables and so on. 130 In the manual page, mutexes not having 134 flags set, are called normal mutexes. 140 For priority protected mutexes, the 435 one for simple wait requests, mutexes, rwlocks, condvars and other 446 robust mutexes. 451 On thread termination, the kernel walks two lists of mutexes. 997 priority inherited protocol mutexes. 1048 Only normal mutexes are supported by the request. 1053 since mutexes using it cannot synchronize their own destruction. [all …]
|
/freebsd/contrib/llvm-project/compiler-rt/lib/sanitizer_common/ |
H A D | sanitizer_mutex.h | 86 // Each tool own mutexes must start at this number. 88 // Type for legacy mutexes that are not checked for deadlocks. 91 // The leaf mutexes can be locked under any other non-leaf mutex, 94 // Multiple mutexes of this type can be locked at the same time. 110 // The table fixes what mutexes can be locked under what mutexes. 139 // Checks that the current thread does not hold any mutexes
|
H A D | sanitizer_mutex.cpp | 61 // unnecessary (we almost never lock multiple mutexes of the same type recursively). 67 // Adjacency matrix of what mutexes can be locked under what mutexes. 104 // Add leaf mutexes. in DebugMutexInit()
|
/freebsd/lib/libthr/ |
H A D | libthr.3 | 218 The maximal number of robust mutexes allowed for one thread. 219 The kernel will not unlock more mutexes than specified, see 225 mutexes unlock was prematurely aborted after detecting some inconsistency, 286 The internal allocator for mutexes is used to avoid bootstrap issues 289 implementations which need working mutexes to function.
|
/freebsd/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/ |
H A D | vts_many_threads_bench.cpp | 43 Mutex mutexes[kNumMutexes]; variable 64 mutexes[(offset + i) % kNumMutexes].Lock(); in Thread() 65 mutexes[(offset + i) % kNumMutexes].Unlock(); in Thread()
|
/freebsd/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/TSan/ |
H A D | InstrumentationRuntimeTSan.cpp | 144 } mutexes[REPORT_ARRAY_SIZE]; 191 t.mutexes[i].idx = i; 192 …_tsan_get_report_mutex(t.report, i, &t.mutexes[i].mutex_id, &t.mutexes[i].addr, &t.mutexes[i].dest… 428 StructuredData::ArraySP mutexes = ConvertToStructuredArray( in RetrieveReportData() local 429 main_value, ".mutexes", ".mutex_count", in RetrieveReportData() 445 dict->AddItem("mutexes", mutexes); in RetrieveReportData() 1002 if (path == "mutexes") { in GenerateThreadName() 1068 AddThreadsForPath("mutexes", threads, process_sp, info); in GetBacktracesFromExtendedStopInfo()
|
/freebsd/sys/sys/ |
H A D | _mutex.h | 54 * mtx_padalign mutexes can use the mtx(9) API transparently without 56 * Pad-aligned mutexes used within structures should generally be the
|
/freebsd/lib/libc/tests/stdlib/ |
H A D | dynthr_test.c | 48 * uses calloc to initialize pthread mutexes, and jemalloc uses pthread mutexes.
|
/freebsd/lib/libc/stdlib/malloc/jemalloc/ |
H A D | jemalloc.3 | 1774 stats\&.mutexes\&.ctl\&.{counter}; (\fBcounter specific type\fR) r\- [\fB\-\-enable\-stats\fR] 1806 stats\&.mutexes\&.background_thread\&.{counter} (\fBcounter specific type\fR) r\- [\fB\-\-enable\-s… 1818 stats\&.mutexes\&.prof\&.{counter} (\fBcounter specific type\fR) r\- [\fB\-\-enable\-stats\fR] 1828 stats\&.mutexes\&.reset (\fBvoid\fR) \-\- [\fB\-\-enable\-stats\fR] 1830 Reset all mutex profile statistics, including global mutexes, arena mutexes and bin mutexes\&. 2129 stats\&.arenas\&.<i>\&.mutexes\&.large\&.{counter} (\fBcounter specific type\fR) r\- [\fB\-\-enable… 2139 stats\&.arenas\&.<i>\&.mutexes\&.extent_avail\&.{counter} (\fBcounter specific type\fR) r\- [\fB\-\… 2149 stats\&.arenas\&.<i>\&.mutexes\&.extents_dirty\&.{counter} (\fBcounter specific type\fR) r\- [\fB\-… 2159 stats\&.arenas\&.<i>\&.mutexes\&.extents_muzzy\&.{counter} (\fBcounter specific type\fR) r\- [\fB\-… 2169 stats\&.arenas\&.<i>\&.mutexes\&.extents_retained\&.{counter} (\fBcounter specific type\fR) r\- [\f… [all …]
|
/freebsd/share/man/man4/ |
H A D | witness.4 | 99 code can also be configured to skip all checks on spin mutexes. 108 If the variable is set to a non-zero value, then spin mutexes are skipped.
|
/freebsd/share/man/man3/ |
H A D | pthread_mutexattr.3 | 116 function specifies the protocol to be followed in utilizing mutexes. 155 for details of the implementation of the shared mutexes,
|
/freebsd/contrib/netbsd-tests/lib/libpthread/ |
H A D | t_mutex.c | 103 atf_tc_set_md_var(tc, "descr", "Checks mutexes"); in ATF_TC_HEAD() 178 atf_tc_set_md_var(tc, "descr", "Checks mutexes"); in ATF_TC_HEAD() 296 atf_tc_set_md_var(tc, "descr", "Checks mutexes using a static " in ATF_TC_HEAD() 400 atf_tc_set_md_var(tc, "descr", "Checks mutexes"); in ATF_TC_HEAD() 474 atf_tc_set_md_var(tc, "descr", "Checks mutexes for priority setting"); in ATF_TC_HEAD()
|