Hi Jeremy, This is a good reference of things you can try: https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks
Also, I wonder if RT_RUNTIME_SHARE could be causing problems? You can find some info here on how to enable it: https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD#Underruns_Every_Second_with_DPDK_.2B_Ubuntu Another thing that comes to mind is enabling pause frames on the X410 as described here: https://files.ettus.com/manual/page_transport.html#transport_udp_linux Wade On Tue, Jan 21, 2025 at 7:40 AM Pallotta, Jeremy M (US) < [email protected]> wrote: > I am running into underflow issues when running the benchmark_rate test on > a x410. The command I am running is the following: > > > > ./benchmark_rate > --args="addr=192.168.20.2,type=x4xx,send_frame_size=8000,recv_frame_size=8000" > --tx_rate=50e6 --tx_channels=0 --tx_delay=1 --duration=60 --priority=high > --ref=internal > > > > I have a 100Gbit interface connected to the x410 using the below ethernet > card. > > > > ca:00.0 Ethernet controller: Mellanox Technologies MT2910 Family > [ConnectX-7] > > > > I'm running on Ubuntu 22.04.5 LTS with kernel 6.8.0-40-generic. > > > > I've confirmed that the priority=high setting is working. "top" shows the > priorities of all the threads have been elevated. > > > > I've also updated a number of network settings. > > > > sysctl -w net.core.wmem_max=250000000 > sysctl -w net.core.rmem_max=250000000 > sysctl -w net.core.wmem_default=250000000 > sysctl -w net.core.rmem_default=250000000 > ethtool -G ens8f0np0 tx 8192 rx 8192 > > > > The application outputs the following: > > > > [INFO] [UHD] linux; GNU C++ version 8.4.0; Boost_108300; > UHD_4.6.0.HEAD-0-g50fa3baa > [00:00:00.000277] Creating the usrp device with: > addr=192.168.20.2,type=x4xx,send_frame_size=8000,recv_frame_size=8000... > [INFO] [MPMD] Initializing 1 device(s) in parallel with args: > mgmt_addr=192.168.20.2,type=x4xx,product=x410,serial=3289B1C,name=ni-x4xx-3289 > B1C,fpga=UC_200,claimed=False,addr=192.168.20.2,send_frame_size=8000,recv_frame_size=8000 > [INFO] [MPM.PeriphManager] init() called with device args > `fpga=UC_200,mgmt_addr=192.168.20.2,name=ni-x4xx-3289B1C,product=x410,recv_frame_s > ize=8000,send_frame_size=8000,clock_source=internal,time_source=internal,initializing=True'. > Using Device: Single USRP: > Device: X400-Series Device > Mboard 0: x410 > RX Channel: 0 > RX DSP: 0 > RX Dboard: A > RX Subdev: 0 > RX Channel: 1 > RX DSP: 1 > RX Dboard: A > RX Subdev: 1 > RX Channel: 2 > RX DSP: 2 > RX Dboard: B > RX Subdev: 0 > RX Channel: 3 > RX DSP: 3 > RX Dboard: B > RX Subdev: 1 > TX Channel: 0 > TX DSP: 0 > TX Dboard: A > TX Subdev: 0 > TX Channel: 1 > TX DSP: 1 > TX Dboard: A > TX Subdev: 1 > TX Channel: 2 > TX DSP: 2 > TX Dboard: B > TX Subdev: 0 > TX Channel: 3 > TX DSP: 3 > TX Dboard: B > TX Subdev: 1 > > [00:00:02.516914784] Setting device timestamp to 0... > [WARNING] [0/DUC#0] The requested interpolation is odd; the user should > expect passband CIC rolloff. > Select an even interpolation to ensure that a halfband filter is enabled. > > [WARNING] [MULTI_USRP] Could not set TX rate to 50.000 MHz. Actual rate is > 49.152 MHz > [WARNING] [0/DUC#0] The requested interpolation is odd; the user should > expect passband CIC rolloff. > Select an even interpolation to ensure that a halfband filter is enabled. > > [WARNING] [MULTI_USRP] Could not set TX rate to 50.000 MHz. Actual rate is > 49.152 MHz > [WARNING] [0/DUC#1] The requested interpolation is odd; the user should > expect passband CIC rolloff. > Select an even interpolation to ensure that a halfband filter is enabled. > > [WARNING] [MULTI_USRP] Could not set TX rate to 50.000 MHz. Actual rate is > 49.152 MHz > [WARNING] [0/DUC#1] The requested interpolation is odd; the user should > expect passband CIC rolloff. > Select an even interpolation to ensure that a halfband filter is enabled. > > [WARNING] [MULTI_USRP] Could not set TX rate to 50.000 MHz. Actual rate is > 49.152 MHz > [WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping. > Setting TX spp to 1992 > [00:00:02.522008533] Testing transmit rate 49.152000 Msps on 1 channels > UUUUUUUUUUUUUUUUUUUUUUU[00:01:03.524365256] Benchmark complete. > > > Benchmark rate summary: > Num received samples: 0 > Num dropped samples: 0 > Num overruns detected: 0 > Num transmitted samples: 2948209800 > Num sequence errors (Tx): 0 > Num sequence errors (Rx): 0 > Num underruns detected: 23 > Num late commands: 0 > Num timeouts (Tx): 0 > Num timeouts (Rx): 0 > > > Done! > > > > Does anyone have any other suggestions for what could be tried to avoid > the underruns? With a 100Gbit/s NIC, I should have plenty of network > throughput. > > > _______________________________________________ > USRP-users mailing list -- [email protected] > To unsubscribe send an email to [email protected] >
_______________________________________________ USRP-users mailing list -- [email protected] To unsubscribe send an email to [email protected]
