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 [email protected].
# 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 [email protected]'s bridge(4) MP-scalable works, [email protected]'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 <[email protected]>