mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-05-03 10:37:52 +03:00
Enhance spin_adaptive() to yield after several iterations.
This avoids worst case behavior if e.g. another thread is preempted while owning the resource the spinning thread is waiting for.
This commit is contained in:
parent
5f11830754
commit
de8a68e853
3 changed files with 28 additions and 6 deletions
16
test/unit/spin.c
Normal file
16
test/unit/spin.c
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#include "test/jemalloc_test.h"
|
||||
|
||||
TEST_BEGIN(test_spin) {
|
||||
spin_t spinner = SPIN_INITIALIZER;
|
||||
|
||||
for (unsigned i = 0; i < 100; i++) {
|
||||
spin_adaptive(&spinner);
|
||||
}
|
||||
}
|
||||
TEST_END
|
||||
|
||||
int
|
||||
main(void) {
|
||||
return test(
|
||||
test_spin);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue