0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 02:01:55 +00:00
bird/sysdep/unix
Maria Matejka 020c34136f Table feeds are now lockless
This commit makes the route chains in the tables atomic. This allows not
only standard exports but also feeds and bulk exports to be processed
without ever locking the table.

Design note: the overall data structures are quite brittle. We're using
RCU read-locks to keep track about readers, and we're indicating ongoing
work on the data structures by prepending a REF_OBSOLETE sentinel node
to make every reader go waiting.

All the operations are intended to stay inside nest/rt-table.c and it
may be even best to further refactor the code to hide the routing table
internal structure inside there. Nobody shall definitely write any
routines manipulating live routes in tables from outside.
2024-06-24 09:42:03 +02:00
..
alloc_test.c Fixed a bug in hot page global storage 2023-05-06 10:50:32 +02:00
alloc.c Fixed all implicit seq_cst warnings caused by the previous commit 2024-06-24 09:42:03 +02:00
config.Y Merge commit '2c7555cf2ac8439713dd9148b348128c57222a38' into thread-next 2024-01-28 23:01:39 +01:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
domain.c Refactoring of domains connected to pools 2023-04-25 09:52:28 +02:00
endian.h OpenBSD port related changes. 2009-05-11 01:32:49 +02:00
io-loop.c Removed the obsolete birdloop flagger 2024-06-24 09:42:03 +02:00
io-loop.h Removed the obsolete birdloop flagger 2024-06-24 09:42:03 +02:00
io.c Fixed all implicit seq_cst warnings caused by the previous commit 2024-06-24 09:42:03 +02:00
krt.c Table feeds are now lockless 2024-06-24 09:42:03 +02:00
krt.h Kernel: replaced synchronous prune by a refeed 2024-06-24 09:42:03 +02:00
krt.Y Merge commit 'v2.13.1-189-g105e50f6' into thread-next 2024-01-28 14:42:36 +01:00
log.c Fixed all implicit seq_cst warnings caused by the previous commit 2024-06-24 09:42:03 +02:00
main.c Merge branch 'mq-aggregator-for-v3' into thread-next 2023-11-08 21:51:46 +01:00
Makefile Fixed a bug in hot page global storage 2023-05-06 10:50:32 +02:00
random.c sysdep: Add wrapper to get random bytes - update 2021-06-06 16:26:06 +02:00
unix.h Merge commit '2c7555cf2ac8439713dd9148b348128c57222a38' into thread-next 2024-01-28 23:01:39 +01:00