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 |
|
Maria Matejka
|
2705c385c0
|
Never allow more than 300 ms per loop
|
2024-06-04 10:11:36 +02:00 |
|