josie / alder-tools

docs: y-cruncher machine-wide; cores-honoring notes

- README + alderbench.conf + config.rs WorkloadSpec doc: `cores` honored by
  stress-ng / 7zip / c2c+dram; y-cruncher stress RE-PINS its own threads to
  every logical core (taskset does not constrain it) - a yc leg is a
  machine-wide event, schedule when the desktop is free
- (the --tui USAGE correction shipped with the prior fix commit - same file)

1fe27f42aa6a177cec8edfc0b8e0654f1ea25efa
josie <josie@example.com> · 2026-10-08T21:23 · browse files at this commit

parents: c7cc56f

diff --git a/alderbench/README.md b/alderbench/README.md
index 7c817d2..21a5d00 100644
--- a/alderbench/README.md
+++ b/alderbench/README.md
@@ -83,6 +83,12 @@ workload.1.duration_secs  = 300        # estimate, not a hard stop
 workload.1.cores          = 0-11       # taskset-style range: 0-11 P-only, 12-15 E-only
 ```
 
+Note: `cores` is honored by stress-ng, 7zip (taskset + `-mmt`), and the
+pinned c2c/dram pairs. **y-cruncher stress re-pins its own threads to
+every logical core** (verified: `taskset -c 0` does not constrain it) — a
+y-cruncher leg is a machine-wide event, so schedule it when the desktop
+is free.
+
 `duration_secs` is a display estimate: workloads run until they finish
 themselves (self-terminating stressors) or you quit; `7z b`'s fixed
 passes may overrun it.
diff --git a/alderbench/alderbench.conf b/alderbench/alderbench.conf
index bdb0580..e086777 100644
--- a/alderbench/alderbench.conf
+++ b/alderbench/alderbench.conf
@@ -17,8 +17,11 @@ bin_dir     = ./bin
 #
 #  (2) Indexed — per-entry params (1-indexed). Overrides the list form.
 #      `cores` is a stress-ng --taskset-style range: 0-11 = P-cores,
-#      12-15 = E-cores, 0-15 = all. Workloads that don't pin (7zip,
-#      minecraft-server) ignore it.
+#      12-15 = E-cores, 0-15 = all. Honored by stress-ng, 7zip
+#      (taskset + -mmt), c2c/dram. WARNING: y-cruncher stress re-pins
+#      its own threads to ALL logical cores regardless of `cores` — a
+#      yc leg is a machine-wide event (desktop stalls: expect it).
+#      minecraft-server (when wired) will honor it.
 
 workload.1.name           = stress-ng-cpu
 workload.1.duration_secs  = 60
diff --git a/alderbench/src/config.rs b/alderbench/src/config.rs
index 78c2f74..e018144 100644
--- a/alderbench/src/config.rs
+++ b/alderbench/src/config.rs
@@ -14,7 +14,10 @@ use std::path::PathBuf;
 /// and `cores` are per-entry (different workloads may want different
 /// lengths and core counts). `cores` is a stress-ng `--taskset`-style
 /// range string ("0-11" = P-cores, "12-15" = E-cores, "0-15" = all);
-/// workloads that don't pin (7zip, minecraft-server) ignore it.
+/// honored by stress-ng (--taskset), 7zip (taskset + `-mmt`), c2c/dram
+/// (pinned pairs). y-cruncher stress RE-PINS its own threads to all
+/// logical cores regardless — every yc leg is an all-cores event.
+/// minecraft-server (when wired) will honor it.
 #[derive(Clone, Debug, PartialEq, Eq)]
 pub struct WorkloadSpec {
     pub name: String,