diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-06-27 12:01:58 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-07-02 15:07:08 +0000 |
| commit | 07dedd50ee8834dbca4da7667e69e72b7d0565b9 (patch) | |
| tree | 44925ee15f9fad9ad0641435fd459d25375c811d /pkg/fuzzer/cover.go | |
| parent | 6a2ff1acbd95b320444a729d9d281835be88ec66 (diff) | |
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.
Diffstat (limited to 'pkg/fuzzer/cover.go')
| -rw-r--r-- | pkg/fuzzer/cover.go | 31 |
1 files changed, 6 insertions, 25 deletions
diff --git a/pkg/fuzzer/cover.go b/pkg/fuzzer/cover.go index c34a3b219..4421693b1 100644 --- a/pkg/fuzzer/cover.go +++ b/pkg/fuzzer/cover.go @@ -12,10 +12,9 @@ import ( // Cover keeps track of the signal known to the fuzzer. type Cover struct { - mu sync.RWMutex - maxSignal signal.Signal // max signal ever observed (including flakes) - newSignal signal.Signal // newly identified max signal - dropSignal signal.Signal // the newly dropped max signal + mu sync.RWMutex + maxSignal signal.Signal // max signal ever observed (including flakes) + newSignal signal.Signal // newly identified max signal } func newCover() *Cover { @@ -31,7 +30,6 @@ func (cover *Cover) AddMaxSignal(sign signal.Signal) { cover.mu.Lock() defer cover.mu.Unlock() cover.maxSignal.Merge(sign) - cover.dropSignal.Subtract(sign) } func (cover *Cover) addRawMaxSignal(signal []uint64, prio uint8) signal.Signal { @@ -43,36 +41,19 @@ func (cover *Cover) addRawMaxSignal(signal []uint64, prio uint8) signal.Signal { } cover.maxSignal.Merge(diff) cover.newSignal.Merge(diff) - cover.dropSignal.Subtract(diff) return diff } -func (cover *Cover) pureMaxSignal(corpus signal.Signal) signal.Signal { - cover.mu.RLock() - defer cover.mu.RUnlock() - return corpus.Diff(cover.maxSignal) -} - func (cover *Cover) CopyMaxSignal() signal.Signal { cover.mu.RLock() defer cover.mu.RUnlock() return cover.maxSignal.Copy() } -func (cover *Cover) GrabSignalDelta() (plus, minus signal.Signal) { +func (cover *Cover) GrabSignalDelta() signal.Signal { cover.mu.Lock() defer cover.mu.Unlock() - plus = cover.newSignal + plus := cover.newSignal cover.newSignal = nil - minus = cover.dropSignal - cover.dropSignal = nil - return -} - -func (cover *Cover) subtract(delta signal.Signal) { - cover.mu.Lock() - defer cover.mu.Unlock() - cover.maxSignal.Subtract(delta) - cover.newSignal.Subtract(delta) - cover.dropSignal.Merge(delta) + return plus } |
