Add a note briefly mentioning the new policy about "skipping currently covered allocations if pool close to full." Since this has a notable impact on KFENCE's bug-detection ability on systems with large uptimes, it is worth pointing out the feature. Signed-off-by: Marco Elver <elver@xxxxxxxxxx> --- Documentation/dev-tools/kfence.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Documentation/dev-tools/kfence.rst b/Documentation/dev-tools/kfence.rst index 0fbe3308bf37..e698234999d6 100644 --- a/Documentation/dev-tools/kfence.rst +++ b/Documentation/dev-tools/kfence.rst @@ -269,6 +269,14 @@ tail of KFENCE's freelist, so that the least recently freed objects are reused first, and the chances of detecting use-after-frees of recently freed objects is increased. +If pool utilization reaches 75% or above, to reduce the probability of the pool +containing ~100% allocated objects yet ensure diverse coverage of allocations, +KFENCE limits currently covered allocations of the same source from further +filling up the pool. A side-effect is that this also limits frequent long-lived +allocations of the same source filling up the pool permanently, thereby +reducing the risk of the pool becoming full and the sampled allocation rate +dropping to zero. + Interface --------- -- 2.33.0.464.g1972c5931b-goog