Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-02-03 | Route table fast prune fixup | Maria Matejka | |
2022-02-03 | Babel: fixed interface pool removal | Maria Matejka | |
2022-02-03 | Dropping a nonsensical assert which broke Babel | Maria Matejka | |
2022-02-03 | Removing periodic wakeup of mainloop in debug version to search for ↵ | Maria Matejka | |
notification issues | |||
2022-02-03 | Performance data of sark vs. v2.0.8 with a chart generator | Maria Matejka | |
2021-12-22 | Thread documentation: Chapter 4 on memory management | Maria Matejka | |
2021-12-08 | Thread documentation: Completely rewritten chapter 3 on loops and locks | Maria Matejka | |
2021-12-08 | Final version of asynchronous export documentation | Maria Matejka | |
2021-12-08 | Thread documentation: chapter 3, coroutines and locking | Maria Matejka | |
2021-12-08 | Thread documentation: chapters 0, 1 and 2 | Maria Matejka | |
2021-12-07 | Fixed build errors for OpenBSD | Maria Jan Matejka | |
2021-12-07 | Fixed standby memory page counters on shutdown | Maria Matejka | |
Bug introduced by commit 38278d94ba0a179d5eeb061a59850a4e1c150e5b. | |||
2021-12-07 | GDB: io loop printing support in resource dumps, better iterating over ↵ | Maria Matejka | |
linpool chunks | |||
2021-12-07 | Fixed a race condition in channel aux table cleanup | Maria Matejka | |
2021-12-07 | Event list asserts to prevent running into rotten data | Maria Matejka | |
2021-12-07 | Using more Python-ish constructions in BIRD linked-list accessors | Maria Matejka | |
2021-12-07 | Main IO loop shouldn't skip sockets when ping is received | Maria Matejka | |
2021-12-02 | Standby memory pages are accounted for as overhead in show memory command | Maria Matejka | |
2021-12-01 | No memory unmapping when shutting down | Maria Matejka | |
All the memory is just freed implicitly on exit, no need for page-by-page unmapping. | |||
2021-12-01 | Faster shutdown and cleanups by freeing route attributes strictly from main loop | Maria Matejka | |
2021-12-01 | Faster prune on table deletion | Maria Matejka | |
2021-12-01 | Table prune routines request export announcements directly | Maria Matejka | |
2021-12-01 | fixed duplicate routes propagation | Maria Matejka | |
2021-12-01 | Merge branch 'master' into HEAD | Maria Matejka | |
2021-12-01 | Fix of shutdown: premature log cleanup led to use-after-free | Maria Matejka | |
2021-12-01 | Page allocator moved from pools to IO loops. | Maria Matejka | |
The resource pool system is highly hierarchical and keeping spare pages in pools leads to unnecessarily complex memory management. Loops have a flat hiearchy, at least for now, and it is therefore much easier to keep care of pages, especially in cases of excessive virtual memory fragmentation. | |||
2021-11-30 | For safer memory allocations, resources are bound to loops. | Maria Matejka | |
Also all loops have their basic resource pool for allocations which are auto-freed when the loop is stopping. | |||
2021-11-27 | Memory statistics split into Effective and Overhead | Maria Matejka | |
This feature is intended mostly for checking that BIRD's allocation strategies don't consume much memory space. There are some cases where withdrawing routes in a specific order lead to memory fragmentation and this output should give the user at least a notion of how much memory is actually used for data storage and how much memory is "just allocated" or used for overhead. Also raising the "system allocator overhead estimation" from 8 to 16 bytes; it is probably even more. I've found 16 as a local minimum in best scenarios among reachable machines. I couldn't find any reasonable method to estimate this value when BIRD starts up. This commit also fixes the inaccurate computation of memory overhead for slabs where the "system allocater overhead estimation" was improperly added to the size of mmap-ed memory. | |||
2021-11-24 | fixup of table reload bug | Maria Matejka | |
2021-11-24 | Directly mapped pages are kept for future use if temporarily not needed | Maria Matejka | |
2021-11-24 | GDB pretty printer for resource pools | Maria Matejka | |
2021-11-23 | Fixed pipe reload/refeed | Maria Matejka | |
2021-11-23 | Stored pages release routine | Maria Matejka | |
2021-11-23 | Fixed channel export map confusion | Maria Matejka | |
2021-11-22 | BGP: End route refresh before another starts | Maria Matejka | |
2021-11-22 | RPKI has its own loop | Maria Matejka | |
2021-11-22 | RPKI: Use the route refresh mechanism also for the first load | Maria Matejka | |
2021-11-22 | More information on RPKI errors | Maria Matejka | |
2021-11-22 | Higher settle times when route refresh in the source table is running | Maria Matejka | |
2021-11-22 | Corking also feed start to keep BIRD running when refeeds would easily cause ↵ | Maria Matejka | |
congestion | |||
2021-11-22 | Route attribute cache is now lockless on read / clone. | Maria Matejka | |
Lots of time was spent locking when accessing route attribute cache. This overhead should be now reduced to a minimum. | |||
2021-11-22 | Route sources have their separate global lock | Maria Matejka | |
2021-11-22 | Introducing basic RCU primitives for lock-less shared data structures | Maria Matejka | |
2021-11-22 | VRF setting reduced to one argument, using default dummy iface for default vrf | Maria Matejka | |
2021-11-22 | Route table import-to-export announcement indirection to reduce pipe traffic | Maria Matejka | |
2021-11-22 | Keeping un-unmmappable pages until they can be reused | Maria Matejka | |
On Linux, munmap() may fail with ENOMEM when virtual memory is too fragmented. Working this around by just keeping such blocks for future use. | |||
2021-11-22 | Pipe runs in parallel. | Maria Matejka | |
2021-11-22 | Routing tables now have their own loops. | Maria Matejka | |
This basically means that: * there are some more levels of indirection and asynchronicity, mostly in cleanup procedures, requiring correct lock ordering * all the internal table operations (prune, next hop update) are done without blocking the other parts of BIRD * the protocols may get their own loops very soon | |||
2021-11-22 | Route subscription uses events | Maria Matejka | |
2021-11-22 | Global table update pool removed | Maria Matejka | |