Now we can avoid scanning the stack on fast path.
The price is the false stack trace with probability of the hash collision.
This increase performance of lsan by 6% and pre-requirement for stack compression.
Depends on D111182.
Differential D111183
[sanitizer] Switch to StackDepotNode to 64bit hash vitalybuka on Oct 5 2021, 1:56 PM. Authored by
Details Now we can avoid scanning the stack on fast path. Depends on D111182.
Diff Detail
Event Timeline
|
wonder if the header can be compressed back to 3 words
size is pretty small and maybe can be combined with something else
but we could remove id entirely (and simplify code along the way)
the algorithm used by kernel is better in this regard, we make the id an index in a dense allocator:
https://elixir.bootlin.com/linux/v5.15-rc4/source/lib/stackdepot.c#L136
then id does not need to be stored explicitly and can be easily mapped back to the stack in O(1):
https://elixir.bootlin.com/linux/v5.15-rc4/source/lib/stackdepot.c#L231
this would also remove all of StackDepotReverseMap machinery