From e2086ac8e4b50f508f3f4a6e3a46caae5370c05f Mon Sep 17 00:00:00 2001 From: Johannes Schlatow Date: Wed, 20 Jul 2022 10:27:19 +0200 Subject: [PATCH] nic_router: change max_packets_per_signal default According to a benchmarking series on Zynq (base-hw) and x260 (base-nova) using test-nic_perf_router, increasing the 'max_packets_per_signal' has a significant effect on the packet throughput. By increasing the default value from 32 to 150, we could gain a few hundred Mbit/s. Increasing the value further does not seem to have such a strong effect, though. genodelabs/genode#4555 --- repos/os/src/server/nic_router/README | 2 +- repos/os/src/server/nic_router/configuration.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/repos/os/src/server/nic_router/README b/repos/os/src/server/nic_router/README index eae491da8c..942d6ab578 100644 --- a/repos/os/src/server/nic_router/README +++ b/repos/os/src/server/nic_router/README @@ -793,7 +793,7 @@ this can lead to starvation of the other interfaces. Thus, the maximum number of packets handled per signal is limited by default. This limit can be configured as follows (default value shown): -! +! When set to zero, the limit is deactivated, meaning that the router always handles all available packets of an interface. diff --git a/repos/os/src/server/nic_router/configuration.cc b/repos/os/src/server/nic_router/configuration.cc index ba0428a5a6..2c54344b6e 100644 --- a/repos/os/src/server/nic_router/configuration.cc +++ b/repos/os/src/server/nic_router/configuration.cc @@ -111,7 +111,7 @@ Configuration::Configuration(Env &env, Interface_list &interfaces) : _alloc { alloc }, - _max_packets_per_signal { node.attribute_value("max_packets_per_signal", (unsigned long)32) }, + _max_packets_per_signal { node.attribute_value("max_packets_per_signal", (unsigned long)150) }, _verbose { node.attribute_value("verbose", false) }, _verbose_packets { node.attribute_value("verbose_packets", false) }, _verbose_packet_drop { node.attribute_value("verbose_packet_drop", false) },