From e8048e9c74182279be8992eced157419d4d9344f Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Wed, 17 Jul 2024 12:21:45 +0200 Subject: pkg/fuzzer: speed up triage jobs If we have found new signal for several calls of the same programs, triage them in paralllel. --- pkg/fuzzer/job.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'pkg/fuzzer') diff --git a/pkg/fuzzer/job.go b/pkg/fuzzer/job.go index 84d3af930..77933d15c 100644 --- a/pkg/fuzzer/job.go +++ b/pkg/fuzzer/job.go @@ -5,6 +5,7 @@ package fuzzer import ( "math/rand" + "sync" "github.com/google/syzkaller/pkg/corpus" "github.com/google/syzkaller/pkg/cover" @@ -98,9 +99,16 @@ func (job *triageJob) run(fuzzer *Fuzzer) { if stop { return } + var wg sync.WaitGroup for call, info := range job.calls { - job.handleCall(call, info) + call, info := call, info + wg.Add(1) + go func() { + job.handleCall(call, info) + wg.Done() + }() } + wg.Wait() } func (job *triageJob) handleCall(call int, info *triageCall) { -- cgit mrf-deployment