aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2023-05-24 18:17:45 +0200
committerAleksandr Nogikh <wp32pw@gmail.com>2023-05-25 11:45:51 +0200
commit0513b3e670c9ff1eb79183e59e0f7d46ea76d243 (patch)
tree48f32996d735a3f3feeb9357d7dce7df37d304ab
parent0d9bcfef72eef7ccb5cf2320bbed5014385b59c2 (diff)
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.
-rw-r--r--syz-manager/manager.go2
1 files changed, 1 insertions, 1 deletions
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 {