You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Re CoverTab, it always was supposed to be of tunable size. It's just that I did fixed 64K initially as the simplest option and then never had time/need to improve that.
This issue is to track/discuss this.
From previous experience changing CoverTab size manually to a different hard-coded value, here's the places that need updating:
Generate code that masks down a high-width counter at runtime. (As Dmitry wrote: CoverTab[LOCATION_HASH & GlobalSizeMask]++.) For folks who just want to tweak CoverTab manually, you can also just change func genCounter in go-fuzz-build to generate different width counters.
const CoverSize in go-fuzz-defs.
go-fuzz/compare_amd64.s assembly implementations for clearing the covertab. Probably easiest to just pass in log2(CoverSize). And require that CoverSize be a power of two. Look for the BTL instructions.
The other TODO here is to do a bit of performance tuning with higher values of CoverSize. My experience is that cranking up the size of covertab uncovers new performance pain points. I've fixed a few of these, but more remain.
In #249, @dvyukov wrote:
This issue is to track/discuss this.
From previous experience changing
CoverTab
size manually to a different hard-coded value, here's the places that need updating:CoverTab[LOCATION_HASH & GlobalSizeMask]++
.) For folks who just want to tweak CoverTab manually, you can also just changefunc genCounter
in go-fuzz-build to generate different width counters.CoverSize
in go-fuzz-defs.go-fuzz/compare_amd64.s
assembly implementations for clearing the covertab. Probably easiest to just pass in log2(CoverSize). And require that CoverSize be a power of two. Look for theBTL
instructions.The other TODO here is to do a bit of performance tuning with higher values of CoverSize. My experience is that cranking up the size of covertab uncovers new performance pain points. I've fixed a few of these, but more remain.
cc @thepudds
The text was updated successfully, but these errors were encountered: