| 99 | #define BACKGROUND_THREAD_MIN_INTERVAL_NS (BILLION / 10) |
| 100 | |
| 101 | static inline size_t |
| 102 | decay_npurge_after_interval(arena_decay_t *decay, size_t interval) { |
| 103 | size_t i; |
| 104 | uint64_t sum = 0; |
| 105 | for (i = 0; i < interval; i++) { |
| 106 | sum += decay->backlog[i] * h_steps[i]; |
| 107 | } |
| 108 | for (; i < SMOOTHSTEP_NSTEPS; i++) { |
| 109 | sum += decay->backlog[i] * (h_steps[i] - h_steps[i - interval]); |
| 110 | } |
| 111 | |
| 112 | return (size_t)(sum >> SMOOTHSTEP_BFP); |
| 113 | } |
| 114 | |
| 115 | static uint64_t |
| 116 | arena_decay_compute_purge_interval_impl(tsdn_t *tsdn, arena_decay_t *decay, |
no outgoing calls
no test coverage detected