Fix for ifdef rather than if in SPINLOCK_PROFILE
This commit is contained in:
@ -40,7 +40,7 @@ void
|
|||||||
spinlock_init(SPINLOCK *lock)
|
spinlock_init(SPINLOCK *lock)
|
||||||
{
|
{
|
||||||
lock->lock = 0;
|
lock->lock = 0;
|
||||||
#ifdef SPINLOCK_PROFILE
|
#if SPINLOCK_PROFILE
|
||||||
lock->spins = 0;
|
lock->spins = 0;
|
||||||
lock->acquired = 0;
|
lock->acquired = 0;
|
||||||
lock->waiting = 0;
|
lock->waiting = 0;
|
||||||
@ -57,7 +57,7 @@ spinlock_init(SPINLOCK *lock)
|
|||||||
void
|
void
|
||||||
spinlock_acquire(SPINLOCK *lock)
|
spinlock_acquire(SPINLOCK *lock)
|
||||||
{
|
{
|
||||||
#ifdef SPINLOCK_PROFILE
|
#if SPINLOCK_PROFILE
|
||||||
int spins = 0;
|
int spins = 0;
|
||||||
|
|
||||||
atomic_add(&(lock->waiting), 1);
|
atomic_add(&(lock->waiting), 1);
|
||||||
@ -65,12 +65,12 @@ int spins = 0;
|
|||||||
while (atomic_add(&(lock->lock), 1) != 0)
|
while (atomic_add(&(lock->lock), 1) != 0)
|
||||||
{
|
{
|
||||||
atomic_add(&(lock->lock), -1);
|
atomic_add(&(lock->lock), -1);
|
||||||
#ifdef SPINLOCK_PROFILE
|
#if SPINLOCK_PROFILE
|
||||||
atomic_add(&(lock->spins), 1);
|
atomic_add(&(lock->spins), 1);
|
||||||
spins++;
|
spins++;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifdef SPINLOCK_PROFILE
|
#if SPINLOCK_PROFILE
|
||||||
if (spins)
|
if (spins)
|
||||||
{
|
{
|
||||||
lock->contended++;
|
lock->contended++;
|
||||||
@ -97,7 +97,7 @@ spinlock_acquire_nowait(SPINLOCK *lock)
|
|||||||
atomic_add(&(lock->lock), -1);
|
atomic_add(&(lock->lock), -1);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
#ifdef SPINLOCK_PROFILE
|
#if SPINLOCK_PROFILE
|
||||||
lock->acquired++;
|
lock->acquired++;
|
||||||
lock->owner = THREAD_SHELF();
|
lock->owner = THREAD_SHELF();
|
||||||
#endif
|
#endif
|
||||||
@ -112,7 +112,7 @@ spinlock_acquire_nowait(SPINLOCK *lock)
|
|||||||
void
|
void
|
||||||
spinlock_release(SPINLOCK *lock)
|
spinlock_release(SPINLOCK *lock)
|
||||||
{
|
{
|
||||||
#ifdef SPINLOCK_PROFILE
|
#if SPINLOCK_PROFILE
|
||||||
if (lock->waiting > lock->max_waiting)
|
if (lock->waiting > lock->max_waiting)
|
||||||
lock->max_waiting = lock->waiting;
|
lock->max_waiting = lock->waiting;
|
||||||
#endif
|
#endif
|
||||||
@ -135,7 +135,7 @@ spinlock_release(SPINLOCK *lock)
|
|||||||
void
|
void
|
||||||
spinlock_stats(SPINLOCK *lock, void (*reporter)(void *, char *, int), void *hdl)
|
spinlock_stats(SPINLOCK *lock, void (*reporter)(void *, char *, int), void *hdl)
|
||||||
{
|
{
|
||||||
#ifdef SPINLOCK_PROFILE
|
#if SPINLOCK_PROFILE
|
||||||
reporter(hdl, "Spinlock acquired", lock->acquired);
|
reporter(hdl, "Spinlock acquired", lock->acquired);
|
||||||
if (lock->acquired)
|
if (lock->acquired)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user