Maria Matejka
4d502e934a
fixup! fixup! IO: Allow to take new loops if the thread is hot, but only one at time
2024-06-27 14:28:49 +02:00
Maria Matejka
825be30115
fixup! IO: Allow to take new loops if the thread is hot, but only one at time
2024-06-27 14:25:06 +02:00
Maria Matejka
5288e22d22
fixup! fixup! show threads: displaying the same thread id's as in log
2024-06-27 14:19:29 +02:00
Maria Matejka
8d3a5cad41
fixup! show threads: displaying the same thread id's as in log
2024-06-27 14:15:01 +02:00
Maria Matejka
71d362d439
show threads: displaying the same thread id's as in log
2024-06-27 14:04:26 +02:00
Maria Matejka
732aef301b
Export: Throw a warning instead of crashing on export_accepted_map inconsistency
2024-06-27 13:49:37 +02:00
Maria Matejka
235ec45954
fixup! fixup! BGP runs TX as a deferred routine
2024-06-27 13:34:22 +02:00
Maria Matejka
24dfee88a2
Config undo queuing bug fixed
2024-06-27 09:48:38 +02:00
Maria Matejka
efc64ccd1e
fixup! BGP runs TX as a deferred routine
2024-06-27 09:48:07 +02:00
Maria Matejka
1e21fdb93e
BGP runs TX as a deferred routine
...
This should help flushing the tx buffers as soon as possible.
2024-06-27 09:34:23 +02:00
Maria Matejka
e96c44e32d
fixup! Forbid locking altogether when RCU reader is active
2024-06-27 09:08:01 +02:00
Maria Matejka
8424941f95
Forbid locking altogether when RCU reader is active
2024-06-27 08:42:18 +02:00
Maria Matejka
e2a427fc30
Flush deferred calls directly after the loop finished its one run
2024-06-27 08:37:05 +02:00
Maria Matejka
2bf28e790e
IO: Allow to take new loops if the thread is hot, but only one at time
2024-06-27 08:26:00 +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