uhd icon indicating copy to clipboard operation
uhd copied to clipboard

X300 (UBX160) Tx performance regression after v3.15

Open benjaminogles opened this issue 3 years ago • 0 comments

Issue Description

Attempting to transmit from an X300 with a UBX160 daughter board at 200MSPS results in frequent under runs when using UHD version 4.0 or 4.1. I could not reproduce the problem on version 3.15 or 3.10.

Setup Details

  • X300 with 1x UBX160
  • XG firmware
  • UHD v4.0.0.0 or v4.1.0.4
  • Thunderbolt to SFP+ 10GbE adapter connected to SFP port 1
  • Issue reproduced separately with two different hosts: Ubuntu 20.04 and CentOS 8.4.2105
  • MTU 9000
  • ethtool -G dev tx 4096 (also tried max of 8184 and other values)
  • sysctl -w net.core.wmem_max=100000000 (also tried with default value)
  • sysctl -w net.core.wmem_default=10000000 (also tried with default value)
  • sysctl -w net.core.netdev_max_backlog=100000 (also tried with default value)

Expected Behavior

Transmitting 200MSPS shouldn't consistently report frequent buffer under runs. Or it should at least behave consistently between UHD versions 3.15 and 4.0/4.1.

Actual Behaviour

Transmitting 200MSPS does consistently report frequent buffer under runs and only when using UHD versions 4.0 and 4.1.

Steps to reproduce the problem

benchmark_rate --args "addr=192.168.40.2" --tx_rate 200e6 --duration 30

The behavior of this example program matches what I see in my application with respect to the number of under runs reported. I have tried quite a few device and streamer argument combinations to no effect.

  • "send_offload=true" (polling and blocking)
  • "num_send_frames=512" (lots of different values with correspondingly larger buffer sizes)
  • "skip_dram=1,skip_duc=1"

Additional Information

benjaminogles avatar Nov 30 '21 21:11 benjaminogles