summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2023-01-19 10:49:47 +0100
committerMaria Matejka <mq@ucw.cz>2023-01-19 11:13:50 +0100
commit84c298465f6360a8694d4837f3420961ea321fa5 (patch)
tree273455bf0e6f1b7a1be8956692feacbf6b3484a3 /doc
parent4d8d81f144e72fe2e182d7569087f2a8c8c5b938 (diff)
Decoupling loops from threads to allow fixed thread count
On large configurations, too many threads would spawn with one thread per loop. Therefore, threads may now run multiple loops at once. The thread count is configurable and may be changed during run. All threads are spawned on startup. This change helps with memory bloating. BIRD filters need large temporary memory blocks to store their stack and also memory management keeps its hot page storage per-thread. Known bugs: * Thread autobalancing is not yet implemented. * Low latency loops are executed together with standard loops.
Diffstat (limited to 'doc')
-rw-r--r--doc/bird.sgml6
-rw-r--r--doc/reply_codes1
2 files changed, 7 insertions, 0 deletions
diff --git a/doc/bird.sgml b/doc/bird.sgml
index 3675d2e8..37028a3b 100644
--- a/doc/bird.sgml
+++ b/doc/bird.sgml
@@ -532,6 +532,12 @@ include "tablename.conf";;
killed by abort signal. The timeout has effective granularity of
seconds, zero means disabled. Default: disabled (0).
+ <tag><label id="opt-threads">threads <m/number/</tag>
+ Set how many worker threads should BIRD spawn. Tests show that every
+ thread can utilize one complete CPU core, therefore you probably want to
+ keep at least one free core. The maximum feasible thread count heavily
+ depends on the actual workload and must be determined by testing or estimation. Default: 1
+
<tag><label id="opt-mrtdump">mrtdump "<m/filename/"</tag>
Set MRTdump file name. This option must be specified to allow MRTdump
feature. Default: no dump file.
diff --git a/doc/reply_codes b/doc/reply_codes
index 02f4e656..bcbbbb03 100644
--- a/doc/reply_codes
+++ b/doc/reply_codes
@@ -61,6 +61,7 @@ Reply codes of BIRD command-line interface
1023 Show Babel interfaces
1024 Show Babel neighbors
1025 Show Babel entries
+1026 Show threads
8000 Reply too long
8001 Route not found