diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-05-02 08:12:13 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-05-21 09:03:00 +0000 |
| commit | 98aa8d464020910064d862eff99440bfdf0dc03c (patch) | |
| tree | 2f4ef2ad668b2e3c0f3c460ce7e8b66517506290 /pkg | |
| parent | 4c0d3ee3f6ea306acf4d7ce817ef4e279ce73b65 (diff) | |
syz-manager, syz-fuzzer: switch communication to flatrpc
Switch to flatrpc connection between manager and fuzzer.
With flatrpc we have a goroutine per connection instead of async RPC,
which makes things a bit simpler. Now don't reordered messages
(in particular start executing and finish executing for programs),
race on the program during printing is no longer possible
since we finish handlign start executing request before we even
receive finish executing.
We also don't need to lookup Runner for every RPC since it's
now local to the handling goroutine.
We also don't need to protect requests map since only single
goroutine accesses it.
We also send new programs to the fuzzer as soon as we receive
start executing message, which provides better buffering.
We also don't batch new requests and finish executing requests
in a single RPC, which makes things a bit simpler.
In my local run this reduces syz-manager heap size from 1.3GB to 1.1GB.
Update #1541
Diffstat (limited to 'pkg')
0 files changed, 0 insertions, 0 deletions
