On Wed, Feb 14, 2018 at 12:57 AM, Junio C Hamano <gits...@pobox.com> wrote: > Duy Nguyen <pclo...@gmail.com> writes: > >> It's very tempting considering that the amount of changes is much >> smaller. But I think we should go with my version. The hope is when a >> _new_ call site appears, the author would think twice before passing >> zero or one to the safe_path argument. > > Wouldn't it be a better API if the author of new callsite does not > have to think twice and can instead rely on the called function > untracked_cache_invalidate_path() to always do the right thing?
I am worried that always doing the right thing may carry performance penalty (this is based purely on reading verify_path() code, no actual benchmarking). For safety, you can always set safe_path to zero. But if you do a lot of invalidation and something starts to slow down, then you can consider setting safe_path to 1 (if it's actually safe to do so). I think we do mass invalidation in some case, so I will try to actually benchmark that and see if this safe_path argument is justified or if we can always call verify_path(). -- Duy