mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-23 15:32:25 +00:00
5e5fe7291a
The commit adds support to throttle the rate of the RX IRQs to a specified value. The effect is, that no RX IRQs below the time threshold will fire and therefore the CPU load gets reduced on the host. Trade-off gaming between cpu load, throughput, overload. Modular Sculpt 23.10 on S938 as testcase. In brackets the CPU affinity is denoted. ipxe (0,0) -> nic_router (1,0) -> Debian VM vbox6 (3,0) and (3,1) VM: iperf -C X.X.X.X -t 60 -R iperf server X.X.X.X is outside Sculpt and sends data due to '-R' to VM Non representative measure points: cpu load - ipxe - nic_router - iperf throughput -------------------------------------------------- w/o patch - ~80% - ~50% - ~706 MBit/s - 0 -> throttling off by default on S938 patch 651 - ~20% - ~35% - ~763 MBit/s - 651 -> 0.166ms throttle RX IRQ patch 5580 - ~15% - ~25% - ~650 MBit/s - 5580 -> 1.4ms throttle RX IRQ Issue #5149 |
||
---|---|---|
.. | ||
include/dde_ipxe | ||
lib/mk | ||
patches | ||
ports | ||
recipes | ||
src | ||
README |
This repository contains the device-driver environment (DDE) for the "donator OS" iPXE available from http://ipxe.org/. For building DDE iPXE, you first need to fetch and patch the original sources. The 'prepare_port' tool automates this task. Just issue: ! ./tool/ports/prepare_port dde_ipxe Now, you need to include the DDE iPXE repository into your Genode build configuration by adding the path to this directory to the 'REPOSITORIES' declaration of the 'etc/build.conf' file within your build directory, for example ! REPOSITORIES += $(GENODE_DIR)/repos/dde_ipxe After a successful build the DDE iPXE based ethernet driver is located at 'bin/ipxe_nic_drv'. The driver optionally reports the following information under the label "devices" if requested in the config as depicted. ! <config> <report mac_address="true"/> </config> ! <devices> <nic mac_address="02:00:00:00:00:01"/> </devices>