0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-10-18 09:58:43 +00:00
Commit Graph

1111 Commits

Author SHA1 Message Date
Maria Matejka
169677deeb Birdloop pipe is set O_CLOEXEC.
If we decide to exec something, we shouldn't pass along our intenal fds.
2024-10-05 15:54:15 +02:00
Maria Matejka
0eb1548cc4 Debug: Do not compile allocator debug journals in unless requested.
These journals can become very memory-heavy when it comes to
constrained environments where every 100k of RAM matters.
2024-10-05 15:54:15 +02:00
Maria Matejka
5400add300 Minimalist mainloop implementation 2024-10-05 15:54:15 +02:00
Maria Matejka
723569bc5d Properly handling situations when birdloops are created before spawning threads 2024-10-05 15:54:15 +02:00
Maria Matejka
0fc0e4618f Allocator parameters can be configured now. 2024-10-05 15:54:15 +02:00
Maria Matejka
d27c2b6ec5 Socket: pausing and restoring RX is a little bit more checked 2024-10-01 14:26:31 +02:00
Maria Matejka
d8df9c5d62 Socket: error hook is called from a function 2024-10-01 14:26:25 +02:00
Maria Matejka
65086fda3d Moved sk_open_unix() to common lib 2024-10-01 14:26:00 +02:00
Maria Matejka
cda025a1fa Splitting out BIRD static library for linking to other tools 2024-10-01 14:26:00 +02:00
Maria Matejka
971d651268 Thread config has an explicit structure 2024-10-01 14:26:00 +02:00
Maria Matejka
edd9ec599c Kernel preferred interface address updater decoupled from the lib 2024-10-01 14:26:00 +02:00
Maria Matejka
60bd75c174 Moved hostname resolver to logger 2024-10-01 14:25:58 +02:00
Maria Matejka
bd75a5253a Displaced show threads command to its own file 2024-10-01 14:24:55 +02:00
Maria Matejka
8e7fef42bb Disabling the old IO event logger as it doesn't run from worker loops anyway 2024-10-01 14:24:55 +02:00
Maria Matejka
386134d8e1 Splitting out clock and tracked files from sysdep/unix/io.c 2024-10-01 14:24:55 +02:00
Maria Matejka
d55a15a569 Global runtime splitout to BIRD specific and lib things 2024-10-01 14:24:55 +02:00
Maria Matejka
9f19dc0b3c Moved stored_sock to io-loop.c (old hack for mainloop) 2024-10-01 14:24:55 +02:00
Maria Matejka
3e21e1f9a0 Calling cf_warn from log_switch makes no sense 2024-10-01 14:24:55 +02:00
Maria Matejka
e70207b281 Displaced bird_name to log.c where it rightfully belongs 2024-10-01 14:24:51 +02:00
Maria Matejka
bb183c9d0c Sysdep: moved socket code into a separate file 2024-08-27 15:06:54 +02:00
Maria Matejka
e787a9210f NEWS and version update 2024-07-01 15:34:06 +02:00
Maria Matejka
d53582c9a1 show threads: displaying the same thread id's as in log 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
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
2a6fe617b1 IO: allow for faster loop dropping 2024-06-26 11:30:48 +02:00
Maria Matejka
7d455d64ca Remove spinlock debug structures in production build 2024-06-26 11:30:41 +02:00
Maria Matejka
2c4b368176 RPKI socket read is prioritized over other sockets 2024-06-26 11:29:43 +02:00
Maria Matejka
9be90c0f84 Fixed a race condition in rcu-domain blocking 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
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
397eee5a00 Config: Removed obsolete force_restart option when commiting 2024-06-14 23:16:07 +02:00
Maria Matejka
ea4aef2a14 Memory allocator tweaking
TODO: make this configurable
2024-06-12 14:48:33 +02:00
Maria Matejka
5c8179d63a Time accounting must be done by coarse timers
on some ARM, the precise timers are too slow to be actually useful
2024-06-12 14:48:33 +02:00
Maria Matejka
2e882d4a7d IO Loop: process socket reads only after timers and events are done 2024-06-12 14:48:33 +02:00
Maria Matejka
50d7287741 IO Threads: scheduler debug shows info on next loop to run 2024-06-12 14:48:33 +02:00
Maria Matejka
1180f25123 Threads: smoothening loop pickup and less aggressive dropping 2024-06-12 14:48:33 +02:00
Maria Matejka
8ad9c946e1 IO loop picker fixed
Now if the thread finds out that it actually isn't busy,
it unsets the business status and picks something up right away.
2024-06-12 14:48:33 +02:00
Maria Matejka
4bca3b9f86 Task-in-limit checker hacked for mainloop 2024-06-12 14:48:33 +02:00
Maria Matejka
661193cf98 Thread IO: a little bit faster RX repeat 2024-06-12 14:48:33 +02:00
Maria Matejka
bf961ba405 Threads shouldn't drop stopping loops 2024-06-12 09:23:50 +02:00
Maria Matejka
0fb9177374 Loop scheduler tracing options configurable 2024-06-12 09:23:50 +02:00
Maria Matejka
67e9a37291 Fixed nanoseconds in IO loop time limiter 2024-06-12 09:23:50 +02:00
Maria Matejka
4104d668d9 Read-write spinlocks 2024-06-12 09:23:50 +02:00
Maria Matejka
6ffab25f01 IO loop: fixed unassigned count 2024-06-04 22:20:18 +02:00
Maria Matejka
423eaf3438 Softened warning about too much time spent in loop
Now the warning needs at least 10 ms after the scheduled end time
to ever complain.

TODO: make this configurable
2024-06-04 22:20:18 +02:00