Skip to content

feat: event-driven CXL device hotplug monitoring #49

@seohui-XCENA

Description

@seohui-XCENA

Background

Currently, CXL/DAX device detection relies on a timer-based polling mechanism (#48).
This works for the boot-race scenario but has limitations:

  • Polling interval introduces unnecessary delay
  • No support for runtime device hot-add after initial detection
  • No support for device hot-remove (only manual SIGHUP rescan)

Proposal

Replace the polling-based rescan with an event-driven approach using udev kernel event monitoring:

  • Monitor CXL subsystem for dax_region add/remove events via udev netlink
  • React immediately when devices become available
  • Handle both hot-add and hot-remove at runtime
  • Remove the polling loop once the event monitor is in place

Scope

  • New RegionMonitor component (udev-based)
  • Adapt PoolManager to handle dynamic pool add/remove
  • Add libudev-dev build dependency
  • Graceful handling of active allocations on device removal

Reference

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions