agent-vm: drop the stale --mount IRQ-pool advisory note

The note warned that extra `--mount`s could trip
`RegisterNetDevice(IrqsExhausted)` because libkrun's virtio IRQ pool was
tight. That ceiling was the 16-pin IOAPIC MP-table bug, now fixed upstream
(msb_krun 0.1.17 maps the full IOAPIC pin range — verified 22 mounts / 34
virtio devices boot cleanly). The warning now fires far below the real limit
and is just noise, so remove it along with the stale rationale comment.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0119b4kV63pJXm5rGeZbz8jf
This commit is contained in:
Evgeny Boger 2026-06-23 22:04:32 +03:00
parent 7d69877c35
commit ea73a39add

View file

@ -468,27 +468,13 @@ pub async fn launch(agent: Agent, args: Args) -> Result<i32> {
// this folder?" wizard on first launch in each project.
// Phase 7 (moved up): parse `--mount HOST[:GUEST]` so the
// GitHub repo scan below can also walk each mount's remote +
// submodules — matches main-branch claude-vm.sh behavior. The
// libkrun IRQ pool is *tight* — empirically the project bind +
// state bind + network + agentd + OCI overlay already saturate
// it on this build, so any extra mount tends to trip a
// confusing `RegisterNetDevice(IrqsExhausted)` at boot. We let
// the user try and surface a friendly suggestion if libkrun
// rejects the config; we don't pre-cap because libkrun
// configurations vary. See discovered upstream issue #3.
// submodules — matches main-branch claude-vm.sh behavior.
let extra_mounts = parse_extra_mounts(&args.mount).context("parsing --mount")?;
for em in &extra_mounts {
if !em.host.exists() {
anyhow::bail!("--mount host path {:?} does not exist", em.host);
}
}
if !extra_mounts.is_empty() {
eprintln!(
"==> Note: {} --mount arg(s) — libkrun's virtio IRQ pool is tight; if you see \
RegisterNetDevice(IrqsExhausted) at boot, drop a mount or pass --no-git to free a slot.",
extra_mounts.len()
);
}
// Phase 6: build the per-launch GitHub repo allow-list from the
// cwd's `git remote -v` + its `.gitmodules` submodules + the