f904f59b68
gem_evict.rs (200 lines):
EvictionManager: LRU-based eviction with class filtering
VRAM/GTT/CPU/ALL eviction classes
Dirty marking, priority-based eviction
force_evict_all for emergency memory pressure
Byte tracking with eviction count
FenceObjectManager: GPU fence lifecycle
allocate/signal/signal_error with timestamp tracking
wait() with timeout polling
retire() for cleanup, pending_count/last_completed queries
WoundWaitMutex: deadlock-avoiding lock manager
Context-based lock ordering with wound/wait protocol
Acquire validates ctx ordering, wounds younger transactions
Release per-context per-object
Ported from Linux 7.1:
i915_gem_evict.c → EvictionManager
i915_gem_fence.c → FenceObjectManager
i915_gem_ww.c → WoundWaitMutex
GEM subdirectory: 22 files, 1,860 lines, 0 errors