Parallelize ip_flow:
commit0c59f7ebaa2026967e841df2a1510aff9a8b25c5
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 3 Apr 2008 13:43:29 +0000 (3 13:43 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 3 Apr 2008 13:43:29 +0000 (3 13:43 +0000)
treec14a01de22717fb24b58b3bb078e59502a4e06bc
parent59c3ee2deabe8ba4e30730f8d0c3d70252957390
Parallelize ip_flow:
- Create per-CPU ipflow hash table.  During initial ipflow installation, route
  entry to the destination is allocated on each CPU and cached in the ipflow,
  so each CPU will only access the route entry owned by itself.
- Timeout processing on per-CPU ipflow hash table is initialized by broadcasting
  IPI to each CPU.  In IPI, a per-CPU netmsg is used to inform CPU local netisr
  to do the real timout processing.
- Add sysctl node to show how many ipflow entries are used on the each CPU.
sys/netinet/ip_flow.c
sys/netinet/ip_input.c