Exploring Linux Kernel DEPT for sophisticated Deadlock and Wait Dependency Detection

Speaker: Yunseong Kim

Track: Kernel, early boot, and low level

Type: Short talk (20 minutes)

Room: BoF room (B03-035)

Time: Jul 19 (Sat): 16:30

Duration: 0:20

Introduction to the Problem

  • Linux kernel relies on robust synchronization, but complex deadlocks and subtle dependencies persist.
  • Lockdep, while powerful for lock order violations, has limitations:
  • Shuts down after the first detected issue.
  • Primarily focuses on traditional lock primitives, potentially missing broader synchronization patterns.

Introducing Linux Kernel DEPT (Dependency Tracking Tool)

  • A new development designed to address Lockdep’s shortcomings.
  • Focuses on tracking dependencies across a wider array of synchronization mechanisms.
  • Examples: wait_for_completion(), waitqueues, PG_locked.
  • Aims to detect deadlocks that Lockdep might miss.

Session Content

  • Brief overview of DEPT’s concept and its unique approach to dependency analysis.
  • Live Demonstration: Showcase DEPT’s capabilities by analyzing a real-world scenario where Lockdep might fall short or generate a false positive in complex nested locking.
  • Illustrate how DEPT provides deeper insights into kernel behavior and pinpoints subtle, hard-to-find concurrency bugs.

Interactive Session

  • Call to Action: Participants encouraged to share experiences, discuss DEPT’s potential, and contribute to its ongoing development.
  • Goal: Explore how DEPT can enhance the arsenal against elusive kernel bugs.

URLs