0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 09:41:54 +00:00
Commit Graph

5226 Commits

Author SHA1 Message Date
Maria Matejka
d53582c9a1 show threads: displaying the same thread id's as in log 2024-06-28 22:03:45 +02:00
Maria Matejka
c2480ff533 Export: Throw a warning instead of crashing on export_accepted_map inconsistency 2024-06-28 22:03:45 +02:00
Maria Matejka
edffd82057 Config undo queuing bug fixed 2024-06-28 22:03:45 +02:00
Maria Matejka
45fb9742f0 BGP runs TX as a deferred routine
This should help flushing the tx buffers as soon as possible.
2024-06-28 22:03:45 +02:00
Maria Matejka
6eea722d3f Forbid locking altogether when RCU reader is active 2024-06-28 22:03:45 +02:00
Maria Matejka
1e77e6e1b2 Flush deferred calls directly after the loop finished its one run 2024-06-28 22:03:45 +02:00
Maria Matejka
865bab6237 IO: Allow to take new loops if the thread is hot, but only one at time 2024-06-28 22:03:45 +02:00
Maria Matejka
18d069d663 Even on shutdown we should try to pass the freed memory to others 2024-06-27 08:22:15 +02:00
Maria Matejka
af73cc4215 Allocator now reports cold pages 2024-06-26 20:45:54 +02:00
Maria Matejka
aa11e82174 Filter unit test uncertainty hack 2024-06-26 18:30:17 +02:00
Maria Matejka
be2ba84e50 Tame improper xmalloc warning 2024-06-26 17:21:26 +02:00
Maria Matejka
b797444e94 Merge commit 'b95dc8f29f18eb177f91fdc4bf0716fac9b15366' into mq-config-ref
Also converted all _Bool's to bool.
2024-06-26 17:19:24 +02:00
Maria Matejka
16e53f3f30 channel roa reload debug message 2024-06-26 15:13:12 +02:00
Maria Matejka
2a6fe617b1 IO: allow for faster loop dropping 2024-06-26 11:30:48 +02:00
Maria Matejka
a4a7e09478 Revert "BGP: Export uses common attribute cache"
This reverts commit d01a7c2bda.

It seems that the performance penalty in global ea cache is actually
very high so returning back to local attribute caches in every BGP.
2024-06-26 11:30:48 +02:00
Maria Matejka
a9534186f1 Fixed fast subsequent reconfigurations bug 2024-06-26 11:30:41 +02:00
Maria Matejka
7d455d64ca Remove spinlock debug structures in production build 2024-06-26 11:30:41 +02:00
Maria Matejka
5b7fd453d4 BGP: show proto info crash fix if BGP is down 2024-06-26 11:30:41 +02:00
Maria Matejka
9f7874a5c9 BGP: using closer pointer for netindex hash than all the way to the table 2024-06-26 11:30:41 +02:00
Maria Matejka
8e67cba528 Linpool: allocation split to fast and slow 2024-06-26 11:30:41 +02:00
Maria Matejka
3d45539455 ROA aggregator uses its own rte source instead of recycling 2024-06-26 11:29:43 +02:00
Maria Matejka
6f981969bb RCU read lock optimization 2024-06-26 11:29:43 +02:00
Maria Matejka
d23db54da0 ROA: Switching off digestor splitting 2024-06-26 11:29:43 +02:00
Maria Matejka
4998ca5554 Route attribute usecount doesn't need to synchronize on unlock 2024-06-26 11:29:43 +02:00
Maria Matejka
2c4b368176 RPKI socket read is prioritized over other sockets 2024-06-26 11:29:43 +02:00
Maria Matejka
f9b46a1ba1 Refeed done hooks are called in the same order as the requests came in 2024-06-26 11:29:43 +02:00
Maria Matejka
0b6e752bd9 Conflating multiple partial ROA reload requests together 2024-06-26 11:29:43 +02:00
Maria Matejka
bd44a13ce5 Spinhash main lock removed
Spinhash now uses RCU instead to guard cur-new exchanges to avoid
excessive synchronization and cache misses on the main spinlock.
2024-06-26 11:29:12 +02:00
Maria Matejka
282066ee29 Moved the cork thresholds massively up
This allows for more efficient import and export bundling, including
best route export and next hop resolution.
2024-06-26 11:29:12 +02:00
Maria Matejka
9be90c0f84 Fixed a race condition in rcu-domain blocking 2024-06-19 12:36:55 +02:00
Maria Matejka
67875e76d9 Safer cleanup of table auxiliary routines 2024-06-19 12:36:55 +02:00
Maria Matejka
dda37842dc No page flush before polling
The maximum amount of locally kept pages is 128 so we can just
well keep the half-meg of RAM allocated and prepared for future use.
2024-06-18 11:02:51 +02:00
Maria Matejka
a1405a5bc7 Prefilter runs before generating feeds 2024-06-16 21:36:45 +02:00
Maria Matejka
d6233b4de0 Table cork now uses callbacks and direct flush to uncork 2024-06-15 23:31:44 +02:00
Maria Matejka
83045e9a1f Configuration obstacles made a separate, explicit structure
With this, one can walk the obstacle list in a debugger and
easier see which specific object is holding the reference.
2024-06-14 23:16:07 +02:00
Maria Matejka
61dcbb1d83 Global runtime values separated from config 2024-06-14 23:16:07 +02:00
Maria Matejka
73ad0e2dcb CLI: Show symbols, route and mpls explicitly passes the actual config to the show function 2024-06-14 23:16:07 +02:00
Maria Matejka
c4fbc5592d Filter global values are not used directly from config 2024-06-14 23:16:07 +02:00
Maria Matejka
397eee5a00 Config: Removed obsolete force_restart option when commiting 2024-06-14 23:16:07 +02:00
Maria Matejka
ea996d8403 CLI keeps its active config pointer explicitly 2024-06-14 23:16:07 +02:00
Maria Matejka
f5fd70c54a Callback: bundling event with its target 2024-06-14 23:16:07 +02:00
Maria Matejka
4ac55615e4 BGP and HCU uncorking is processed in the right loop
closes #86

The uncork events are running from mainloop so these should just
dispatch the right event to the right loop. Doing anything long there
is bad for performance and latency as the uncork list may be huge.
2024-06-12 22:40:17 +02:00
Maria Matejka
3ed192edc3 Table: RCU synchronization moved to lfjour
the sync is actually needed when the pages get freed, not precisely
after every item cleanup, as the data technically stays intact until the
deferred free's are called.
2024-06-12 18:07:40 +02:00
Maria Matejka
bd05dd7304 Netindex cleanup calls synchronize_rcu() by batches 2024-06-12 14:48:33 +02:00
Maria Matejka
95d8329043 Table: fixed export_all flush when export_best is idle 2024-06-12 14:48:33 +02:00
Maria Matejka
0e42398304 Removed unnecessary recursion from rt_export_get() 2024-06-12 14:48:33 +02:00
Maria Matejka
76a1998ff5 Netindex rehash debug 2024-06-12 14:48:33 +02:00
Maria Matejka
9991fbbe0b TMP: table best-all cleanup debug 2024-06-12 14:48:33 +02:00
Maria Matejka
ea4aef2a14 Memory allocator tweaking
TODO: make this configurable
2024-06-12 14:48:33 +02:00
Maria Matejka
951d0422fa Attributes: fix collision on free-lookup
Freeing the eattrs is tricky as somebody else may find them
via RTA-unlocked lookup inbetween.
2024-06-12 14:48:33 +02:00