Skip to content

Latest commit

 

History

History
12 lines (11 loc) · 4.06 KB

File metadata and controls

12 lines (11 loc) · 4.06 KB

Autoresearch ideas

  • If revisiting unit2nix, use the real dependency path again, but target a different upstream lever than host/member-closure pruning, Redox-side members = [ member ] hints, or globally disabling test/clippy outputs. Local-copy vendoring inside Redox is still a confound (9011ms steady-state even for a no-op copy), the real-input host/member pruning patch lost (6833ms steady-state against a 6621ms local-input control), and current locked unit2nix treats Redox-side members = [ member ] as effectively noise. Also stale: globally disabling test/clippy outputs by default was much worse (14000ms). Mildly promising only: on a clean detached worktree, current unit2nix HEAD is around 7210-7216ms, and a local patch that delays test/clippy graph construction until .test/.clippy is actually accessed improved that to about 7036-7182ms. That gain is still low-confidence, but it is worth remembering as a future upstream direction.
  • Do not chase base.src extraction first: nix eval --raw .#base.src.drvPath is only about 260ms, so the remaining basePerCrate cost is mostly unit2nix/workspace aggregation, not patched-source passthru lookup.
  • Rebuild benchmarking is newly viable again on the kept tree because make-disk-image.nix now normalizes GPT disk/partition GUIDs and CRCs in place after parted. If rebuild-focused iteration becomes worth a new experiment session, use that fixed tree rather than the old nondeterministic baseline.
  • Run-ms staging ideas must use a writable Cloud Hypervisor-supported COW path or a different VMM. Old paths now stale: qcow2 backing files (CreateQcowDiskSync(BackingFilesDisabled)) and plain read-only raw disks (ReadOnly during early boot).
  • Smoke-profile initfs trimming remains viable only in narrow steps. Kept so far: exclude rtcd, ptyd, ipcd, acpid, and lived; direct hot-cache A/B favored acpid exclusion (9877ms and 10253ms with acpid excluded vs 12336ms after reverting only acpid), and warm reruns with lived excluded reached about 6873-7257ms. Known unsafe: exclude hwd, or exclude acpid/hwd/rtcd together — both broke boot during switchroot. Also stale now: replacing hwd with a direct pcid override while excluding hwd; that path regressed catastrophically.
  • Smoke-profile hardware narrowing is now validated too: storageDrivers = [ "virtio-blkd" ] and networkDrivers = [ ] produced a stable hot-cache win. Do not re-test broader driver sets unless the smoke workload stops being Cloud-Hypervisor-only.
  • Smoke-profile VM resource reduction now looks stale too: both 1024MiB/1 vCPU and 512MiB/1 vCPU lost badly, and 512MiB/2 vCPU was rebuild-heavy/confounded enough that it is not worth pursuing further on this benchmark.
  • Also stale for current tree: /power.acpiEnable = false; retrying 576MiB and 592MiB smoke images after the newer trims; 32MiB ESP (too small); 48MiB ESP (build_ms regression); cp -a --reflink=auto for the rootTree copy; cp disk.imgmv disk.img in make-disk-image.nix (flat vs same-file dirty control); smoke-only diskImageBootCompat = false to skip copied $out/boot/* files (still lost badly versus current head); boot.initSkip = [ "hwd" ] (boot failure); and cp --sparse=always for mk-vm-test runtime disk staging (slight loss vs same-file dirty control).
  • Do not pursue bootloaderPerCrate right now. The QEMU-only runner wiring was an off-path confound for the active CH smoke benchmark, and the deeper on-path experiment is currently blocked because even with a generated bootloader-build-plan.json, the per-crate UEFI build fails in aes with undefined __extendhfsf2 / __truncsfhf2.
  • Image-build micro-tunes to drop: larger-block final dd writes in make-disk-image.nix, direct-to-output image creation in make-{esp,redoxfs,disk}-image.nix, ESP payload slimming in make-esp-image.nix, disk-image output boot symlink swaps, incremental serial-log polling in mk-vm-test.nix, and the QEMU-only bootloaderPerCrate runner wiring all lost clearly, landed flat, or were off-path for the active CH smoke benchmark.