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.
Project snapshot · measured 2026-10-26
Key facts
12-week commit activity
2026-10-26View 12-week data table
| Week starting | Commits |
|---|---|
| 2026-08-03 | 0 |
| 2026-08-10 | 0 |
| 2026-08-17 | 0 |
| 2026-08-24 | 0 |
| 2026-08-31 | 0 |
| 2026-09-07 | 0 |
| 2026-09-14 | 0 |
| 2026-09-21 | 42 |
| 2026-09-28 | 0 |
| 2026-10-05 | 7 |
| 2026-10-12 | 0 |
| 2026-10-19 | 1 |
Key Features
- Adds the missing AMD Platform Management Controller (PMC) quirk for this laptop's sleep-resume path.
- The kpatch CLI fetches and builds the driver with DKMS, then signs it for Secure Boot.
- Switch between patched and stock drivers, check which is active, and inspect wake timing.
- An optional debug build reports which hardware quirk is active.
Verified Engineering Milestones
- Root cause and driver fix selected (#002, #005, c5327ec)
- DKMS driver build and resume delay verified (#006, #007, d3785df, 5e641a0)
- Driver management and wake-time diagnostics CLI (#009, ebbdc43)
Stack
Go 1.26.0, Cobra, C Linux kernel driver (AMD Platform Management Controller), DKMS, Secure Boot signing, YAML configuration
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.
Project details
Architecture
Layer composition
- Terminal
- CLI
- Desktop
- Linux kernel, DKMS, Secure Boot
- Inference / AI
- —
- Containers / VM
- —
- Web
- —
Engineering story
kernel: the story behind the project
This repository tackles a laptop problem: waking from suspend-to-idle could pause for about ten seconds. The investigation traced the delay to an AMD Platform Management Controller (PMC) quirk missing from the kernel’s DMI table for one mac…
Read the engineering story