우선순위 역전(Inversion) 현상의 근본적 해결
Priority Donation: 8-depth 중첩 락 체인 해결
Impact
donate-nest/chain 테스트 통과
Challenge
높은 우선순위(H) 스레드가 낮은 우선순위(L) 스레드가 점유한 락을 기다릴 때, 중간 우선순위(M) 스레드가 L을 선점해버리면 H가 무한정 대기하는 우선순위 역전이 발생했습니다.
Solution
Priority Donation 메커니즘을 설계하고 구현했습니다. 락 대기 시 보유자에게 우선순위를 기부하고, 중첩된 락 대기 상황까지 재귀적으로 전파합니다.
Donation: 락 대기 시 보유자에게 자신의 높은 우선순위를 일시적으로 기부
Chain Handling: Nested Donation까지 재귀적으로 전파 (depth limit: 8)
Revert: 락 해제 시 기부받은 우선순위 반납 및 본래 우선순위로 복귀