[PATCH net-next 0/4] net: rmnet: optimize hot paths to alleviate CPU/memory bottlenecks

From: Koen Vandeputte

Date: Fri Oct 02 2026 - 10:36:46 EST


While testing embedded ARM platforms over a high-speed
private 5G SA network, we observed severe CPU and memory
bottlenecks limiting overall throughput.

Examining the rmnet driver revealed several opportunities
to significantly increase efficiency,
particularly on the RX deaggregation hot path.

This patch series addresses these bottlenecks by optimizing
memory allocations, reducing unnecessary payload copies,
and improving timestamping efficiency.

Test Environment

Hardware: IPQ4019 (Quad ARM Cortex-A7 @ 717MHz), 512MB DDR3, USB 3.0
Modem: Telit FN990A40
OS: OpenWRT-based
Network: Private 5G SA (n78, 50MHz band, 4x4 MIMO, 1Gbps core uplink)

Methodology

Results are based on the average of 10 consecutive speedtests against
a local speedtest server located in the same datacenter.

Performance Results (Download)

Before: ~318 Mbps average (Peak: ~353 Mbps)
After: ~389 Mbps average (Peak: ~458 Mbps)

Koen Vandeputte (4):
net: rmnet: use fast monotonic time for tx aggregation
net: rmnet: optimize rx deaggregation memory allocation
net: rmnet: conditionally expand skb headroom in ingress handler
net: rmnet: optimize rx handler by replacing skb_linearize with
pskb_may_pull

.../ethernet/qualcomm/rmnet/rmnet_config.h | 4 ++--
.../ethernet/qualcomm/rmnet/rmnet_handlers.c | 10 ++++----
.../ethernet/qualcomm/rmnet/rmnet_map_data.c | 24 ++++++++++---------
3 files changed, 21 insertions(+), 17 deletions(-)

--
2.43.0