Hi,

bridge(4) and wm(4) of latest NetBSD-current, that is
    - if_bridge.c:r1.123 (or later)
    - if_wm.c:r1.406 (or later)
are MP-scalable now, if the kernel is built with NET_MPSAFE option on.

Here is the measurement result by ipgen.
# ipgen is packet generator implemented by ryo@n.o.
# see
#     https://github.com/iij/ipgen
#     
http://www.netbsd.org/gallery/presentations/msaitoh/2016_AsiaBSDCon/ipgen.pdf


+ without NET_MPSAFE kernel

framesize|0M  100M 200M 300M 400M 500M 600M 700M 800M 900M 1Gbps
---------+----+----+----+----+----+----+----+----+----+----+
      64 |#######                                             125.00Mbps,  
186011/1488095pps
     128 |##############                                      268.97Mbps,  
227171/ 844594pps
     256 |############################################        875.64Mbps,  
396575/ 452898pps
     512 |################################################## 1000.00Mbps,  
234962/ 234962pps
    1024 |##################################################  999.99Mbps,  
119731/ 119731pps
    1280 |##################################################  999.99Mbps,   
96153/  96153pps
    1408 |################################################## 1000.00Mbps,   
87535/  87535pps
    1518 |################################################## 1000.00Mbps,   
81274/  81274pps


+ with NET_MPSAFE kernel 1 core

framesize|0M  100M 200M 300M 400M 500M 600M 700M 800M 900M 1Gbps
---------+----+----+----+----+----+----+----+----+----+----+
      64 |#############                                       253.91Mbps,  
377835/1488095pps
     128 |#########################                           482.43Mbps,  
407461/ 844594pps
     256 |##############################################      901.24Mbps,  
408169/ 452898pps
     512 |################################################## 1000.00Mbps,  
234962/ 234962pps
    1024 |##################################################  999.99Mbps,  
119731/ 119731pps
    1280 |##################################################  999.99Mbps,   
96153/  96153pps
    1408 |################################################## 1000.00Mbps,   
87535/  87535pps
    1518 |################################################## 1000.00Mbps,   
81274/  81274pps


+ with NET_MPSAFE kernel 2 core

framesize|0M  100M 200M 300M 400M 500M 600M 700M 800M 900M 1Gbps
---------+----+----+----+----+----+----+----+----+----+----+
      64 |########################                            468.87Mbps,  
697725/1488095pps
     128 |###########################################         840.66Mbps,  
710019/ 844594pps
     256 |################################################## 1000.00Mbps,  
452898/ 452898pps
     512 |################################################## 1000.00Mbps,  
234962/ 234962pps
    1024 |##################################################  999.99Mbps,  
119731/ 119731pps
    1280 |##################################################  999.99Mbps,   
96153/  96153pps
    1408 |################################################## 1000.00Mbps,   
87535/  87535pps
    1518 |################################################## 1000.00Mbps,   
81274/  81274pps


+ with NET_MPSAFE kernel 4 core

framesize|0M  100M 200M 300M 400M 500M 600M 700M 800M 900M 1Gbps
---------+----+----+----+----+----+----+----+----+----+----+
      64 |############################################        875.98Mbps, 
1303535/1488095pps
     128 |################################################## 1000.00Mbps,  
844594/ 844594pps
     256 |################################################## 1000.00Mbps,  
452898/ 452898pps
     512 |################################################## 1000.00Mbps,  
234962/ 234962pps
    1024 |##################################################  999.99Mbps,  
119731/ 119731pps
    1280 |##################################################  999.99Mbps,   
96153/  96153pps
    1408 |################################################## 1000.00Mbps,   
87535/  87535pps
    1518 |################################################## 1000.00Mbps,   
81274/  81274pps


+ with NET_MPSAFE kernel 8 core

framesize|0M  100M 200M 300M 400M 500M 600M 700M 800M 900M 1Gbps
---------+----+----+----+----+----+----+----+----+----+----+
      64 |################################################## 1000.00Mbps, 
1488094/1488095pps
     128 |################################################## 1000.00Mbps,  
844594/ 844594pps
     256 |################################################## 1000.00Mbps,  
452898/ 452898pps
     512 |################################################## 1000.00Mbps,  
234962/ 234962pps
    1024 |##################################################  999.99Mbps,  
119731/ 119731pps
    1280 |##################################################  999.99Mbps,   
96153/  96153pps
    1408 |################################################## 1000.00Mbps,   
87535/  87535pps
    1518 |################################################## 1000.00Mbps,   
81274/  81274pps


Thanks to ozaki-r@n.o's bridge(4) MP-scalable works, riastradh@n.o's
psref(9) pslist(9) works, and joerg@n'o's if_transmit interface advices.


Thanks,

-- 
//////////////////////////////////////////////////////////////////////
Internet Initiative Japan Inc.

Device Engineering Section,
IoT Platform Development Department,
Network Division,
Technology Unit

Kengo NAKAHARA <k-nakah...@iij.ad.jp>

Reply via email to