From 2c290dc8380435e2dbac2513f6e6c1dac5e9988d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 20 Apr 2024 09:16:29 +0200 Subject: [PATCH] fixup! rrl: modify KRU api to return maximum final load value - reordering saves 8 bytes per struct (on typical 64-bit platforms) - don't assume that *max_load_out is initialized reasonably (the doc-comment doesn't suggest that it's needed) --- daemon/rrl/kru.inc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/daemon/rrl/kru.inc.c b/daemon/rrl/kru.inc.c index bd43cab1e..5f630fb78 100644 --- a/daemon/rrl/kru.inc.c +++ b/daemon/rrl/kru.inc.c @@ -167,8 +167,8 @@ struct query_ctx { kru_price_t price; uint16_t price16, limit16; uint16_t id; - uint16_t *load; uint16_t final_load_value; // set by kru_limited_update if not blocked + uint16_t *load; }; /// Phase 1/3 of a query -- hash, prefetch, ctx init. Based on one 16-byte key. @@ -481,6 +481,7 @@ static uint8_t kru_limited_multi_prefix_or(struct kru *kru, uint32_t time_now, u } if (max_load_out) { + *max_load_out = 0; for (size_t i = 0; i < queries_cnt; i++) { *max_load_out = MAX(*max_load_out, ctx[i].final_load_value); } -- 2.47.2