Speaker
Description
DEPT (DEPendency Tracker) is a runtime dependency tracking framework
that detects potential deadlocks by tracking wait/event relationships
rather than lock acquisition order. Unlike lockdep, which is limited to
typical locking primitives, DEPT can detect deadlocks involving general
synchronization mechanisms such as folio locks, completions, DMA fences,
and other wait/event-based patterns.
This talk presents the current state of DEPT and addresses the critical
challenge blocking its mainline inclusion: false positive handling
through subsystem annotations.
Any runtime dependency tracking tool faces the inherent challenge of
distinguishing real deadlocks from intentionally ordered synchronization
patterns. Lockdep also encountered this problem at its inception and
solved it through extensive subsystem-specific annotations (lock classes,
subclasses, etc.). DEPT currently lacks sufficient annotation for other
than typical locking primitives because it just started.
This talk proposes a collaborative path forward: (1) core framework
stabilization to finalize annotation APIs, (2) subsystem pilot programs
with maintainers if any (3) gradual mainline inclusion enabled
incrementally as annotations mature.
I seek community discussion on: annotation design that minimizes
maintainer burden, default behavior when annotations are missing,
testing infrastructure, and coexistence strategy with lockdep. Like
lockdep before it, achieving practical utility requires extensive
subsystem-specific annotations. This talk charts the collaborative path
to get there.