This is an old revision of the document!


Networking session

  • mbuf allocation improvements - variable size mbufs (*)
  • TCP - work deferral Van Jacobson bet channels (*)
  • Connection Groups with RSS [ ]
  • Batching vs. Latency (eg. LRO, TSO) (discuss)
  • Profiling
  • NUMA - DMA
  • “config lock”: rmlocks - RCU - giant lock [ ]
    • upsides:
      • many fewer lock ops
      • less line contention
      • cache locality
    • downsides:
      • update latency - loss of granularity
      • pinning - priority inversions
    • Questions:
      • what goes under rmlocks?
      • what uses RW/etc.?
      • What is suitable per write rate for config lock?
      • What is read time distribution
      • What is priority propagation cost?
      • Profile paths followed under read + write
    • WITNESS?
    • Profiling
    • Entry points to possibly acquire global rmlock?
      • netisr
      • socket entry
      • protocol callouts/ioctls
      • device-driver ithread - BPF
      • device-driver task queues
      • device-driver ioctls
      • firewall / dummynet / altq
      • link-layer (e.g 802.11)
      • interface cloning/destory
      • netgraph (eg. ng_tty)
      • sysctls
      • VIMAGE/SYSINITS
  • route caches, flowcache, … [ ]
  • vertical lock coalescing [ ] (discuss)
  • affinity-APIs - user space
  • netmap changes

Legend: - (*) Robert can tell us about - [ ] make decisions - (discuss) well, discuss

  • Config lock-related
    • ioctls/etc.
    • measure read/write lock ratio
      • global ifnet
      • ifnet address locks + ifaddr
      • lltable + llentry
      • firewall lists
      • firewall rules
      • host cache - IPv6
      • |? routing table + rtentries
      • || inpcbinfo
        • UDP
        • TCP
        • syncache
      • nd6 prefix list, etc.
      • || connection groups
      • ethernet bridge config
      • SNMP-monitored things
      • netisr
      • BPF
    • Lock traces for common paths, stats
    • Cache-line contention measurements
    • packet narrative traces
    • measurement scenarios:
      • classic web
      • web w/ lagg
      • varnish
      • mySQL
      • tunnel services / VPN / L2TP
      • (full) BGP actively changed (peak 25/s ?)
      • NFS scenarios
      • different LAN sites
      • dynamic firewall rules
      • ethernet bridge
      • DNS-like (heavy UDP)
  • HTM / STM (TM == transactional memory) features
  • devsummit/201308/networking.1377684866.txt.gz
  • Last modified: 2013/08/28 10:14
  • by BjoernZeeb