Skip to content

Conversation

@dvyukov
Copy link
Collaborator

@dvyukov dvyukov commented Dec 12, 2024

  • pkg/clangtool: cache combined output
  • pkg/ifaceprobe: optimize cache
  • tools/syz-declextract: parallelize

Instead of caching output for each file separately,
cache total combined output in a single file.
Caching output for each file is not useful in practice,
I either use everything cached, or regenerate whole cache.
Caching combined output is much more efficient.
With function info there are lots of duplication across
individual output files. E.g. I am getting 6GB cache
for individual files, and only 60MB for the combined cache.

Also change how caching works. Remove the flag and always
use the cache if it exists. It's much more convinient and
safer to use (accidentially not using the cache).
The cache file can be removed to force regeneration.
Instead of storing real PC values store indexes into the PCs table.
This significantly reduces size of the cache (in my case from
1823 MB to 473 MB) and actually makes use of the cache simpler
(don't need separate map).
Do kernel probing, source code analysis and loading of syscall
rename map in parallel. Also change probe caching to the scheme
we now use for the clang tool cache so the same reasons.
@dvyukov dvyukov requested a review from a-nogikh December 12, 2024 14:38
@dvyukov dvyukov enabled auto-merge December 12, 2024 14:38
@dvyukov dvyukov added this pull request to the merge queue Dec 12, 2024
Merged via the queue into google:master with commit 5388eec Dec 12, 2024
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants