diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-07-03 13:09:05 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-07-03 13:09:05 +0200 |
| commit | 6e569755ce2f0efcad474398871ff75693e770fc (patch) | |
| tree | 70d8a22233e459e576cf840c83a9eaad8f988ef5 /pkg | |
| parent | f30c14bfec4b49e528a756b28cc010925e2f286b (diff) | |
pkg/mgrconfig: extend proc param description
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/mgrconfig/config.go | 4 | ||||
| -rw-r--r-- | pkg/mgrconfig/load.go | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/pkg/mgrconfig/config.go b/pkg/mgrconfig/config.go index 69df2a801..fc63bb20d 100644 --- a/pkg/mgrconfig/config.go +++ b/pkg/mgrconfig/config.go @@ -69,7 +69,9 @@ type Config struct { Syzkaller string `json:"syzkaller"` // Number of parallel test processes inside of each VM. - // 1 by default, 4 or 8 would be reasonable numbers too. + // Allowed values are 1-32, recommended range is ~4-8, default value is 6. + // It should be chosen to saturate CPU inside of the VM and maximize number of test executions, + // but to not oversubscribe CPU and memory too severe to not cause OOMs and false hangs/stalls. Procs int `json:"procs"` // Type of sandbox to use during fuzzing: diff --git a/pkg/mgrconfig/load.go b/pkg/mgrconfig/load.go index fc0f6b650..ce710b96b 100644 --- a/pkg/mgrconfig/load.go +++ b/pkg/mgrconfig/load.go @@ -62,7 +62,7 @@ func defaultValues() *Config { Reproduce: true, Sandbox: "none", RPC: ":0", - Procs: 1, + Procs: 6, } } @@ -104,8 +104,8 @@ func Complete(cfg *Config) error { if err := completeBinaries(cfg); err != nil { return err } - if cfg.Procs < 1 || cfg.Procs > 32 { - return fmt.Errorf("bad config param procs: '%v', want [1, 32]", cfg.Procs) + if cfg.Procs < 1 || cfg.Procs > prog.MaxPids { + return fmt.Errorf("bad config param procs: '%v', want [1, %v]", cfg.Procs, prog.MaxPids) } switch cfg.Sandbox { case "none", "setuid", "namespace", "android": |
