Skip to content

docs: virtiofs re-measurement script and honest 3.0.1 status (#523) - #542

Open
zcsizmadia wants to merge 1 commit into
mainfrom
docs/virtiofs-remeasure-523
Open

zcsizmadia wants to merge 1 commit into
mainfrom
docs/virtiofs-remeasure-523

Conversation

@zcsizmadia

Copy link
Copy Markdown
Collaborator

Refs #523 (does not close it: the 9p baseline is still to be taken).

Items 1 and 2 of #523 landed in #528. Item 3, re-measuring the docs/vm-sizing.md table, is blocked on a 9p baseline from the same machine and WSL build, which needs wsl --shutdown, so it can't be done from a machine where that is unsafe.

What this adds

  • scripts/measure-mounts.ps1: the page's method (Windows folder bind-mounted into a container, timed inside it, cold first write discarded, 3 rounds, medians with range, machine and WSL build recorded).
    • Measures whichever transport the machine is on and never runs wsl --shutdown.
    • -Expect 9p|virtiofs is a guard: it reads the live /proc/mounts and refuses to record when it disagrees (setting wsl.virtiofs without the shutdown leaves you on 9p and looks like success).
    • -Compare 9p.json,virtiofs.json prints the page's table with ratios, and refuses runs from different WSL builds or machines.
  • docs/vm-sizing.md: states the table is WSL 2.9.11 and that no claim has been confirmed on stable WSL; records the one-sided 3.0.1 virtiofs numbers from the issue explicitly as giving no ratio (including that ls -l is not faster than the old 0.22 s, still unexplained); documents how to take the baseline.
  • doctor's virtiofs detail now says the ratios are not yet re-confirmed on 3.0.

Testing

  • -Compare checked against synthetic fixtures (ratios, same-transport and mismatch refusals); the -Expect guard checked against a missing distro.
  • The measuring loop was smoke-tested once end to end through a Docker Desktop container on WSL 3.0.1 with -Rounds 1; those numbers are discarded and not recorded anywhere. It has not been run against a Skrog engine.
  • No numbers in the table were changed.

Still open on #523

Run the script on virtiofs and on 9p (same machine, stable WSL), paste the -Compare output into the table, update the "2.9.11" wording with the WSL version and date, decide whether 4.0× / 3.1× hold, and look at ls -l.

The 9p-versus-virtiofs ratios on the vm-sizing page were measured on WSL
2.9.11, and 3.0 changed virtiofs internals. A ratio needs both transports on
one machine and build, and switching needs `wsl --shutdown`.

- scripts/measure-mounts.ps1: runs the page's method through a container
  bind mount for whichever transport the machine is on, refuses to record the
  wrong one (-Expect checks /proc/mounts), never shuts WSL down, and prints
  the page's table with ratios from a 9p and a virtiofs result (-Compare)
- docs/vm-sizing.md: says the table is 2.9.11, records the one-sided WSL
  3.0.1 virtiofs numbers from #523 explicitly as not giving any ratio, and
  documents how to take the baseline
- doctor: its virtiofs detail says the ratios are not yet re-confirmed on 3.0

This branch has not been deployed

No deployments
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