EXP: Add sched_yield() after every unlock

This commit is contained in:
Ondřej Surý
2025-03-04 15:43:28 +01:00
parent 6320586df0
commit b9318486a6
3 changed files with 4 additions and 1 deletions

View File

@@ -33,6 +33,7 @@
#define UNLOCK(lp) \
{ \
isc_mutex_unlock((lp)); \
sched_yield(); \
ISC_UTIL_TRACE(fprintf(stderr, "UNLOCKED %p %s %d\n", (lp), \
__FILE__, __LINE__)); \
}

View File

@@ -36,9 +36,10 @@ typedef enum {
}
#define RWUNLOCK(lp, t) \
{ \
isc_rwlock_unlock((lp), (t)); \
sched_yield(); \
ISC_UTIL_TRACE(fprintf(stderr, "RWUNLOCK %p, %d %s %d\n", \
(lp), (t), __FILE__, __LINE__)); \
isc_rwlock_unlock((lp), (t)); \
}
#define RDLOCK(lp) RWLOCK(lp, isc_rwlocktype_read)

View File

@@ -32,6 +32,7 @@
#define SPINUNLOCK(sp) \
{ \
isc_spinlock_unlock((sp)); \
sched_yield(); \
ISC_UTIL_TRACE(fprintf(stderr, "SPINUNLOCKED %p %s %d\n", \
(sp), __FILE__, __LINE__)); \
}