From 07dedd50ee8834dbca4da7667e69e72b7d0565b9 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 27 Jun 2024 12:01:58 +0200 Subject: pkg/fuzzer: remove signal rotation Signal rotation is intended to make the fuzzer re-discover flaky coverage in non flaky way. However, taking into accout that we get effectively the same effect after each manager restart, and that the fuzzer is overloaded with triage/smash jobs, it does not look to be worth it. --- pkg/signal/signal.go | 19 ------------------- pkg/signal/signal_test.go | 14 -------------- 2 files changed, 33 deletions(-) (limited to 'pkg/signal') diff --git a/pkg/signal/signal.go b/pkg/signal/signal.go index 3eb4263de..ca73578fa 100644 --- a/pkg/signal/signal.go +++ b/pkg/signal/signal.go @@ -4,8 +4,6 @@ // Package signal provides types for working with feedback signal. package signal -import "math/rand" - type ( elemType uint64 prioType int8 @@ -142,23 +140,6 @@ func (s *Signal) Subtract(s1 Signal) { } } -func (s Signal) RandomSubset(r *rand.Rand, size int) Signal { - if size > len(s) { - size = len(s) - } - keys := make([]elemType, 0, len(s)) - for e := range s { - keys = append(keys, e) - } - r.Shuffle(len(keys), func(i, j int) { keys[i], keys[j] = keys[j], keys[i] }) - - ret := make(Signal, size) - for _, e := range keys[:size] { - ret[e] = s[e] - } - return ret -} - // FilterRaw returns a subset of original raw elements that either are not present in ignore, // or coincides with the one in alwaysTake. func FilterRaw(raw []uint64, ignore, alwaysTake Signal) []uint64 { diff --git a/pkg/signal/signal_test.go b/pkg/signal/signal_test.go index 52b91fc19..2610fe792 100644 --- a/pkg/signal/signal_test.go +++ b/pkg/signal/signal_test.go @@ -4,25 +4,11 @@ package signal import ( - "math/rand" "testing" - "github.com/google/syzkaller/pkg/testutil" "github.com/stretchr/testify/assert" ) -func TestRandomSubset(t *testing.T) { - r := rand.New(testutil.RandSource(t)) - base := FromRaw([]uint64{0, 1, 2, 3, 4}, 0) - var s Signal - for i := 0; i < 1000 && s.Len() < base.Len(); i++ { - delta := base.RandomSubset(r, 1) - assert.Equal(t, 1, delta.Len()) - s.Merge(delta) - } - assert.Equal(t, base.Len(), s.Len()) -} - func TestSubtract(t *testing.T) { base := FromRaw([]uint64{0, 1, 2, 3, 4}, 0) assert.Equal(t, 5, base.Len()) -- cgit mrf-deployment