From 7e97df75c37520da9a7ff95341f29e235fd525fe Mon Sep 17 00:00:00 2001 From: japabu Date: Mon, 2 Nov 2026 00:00:02 +0100 Subject: [PATCH] benchcase: the shipped image's display driver runs in the benchmark boot The benchmark boot measured the T14 with the display as the GOP left it, while images/system.toml runs tgl-display. That driver sets the display engine's watermarks, loads the DMC and allows DC6 (stages 1-3). So the energy rows and the scoreboard read a display engine the shipped system never leaves. The benchmark image now declares the driver with the shipped row's `drives` match, and the comparison with Linux is of the real system. The row receives no `display-output`. Its server is the compositor, which this image does not run, and an image that receives a port no `[boot] start` row serves is refused (build/build.rs). Without the port the driver programs the engine's power as it does in the shipped image, says its presents go unanswered, and keeps the scan-out. On every other bench the match finds no function and nothing starts. Every osbench row boots this image, so the T14's figures that depend on the display engine (the idle package, its residency and the wake rows) change by design. The next scoreboard reads that baseline. Co-Authored-By: Claude Opus 5.5 --- tests/images/benchcase.toml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/tests/images/benchcase.toml b/tests/images/benchcase.toml index 5d003e4660..36d3702182 100644 --- a/tests/images/benchcase.toml +++ b/tests/images/benchcase.toml @@ -3,10 +3,11 @@ # # Only what a job list needs to run and to reach the log, the ACPI server, and # netstack for `osbench lan` and `osbench internet`, each its own metal row -# (`tests/toyos.rs`): no compositor or sound, so little but the measurement -# asks for a CPU. The image has no DATA partition, so DATA is the bench's: the -# TOYOS-DATA partition on its NVMe, which `osbench persist` writes, and which -# the `osbench` row refuses a boot to be without. +# (`tests/toyos.rs`), and the shipped image's display driver: no compositor +# or sound, so little but the measurement asks for a CPU. The image has no +# DATA partition, so DATA is the bench's: the TOYOS-DATA partition on its +# NVMe, which `osbench persist` writes, and which the `osbench` row refuses a +# boot to be without. # # The runner's capability carries `jobs`, for the fairness run that starts each # workload as a job of its own; `counters`, `trace` and `roster`, so `osbench @@ -45,6 +46,14 @@ serves = ["netstack", "link"] drives = ["pci:02:00:00/8086:15fc"] receives = ["link"] +# The T14's display driver, as `images/system.toml` runs it, so the power a +# row reads is the display engine the shipped system leaves. With no +# compositor, its presents on `display-output` have no consumer, so the row +# receives no port; the driver says so and keeps the scan-out. No other bench +# has the T14's iGPU, so none starts it. +[programs.tgl-display] +drives = ["pci:03:00:00/8086:9a49"] + # The order `osbench all` runs the groups in. The bound is the metal row's, its # 465 s on the 60 s every list has (`tests/toyos.rs`), restated for a boot of # this config built without the row; a derived metal config states its own.