This is an old revision of the document!


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.

Please send talks, brainstorm topics, or other proposals to the session leaders, LawrenceStewart and GlebSmirnoff.

  • Protocols
    • TCP
  • Infrastructure
    • Hostcache (lstewart)
    • 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)
      • IOCTLs, rtentries, etc.
    • Stack-driver interface (andre)
      • RX/TX IFQ/Multiqueue
      • API/advertising hardware offload capabilities
    • Making ifnet opaque to driver
      • Juniper proposal?
  • Performance optimisation
    • Routing subsystem
      • FIB vs RIB
        Problem: Trie is too generic
      • 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

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)

(Add a list or attach slides detailing the achieved results here.)

  • devsummit/201309/networking.1380191153.txt.gz
  • Last modified: 2013/09/26 10:25
  • by LawrenceStewart