On 12/09/2023 06:52, zhou wrote:
Hi Marcus,

Thanks for your reply.



The original ring buffer is 1024 for Tx and Rx. Now I have changed them to 4096. Still see overruns and underruns.
Ring parameters for enp59s0f0np0:
Pre-set maximums:
RX:             8192
RX Mini:        n/a
RX Jumbo:       n/a
TX:             8192
Current hardware settings:
RX:             4096
RX Mini:        n/a
RX Jumbo:       n/a
TX:             4096


Ring parameters for enp59s0f1np1:
Pre-set maximums:
RX:             8192
RX Mini:        n/a
RX Jumbo:       n/a
TX:             8192
Current hardware settings:
RX:             4096
RX Mini:        n/a
RX Jumbo:       n/a
TX:             4096


Benchmark rate summary:
  Num received samples:     12617833512
  Num dropped samples:      17321163392
  Num overruns detected:    112
  Num transmitted samples:  9159225280
  Num sequence errors (Tx): 0
  Num sequence errors (Rx): 0
  Num underruns detected:   856834
  Num late commands:        0
  Num timeouts (Tx):        0
  Num timeouts (Rx):        0

I think my computer is not fast enough for 500MHz sampling rate. The computer I am using is Dell PowerEdge R740, CPU is Intel(R) Xeon(R) Bronze 3106 CPU @ 1.70GHz
What is the recommended computer HW configuration?

Another question is UHD4.5. I tried UHD4.5, but there was MPM issue
The MPM software on your device is older than the FPGA you're trying to
use. Because you're using master, they haven't published updated
filesystems with the new MPM yet, but there will be a release candidate
very soon for UHD 4.5 you could try.

So, I have to use UHD4.4 now.

Kind regards,
Hongwei


A single-core speed of 1.7GHz is very likely insufficient to support those very-high sample rates.

In general, you want very high single-core clock speed, and the fastest memory you can put into the system.

I have no *specific* recommendations for hardware, but newer high-end CPUs are betterthan older ones--the 3106
  is 6 years old now.







On Monday, 11 September 2023 at 22:15:21 BST, Marcus D. Leech <patchvonbr...@gmail.com> wrote:


On 11/09/2023 12:09, zhou via USRP-users wrote:
Hi all,

I just set up a system with X410 USRP. Tried to run a benchmark rate test and saw a lot of errors. Please suggest what could be the reason for the test failure. Host is R740 (16 CPU cores) and Linux is Ubuntu 22.04 with low-latency kernel.
100G Mellanox ConnectX-6 NIC cards



$ sudo /usr/local/lib/uhd/examples/benchmark_rate  \
--args "type=x4xx,mgmt_addr=192.168.88.2,addr=192.168.20.2,master_clock_rate=500e6" \
--priority "high" \
--multi_streamer \
--duration 60 \
--channels "0" \
--rx_rate 10e6 \
--rx_subdev "A:0" \
--tx_rate 10e6 \
--tx_subdev "A:0"
[sudo] password for user:

[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; DPDK_21.11; UHD_4.4.0.HEAD-0-g5fac246b [00:00:00.000566] Creating the usrp device with: type=x4xx,mgmt_addr=192.168.88.2,addr=192.168.20.2,master_clock_rate=500e6... [INFO] [MPMD] Initializing 1 device(s) in parallel with args: mgmt_addr=192.168.88.2,type=x4xx,product=x410,serial=3289B23,name=ni-x4xx-3289B23,fpga=CG_400,claimed=False,addr=192.168.20.2,master_clock_rate=500e6
[WARNING] [MPM.RPCServer] A timeout event occured!
[INFO] [MPM.PeriphManager] init() called with device args `fpga=CG_400,master_clock_rate=500e6,mgmt_addr=192.168.88.2,name=ni-x4xx-3289B23,product=x410,clock_source=internal,time_source=internal'.
Using Device: Single USRP:
  Device: X400-Series Device
  Mboard 0: x410
  RX Channel: 0
    RX DSP: n/a
    RX Dboard: A
    RX Subdev: 0
  TX Channel: 0
    TX DSP: n/a
    TX Dboard: A
    TX Subdev: 0

[00:00:05.797505591] Setting device timestamp to 0...
[WARNING] [0/Radio#0] Requesting invalid sampling rate from device: 10 MHz. Actual rate is: 500 MHz. [WARNING] [MULTI_USRP] Could not set RX rate to 10.000 MHz. Actual rate is 500.000 MHz [WARNING] [0/Radio#0] Requesting invalid sampling rate from device: 10 MHz. Actual rate is: 500 MHz. [WARNING] [MULTI_USRP] Could not set TX rate to 10.000 MHz. Actual rate is 500.000 MHz
Setting TX spb to 1984
[00:00:05.799789467] Testing receive rate 500.000000 Msps on 1 channels
[00:00:05.801875415] Testing transmit rate 500.000000 Msps on 1 channels
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUD[U00:00:06.33502762] Detected Rx sequence error.
UU[D00:00:06.33952517] Detected Rx sequence error.
UUUU[D00:00:06.34387503] Detected Rx sequence error.
U[D00:00:06.34802030] Detected Rx sequence error.
UUUUU[D00:00:06.35212894] Detected Rx sequence error.
U[D00:00:06.35640910] Detected Rx sequence error.


Benchmark rate summary:
  Num received samples:     0
  Num dropped samples:      0
*Num overruns detected:    596*
  Num transmitted samples:  10046501824
  Num sequence errors (Tx): 0
  Num sequence errors (Rx): 0
*Num underruns detected:  819855*
  Num late commands:        0
  Num timeouts (Tx):        0
  Num timeouts (Rx):        0

Done!



$ ifconfig
enp59s0f0np0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000
        inet 192.168.20.1  netmask 255.255.255.0  broadcast 192.168.20.255
        inet6 fe80::ba3f:d2ff:fe57:b77a prefixlen 64  scopeid 0x20<link>
        ether b8:3f:d2:57:b7:7a  txqueuelen 1000  (Ethernet)
        RX packets 15144837  bytes 101888797100 (101.8 GB)
*/RX errors 0  dropped 2423  overruns 0  frame 0/*
        TX packets 12311297  bytes 87947193629 (87.9 GB)
        TX errors 0  dropped 0 overruns 0 carrier 0  collisions 0

enp59s0f1np1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000
        inet 192.168.10.1  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::ba3f:d2ff:fe57:b77b prefixlen 64  scopeid 0x20<link>
        ether b8:3f:d2:57:b7:7b  txqueuelen 1000  (Ethernet)
        RX packets 406107  bytes 2296309836 (2.2 GB)
        RX errors 0  dropped 0  overruns 0 frame 0
        TX packets 502690  bytes 3421432091 (3.4 GB)
        TX errors 0  dropped 0 overruns 0 carrier 0  collisions 0

Kind regards,
Hongwei




_______________________________________________
USRP-users mailing list --usrp-users@lists.ettus.com  
<mailto:usrp-users@lists.ettus.com>
To unsubscribe send an email tousrp-users-le...@lists.ettus.com  
<mailto:usrp-users-le...@lists.ettus.com>
The fact that the actual IP interface is seeing dropped frames indicates that likely the ringbuf pool on that NIC is too small.

Check out the support that ethtool has for this:

https://www.24x7serversupport.com/blog/how-to-tuneup-tx-and-rx-buffers-on-network-interface/ <https://www.24x7serversupport.com/blog/how-to-tuneup-tx-and-rx-buffers-on-network-interface/>


_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to