Ubunatic Coding

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

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

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

Recent milestones

Historical milestones from the review through October 4, 2026.

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.

Read the October 4 story and its facts table.

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 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.

At a glance

Stack
Go 1.26.0, Cobra, C Linux kernel driver (AMD Platform Management Controller), DKMS, Secure Boot signing, YAML configuration
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)
Commits
42