This is an old revision of the document!
FreeBSD Developer Summit: Networking Working Group
We would like to cover the following topics. This is not an exhaustive list and if you feel there is something missing that you want to talk about, contact the session chair and your topic will be included here.
Agenda
Please send talks, brainstorm topics, or other proposals to the session leaders, LawrenceStewart and GlebSmirnoff.
- Protocols
- TCP
- Hostcache
- Infrastructure
- Interface dangling pointers
- RX pointer in mbufs
Problem: we don't refcount interface per mbuf which can lead to dangling pointers (particularly problematic in subsystems which hold mbufs for some time e.g. dummynet, netgraph)
- Performance optimisation
- Routing subsystem
- rtentry locking Problem: Per-packet per-rtentry locking kills performance
- Netgraph (Alexander, Gleb)
- Topology locking
Problem: Topology locking hurts performance and doesn't currently protect nodes from all possible config changes which can lead to panic - Hand rolled RW locking
Problem: For nodes that do nothing e.g. ng_tee, atomic inc/dec is too heavy weight, so ideally need a better solution for all nodes
- Fast path locking
- Fast path cache misses, amount of memory accessed per read/write (Adrian)
- MBUFS
- Ref counting
Problem: uint32_t's coming from single zone result in 16 sharing a cache line on modern x86 machines, which causes cache thrashing
Possible solutions:
- Batching
- Multi-(process|thread) accept (Gleb) Problem:
Possible solutions:
- Light weight ref counter based on count(9) (Gleb) Problem:
- Testing
- NSC userpsace stack Overview:
- Testing @ Netflix (Lawrence)
- Testing @ Orange (Olivier)
- Ownership
Possible Topics
These are the possible topics for this working group. Ideally, someone will volunteer to research the current state to allow an informed discussion to take place. Please contact the session leaders, LawrenceStewart and GlebSmirnoff, to coordinate. The session leaders will set the final working agenda based on feedback received.
(insert topics here)
Results
(Add a list or attach slides detailing the achieved results here.)