diff --git a/include/evl/thread.h b/include/evl/thread.h index dee22479aa8a9c..77ce49e6fe5b6a 100644 --- a/include/evl/thread.h +++ b/include/evl/thread.h @@ -157,12 +157,6 @@ struct evl_thread { char *name; }; -#define for_each_evl_booster(__pos, __thread) \ - list_for_each_entry(__pos, &(__thread)->boosters, next_booster) - -#define for_each_evl_tracker_safe(__pos, __tmp, __thread) \ - list_for_each_entry_safe(__pos, __tmp, &(__thread)->trackers, next_tracker) - static inline void evl_sync_uwindow(struct evl_thread *curr) { if (curr->u_window) { diff --git a/kernel/evl/mutex.c b/kernel/evl/mutex.c index 202657f5768bbc..8217fad468eb62 100644 --- a/kernel/evl/mutex.c +++ b/kernel/evl/mutex.c @@ -20,6 +20,9 @@ #define for_each_evl_mutex_waiter(__pos, __mutex) \ list_for_each_entry(__pos, &(__mutex)->wchan.wait_list, wait_next) +#define for_each_evl_booster(__pos, __thread) \ + list_for_each_entry(__pos, &(__thread)->boosters, next_booster) + static inline int get_ceiling_value(struct evl_mutex *mutex) { /* @@ -456,7 +459,7 @@ void evl_detect_boost_drop(void) for_each_evl_booster(mutex, curr) { raw_spin_lock(&mutex->wchan.lock); for_each_evl_mutex_waiter(waiter, mutex) { - if (!(waiter->state & T_WOLI)) + if (!(waiter->state & (T_WOLI|T_PIALERT))) continue; raw_spin_lock(&waiter->rq->lock); waiter->info |= T_PIALERT;