Skip to content

drm/asahi: g17: M5 Pro: relax a compute kick's parent to the pipelined class once it has retired - #1436

Merged
DjDeveloperr merged 1 commit into
funkzy/t6050-gpu-on-integrationfrom
dj/g17-m5-retired-parent
Nov 10, 2026
Merged

DjDeveloperr merged 1 commit into
funkzy/t6050-gpu-on-integrationfrom
dj/g17-m5-retired-parent

Conversation

@DjDeveloperr

Copy link
Copy Markdown
Contributor

Stacked on #1411: its base is #1411's branch. Retarget it to #1012's branch once #1411 lands.

What

macOS publishes an M5 Pro compute kick with a class-1 parent, held until the parent completes, while the parent is still in flight. A kick published after its parent has finished gets the pipelined class 2 and auxiliary control 1. In hv10's hop trace that's 36% of kicks, each published about 40 µs after the queue's previous kick, against 30 µs for the class-1 kicks.

This does the same. When the host has retired every earlier kick of the queue, with no replay, quarantine or witness wait pending, the parent takes class 2 and auxiliary control 1. Otherwise it keeps #1411's class 1 and auxiliary control 0. G17D and the boards without the counted forms are unchanged.

Measured

J714s (M5 Pro). The base is the M5's default kernel 7.3.0-m5-argb2 (integration + #1406 + #1364, #1394, #1401, #1070, #1411, #1404, #1425), against the same source plus this commit. Mesa is mesa-aurora with #32 and #33. Fresh boots in the order variant, base, variant, base, with gpubench pinned to CPU 12 (a P core) and measured before anything else on each boot.

µs base, boot 1 base, boot 2 this, boot 1 this, boot 2
cross-queue hop, timeline 19.55 19.60 19.77 19.31
cross-queue hop, binary 19.61 19.39 19.16 19.01
compute.light d16 18.00 18.20 17.43 17.32
compute.light d64 16.39 17.76 17.34 15.76
render.light tri d16 31.67 31.91 31.86 31.65

A small gain:

  • the binary hop is about 0.4 µs faster;
  • compute.light d16 is about 4% faster on both boots;
  • the timeline hop and the render rows don't change.

dEQP with both Mesas (with and without #33) passes: mq-tl 214, mq-v1 427, mq-all 290, synchronization2 600, synchronization 693, s0 109, compute 223, glsl 1209, draw 906, texture 660, occlusion queries 440. That's 0 Fail, with no GPU recoveries or timeouts. gpubench core-a,feat is 41/41 with each Mesa.

🤖 Generated with Claude Code

…d class once it has retired

macOS publishes an M5 Pro compute kick with a class-1 parent (held until
its parent completes) while the parent is in flight. A kick published
after its parent has finished gets the pipelined class 2 and auxiliary
control 1 (hv10: 36% of the hop's kicks, each published about 40 us
after the queue's previous kick, against 30 us for class 1).

Do the same: when the host has retired every earlier kick of the
queue, with no replay or recovery pending, the parent takes class 2 and
the auxiliary control 1. The firmware then has nothing to hold the kick
for. Kicks with a parent still in flight keep class 1 and auxiliary
control 0. G17D and the boards without the counted forms are unchanged.

Signed-off-by: Diljit Singh <hey@djdev.me>
@DjDeveloperr
DjDeveloperr force-pushed the dj/g17-m5-visible-completion branch from 93f5fb7 to 8aee10d Compare November 10, 2026 09:10
@DjDeveloperr
DjDeveloperr force-pushed the dj/g17-m5-retired-parent branch from 9a999f6 to 9d0e3d2 Compare November 10, 2026 09:11
@DjDeveloperr
DjDeveloperr changed the base branch from dj/g17-m5-visible-completion to dj/g17-m5-no-query-access November 10, 2026 09:11
@DjDeveloperr
DjDeveloperr changed the base branch from dj/g17-m5-no-query-access to funkzy/t6050-gpu-on-integration November 10, 2026 10:21
@DjDeveloperr
DjDeveloperr merged commit 607d797 into funkzy/t6050-gpu-on-integration Nov 10, 2026
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