ubunatic.com

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.

Key facts

12-week commit activity

2026-10-26
View 12-week data table
Week startingCommits
2026-08-030
2026-08-100
2026-08-170
2026-08-240
2026-08-310
2026-09-070
2026-09-140
2026-09-2142
2026-09-280
2026-10-057
2026-10-120
2026-10-191

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

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.

Project details

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)

Layer composition

Terminal
CLI
Desktop
Linux kernel, DKMS, Secure Boot
Inference / AI
—
Containers / VM
—
Web
—

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