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,