]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Reducing initial channel bitmap sizes to help extreme cases
authorMaria Matejka <mq@ucw.cz>
Mon, 27 Feb 2023 21:03:41 +0000 (22:03 +0100)
committerMaria Matejka <mq@ucw.cz>
Tue, 4 Apr 2023 15:00:58 +0000 (17:00 +0200)
nest/proto.c
nest/rt-table.c

index aaa2a6023ba6c4a571b051be4a142e7f014b2921..b172ad2d912a8ad45c2c0ace5ad7eb15accb25f9 100644 (file)
@@ -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;
index bd7cb259b87f629a09d7d310288ab51c9aa6a769..a737e1b31283c36e776b5a89c7bad76bebfc00f1 100644 (file)
@@ -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;