Max 300Mbps with a Linux 2 port bridge, ksoftirqd high CPU use


(Zug) #1

Hello,

I’ve setup an L2 bridge on 2 ports from my BPI-R1, but I am only able to get 300Mbps throughput and was hoping for close to 1Gpbs. During my test I am seeing high CPU use from ksoftirqd (90%+), could this be due to the way I’ve configured it?

I am using Bananian Linux, here is my configuration:

swconfig

#!/bin/bash
ifconfig eth0 up

# The swconfig port number are:
# |2|1|0|4|  |3|
# (looking at front of ports)

swconfig dev eth0 set reset 1
swconfig dev eth0 set enable_vlan 1
swconfig dev eth0 vlan 101 set ports '3 8t'
swconfig dev eth0 vlan 201 set ports '4 8t'
swconfig dev eth0 vlan 202 set ports '0 8t'
swconfig dev eth0 vlan 203 set ports '1 8t'
swconfig dev eth0 vlan 204 set ports '2 8t'
swconfig dev eth0 set apply 1

interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto eth0.101
iface eth0.101 inet dhcp

auto eth0.201
iface eth0.201 inet manual

auto eth0.202
iface eth0.202 inet manual

bridge.sh

#!/bin/bash

brctl addbr br0 

ifconfig eth0.201 0.0.0.0 down
ifconfig eth0.202 0.0.0.0 down

brctl addif br0 eth0.201
brctl addif br0 eth0.202

ifconfig eth0.201 up
ifconfig eth0.202 up
ifconfig br0 up

#2

Hi John,

This is the technical limitation of the chips, if you want to know more about it read this thread.

Cheers Tido


(Zug) #3

Ah thank you, good to know