From 01324d2ebb915a5ee753fccb2d9be93b89172db5 Mon Sep 17 00:00:00 2001 From: evgeny Date: Sun, 11 Oct 2026 13:15:55 +0200 Subject: [PATCH] Avoid an extra FEC cut for a marginal overload safety reserve --- src/stream/stream_network.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/stream/stream_network.c b/src/stream/stream_network.c index f669311c..37611afd 100644 --- a/src/stream/stream_network.c +++ b/src/stream/stream_network.c @@ -1144,7 +1144,7 @@ static void pressure_tick(struct stream_network *net, uint64_t now) { else if (!net->global_candidate) { net->global_candidate = 1; net->global_since_ms = now; } net->global_pressure = net->global_candidate && now - net->global_since_ms >= STREAM_LOAD_CONFIRM_MS; if (net->global_pressure) { - uint64_t required = global.growth_rate ? global.growth_rate + global.growth_rate / 10 + 1 : global.queued.bytes / 2 + 1; + uint64_t required = global.growth_rate ? global.growth_rate + global.growth_rate / 100 + 1 : global.queued.bytes / 2 + 1; for (unsigned pass = 0; pass < net->peer_count && required; pass++) { struct stream_peer *best = NULL; uint64_t best_rate = 0; for (struct stream_peer *p = net->peers; p; p = p->next) { @@ -1164,7 +1164,7 @@ static void pressure_tick(struct stream_network *net, uint64_t now) { p->busy++; if (!net->global_pressure && p->load.snapshot.confirmed && !p->pressure.active && !p->cooling) { uint64_t g = p->load.snapshot.growth_rate; - pressure_begin(p, g ? g + g / 10 + 1 : p->load.queued.bytes / 2 + 1, now); + pressure_begin(p, g ? g + g / 100 + 1 : p->load.queued.bytes / 2 + 1, now); } if (p->pressure.active && now >= p->pressure.deadline_ms) { DEBUG_WARN(DEBUG_CATEGORY_STREAM, "stream OVERLOAD deadline peer=%llx id=%llu released=%llu required=%llu",