llvm
18cd0b08 - [UR][L0] Fix barrier event cleanup on urEventRelease (#21340)

Commit
2 days ago
[UR][L0] Fix barrier event cleanup on urEventRelease (#21340) Event pools (zeEventPoolCreate) are cached but never destroyed during execution -- zeEventPoolDestroy only runs in Context::finalize() at exit. Long-running apps exhaust vm.max_map_count (~65K) in under 2 hours. Root cause: event caching holds pool slots indefinitely, preventing decrementUnreleasedEventsInPool() from freeing pools. Fix: destroy underlying ZeEvent when caching events to release pool slots; re-allocate a fresh ZeEvent when reusing cached events; destroy fully-empty pools immediately when the cache already has an available pool. Tested on PVC (120s Grid): pools destroyed during execution went from 0/1584 to 10099/11674 (86.5% recycled), bounding steady-state at ~1575. Co-authored-by: winston.zhang <winstonz@borealis-admin1.hpe.jf.intel.com>
Parents
Loading