1RULE = always ((RT and SLEEP and USER_THREAD) imply (RT_FRIENDLY_SLEEP or ALLOWLIST)) 2 3RT_FRIENDLY_SLEEP = RT_VALID_SLEEP_REASON 4 and ((not SCHEDULE_IN) until RT_FRIENDLY_WAKE) 5 6RT_VALID_SLEEP_REASON = FUTEX_WAIT 7 or RT_FRIENDLY_NANOSLEEP 8 or EPOLL_WAIT 9 10RT_FRIENDLY_NANOSLEEP = CLOCK_NANOSLEEP 11 and NANOSLEEP_TIMER_ABSTIME 12 and not NANOSLEEP_CLOCK_REALTIME 13 14RT_FRIENDLY_WAKE = WOKEN_BY_EQUAL_OR_HIGHER_PRIO 15 or WOKEN_BY_HARDIRQ 16 or WOKEN_BY_NMI 17 or ABORT_SLEEP 18 19ALLOWLIST = BLOCK_ON_RT_MUTEX 20 or FUTEX_LOCK_PI 21