Linux Systems, Hosting & Infrastructure
kernel From a resume stall to a driver workflow
kpatch is a Go CLI and DKMS driver variant addressing a Linux AMD PMC suspend-to-idle resume delay.
Why kernel
Why kernel
A missing AMD PMC quirk caused a roughly ten-second resume delay in the investigated system. An out-of-tree driver variant makes the workaround maintainable while the CLI exposes build, signing, switching, and runtime status.
What it does
What it does
Driver lifecycle
Fetch driver sources, build and install through DKMS, manage Secure Boot signing, and switch between patched and stock drivers.
Runtime visibility
Status distinguishes the preferred installed module from runtime state. An optional debug variant exposes the selected quirk through read-only sysfs.
Measured resume timing
A resume timing analyzer supports investigation. The study records three resume-device measurements between 0.473 and 0.475 seconds on the target system.
The workflow
The workflow
- Upstream AMD PMC source
- Canary + quirk patch
- DKMS build / signing
- Variant switch + runtime check
Recent milestones
Recent milestones
- 2026-09-21 — An unmodified DKMS canary build preceded the quirk patch in issues 006–007. d3785df
- 2026-09-21 — DKMS lifecycle and CLI features were added through issues 008–009. 679d95a
- 2026-09-21 — The optional debug variant and runtime quirk reporting were completed in issue 011. a97852a
Historical milestones from the review through October 4, 2026.
How the work was verified
How the work was verified
The canary reduced uncertainty before patching. Integration fixes made the distinction between the DKMS package amd-pmc-kpatch and the kernel module amd_pmc explicit, corrected DKMS object discovery, and checked stock-module availability before unloading the patched driver.
The October 4 review records 42 commits on September 21 and 21 Go test functions across six files. That concentrated work spans C driver integration, DKMS, Secure Boot, the Go CLI, documentation, and live validation.
Current scope and limits
Current scope and limits
This is a targeted Linux/AMD PMC workaround. Evidence centers on one target system and three recorded resume cycles; it does not establish compatibility for other hardware or kernels. Go package checks and hardware validation are separate.
Build the CLI
Build the CLI
Build and installation targets are maintained in the repository Makefile.
Driver operations additionally depend on DKMS, matching kernel headers, and the signing setup described in the source operating notes.