Discussion:
bridge(4) and wm(4) with NET_MPSAFE is MP-scalable for now
(too old to reply)
Kengo NAKAHARA
2016-05-19 09:01:11 UTC
Permalink
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 ***@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-***@n.o's bridge(4) MP-scalable works, ***@n.o's
psref(9) pslist(9) works, and ***@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-***@iij.ad.jp>

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Kamil Rytarowski
2016-05-20 00:34:44 UTC
Permalink
Post by Kengo NAKAHARA
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.
# 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,
Congrats! It looks fantastic.

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Loading...