Skip to content

plugins: add amd_x3d plugin for dual-CCD X3D scheduling mode#833

Open
ptr1337 wants to merge 1 commit intoredhat-performance:masterfrom
CachyOS:x3d_upstream
Open

plugins: add amd_x3d plugin for dual-CCD X3D scheduling mode#833
ptr1337 wants to merge 1 commit intoredhat-performance:masterfrom
CachyOS:x3d_upstream

Conversation

@ptr1337
Copy link

@ptr1337 ptr1337 commented Mar 7, 2026

Add a new amd_x3d plugin that controls the amd_x3d_vcache kernel driver's scheduling preference on dual-CCD 3D V-Cache processors.

The plugin manages the sysfs knob exposed at:

/sys/bus/platform/drivers/amd_x3d_vcache/*/amd_x3d_mode

and supports the two kernel-defined modes:

  • cache: prefer the X3D CCD for gaming and cache-sensitive workloads
  • frequency: prefer the non-X3D CCD for compute workloads

The sysfs path is discovered via glob so the plugin works across boards with different ACPI device names. On unsupported systems, or when the driver is not present, the plugin is a no-op.

State is integrated with TuneD's standard command_set/command_get flow, so the previous mode is saved and restored automatically on profile switch. Add unit tests covering discovery, apply/verify/rollback, and the no-device case.

Add a new amd_x3d plugin that controls the amd_x3d_vcache kernel
driver's scheduling preference on dual-CCD 3D V-Cache processors.

The plugin manages the sysfs knob exposed at:

  /sys/bus/platform/drivers/amd_x3d_vcache/*/amd_x3d_mode

and supports the two kernel-defined modes:
  - cache: prefer the X3D CCD for gaming and cache-sensitive workloads
  - frequency: prefer the non-X3D CCD for compute workloads

The sysfs path is discovered via glob so the plugin works across boards
with different ACPI device names. On unsupported systems, or when the
driver is not present, the plugin is a no-op.

State is integrated with TuneD's standard command_set/command_get flow,
so the previous mode is saved and restored automatically on profile
switch. Add unit tests covering discovery, apply/verify/rollback, and
the no-device case.

Signed-off-by: Peter Jung <admin@ptr1337.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant