From 0513b3e670c9ff1eb79183e59e0f7d46ea76d243 Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Wed, 24 May 2023 18:17:45 +0200 Subject: syz-manager: use 3 VMs per bug reproduction As the process is single-threaded, the positive contribution of each additional VM allocated for the repro generation process decreases. For GCE VMs (mostly used by syzbot), the time to set up a VM instance is usually less than 5 minutes. The time to run a single test that doesn't crash the VM is ~ 10 minutes and actually most runs will be like that. Therefore we have plenty of time to set up a VM while another one is being tested (on average). Let's save resources and use 3 VMs instead of 4: one for running the test, one is prepared in parallel and one speeds up processing in the case of transient errors and for cases when a reproducer is able to crash a VM quickly. --- syz-manager/manager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syz-manager/manager.go b/syz-manager/manager.go index 7c37dd0ac..baed2f793 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -328,7 +328,7 @@ type ReproResult struct { func (mgr *Manager) vmLoop() { log.Logf(0, "booting test machines...") log.Logf(0, "wait for the connection from test machine...") - instancesPerRepro := 4 + instancesPerRepro := 3 vmCount := mgr.vmPool.Count() maxReproVMs := vmCount - mgr.cfg.FuzzingVMs if instancesPerRepro > maxReproVMs && maxReproVMs > 0 { -- cgit mrf-deployment