summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2023-02-27 22:03:41 +0100
committerMaria Matejka <mq@ucw.cz>2023-04-04 17:00:58 +0200
commit9073eda854ecee61f723894e66036de266e63606 (patch)
treeb227907e2d0a96be3cfcb7ea2862ae0e4ae338f1
parente565e045b6be0deae5c55bd3ae64fc1909a0a873 (diff)
Reducing initial channel bitmap sizes to help extreme cases
-rw-r--r--nest/proto.c8
-rw-r--r--nest/rt-table.c4
2 files changed, 6 insertions, 6 deletions
diff --git a/nest/proto.c b/nest/proto.c
index aaa2a602..b172ad2d 100644
--- a/nest/proto.c
+++ b/nest/proto.c
@@ -516,8 +516,8 @@ channel_start_export(struct channel *c)
.log_state_change = channel_export_log_state_change,
};
- bmap_init(&c->export_map, c->proto->pool, 1024);
- bmap_init(&c->export_reject_map, c->proto->pool, 1024);
+ bmap_init(&c->export_map, c->proto->pool, 16);
+ bmap_init(&c->export_reject_map, c->proto->pool, 16);
channel_reset_limit(c, &c->out_limit, PLD_OUT);
@@ -597,8 +597,8 @@ channel_export_stopped(struct rt_export_request *req)
channel_reset_limit(c, &c->out_limit, PLD_OUT);
- bmap_reset(&c->export_map, 1024);
- bmap_reset(&c->export_reject_map, 1024);
+ bmap_reset(&c->export_map, 16);
+ bmap_reset(&c->export_reject_map, 16);
rt_request_export(c->table, req);
return;
diff --git a/nest/rt-table.c b/nest/rt-table.c
index bd7cb259..a737e1b3 100644
--- a/nest/rt-table.c
+++ b/nest/rt-table.c
@@ -2215,7 +2215,7 @@ rt_init_export(struct rt_exporter *re UNUSED, struct rt_export_hook *hook)
{
hook->event.data = hook;
- bmap_init(&hook->seq_map, hook->pool, 1024);
+ bmap_init(&hook->seq_map, hook->pool, 16);
/* Regular export */
rt_set_export_state(hook, TES_FEEDING);
@@ -3206,7 +3206,7 @@ rt_export_cleanup(struct rtable_private *tab)
continue;
ASSERT_DIE(atomic_load_explicit(&eh->last_export, memory_order_acquire) == NULL);
- bmap_reset(&eh->h.seq_map, 1024);
+ bmap_reset(&eh->h.seq_map, 16);
}
tab->exporter.next_seq = 1;