Skip to content

ateom-microvm: start the actor's two virtiofsds concurrently - #969

Open
Benjamin Elder (BenTheElder) wants to merge 1 commit into
agent-substrate:mainfrom
BenTheElder:microvm-concurrent-virtiofsd
Open

ateom-microvm: start the actor's two virtiofsds concurrently#969
Benjamin Elder (BenTheElder) wants to merge 1 commit into
agent-substrate:mainfrom
BenTheElder:microvm-concurrent-virtiofsd

Conversation

@BenTheElder

Copy link
Copy Markdown
Collaborator

~no impact if no durabledirs are used, but saves some time if they are

It's a good idea to open an issue first for discussion.

  • Tests pass
  • Appropriate changes to documentation are included in the PR

An actor with durable-dir volumes runs two virtiofsds: the overlay RO
lower's share and the writable durable share. They are independent —
different shared dirs, different sockets — but cold boot and restore
staged them in sequence, and starting one blocks until its virtiofsd
binds, so both boot paths paid the two waits back to back.

Start them together in stageActorShares. With the socket poll already
down to a millisecond tick (agent-substrate#849), the pair now costs roughly one wait.

The errgroup deliberately carries no shared context: a failure on one
side must not cancel the other's mount subprocesses mid-flight. Whatever
did come up is killed before returning the error, so the caller owns the
processes only on success — same contract the two separate defers had.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant