tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

bridge(4) and wm(4) with NET_MPSAFE is MP-scalable for now



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-nakahara%iij.ad.jp@localhost>


Home | Main Index | Thread Index | Old Index