Dear Kobayashi-san, You want to make sure the size of the network packets is as large as possible to reduce overhead; UHD will print out the information of how many bytes are in a single packet during initialization. You might need to tell Linux that it needs to use a larger MTU (8000B should work fine).
It is also often relatively helpful to set the interrupt coalescing properties of your network card. That way, your CPU won't be buried under a torrent of interrupts, but Linux will instead poll the card for data (which almost always will be there), which is much more effective in this use case. You can modify these settings using `ethtool -C`; see `man ethtool` for more details. Paul's application note [1] also illustrates how to increase the number of descriptor rings. The idea is that a network card places packets in a ring of buffers, and the OS takes the "oldest" one of these, and processes it. The more rings you have, the better the card can balance the load itself, as a rule of thumb. Best regards, Marcus [1] https://kb.ettus.com/Using_Dual_10_Gigabit_Ethernet_on_the_USRP_X300/X310 On 09/21/2017 07:14 PM, Kobayashi, Noboru via USRP-users wrote: > Hi, all > > I'm working in a LTE related system using Ettus X310, using UHD driver > on CentOS 7.3 base real-time kernel patched environment. > UHD driver version using is 3.9.6 > > Current master clock frequency is 184.32MHz, and sampling rate is > 30.72MHz. 2 RX/TX antennas are used with 16bit I/Q interface. > UDP transmission rate is about 2.3Gbps for UL/DL each. > 10Gb Ether port is used. > > UHD driver's CPU load is very high, almost 90% for RX side and > 80% for TX side of one core ,Intel(R) Xeon(R) CPU E5-2687W v4 @ 3.00GHz. > Dedicated two cores are used just for UHD driver. (I'm isolating CPU cores > using boot parameter. (grub)) > And Ethernet ISR drivers load is also high, up to 70%. > One more dedicated core is required for ISR. (IRQ affinity is used) > Totally, three cores are used just for interfacing USRP. > > Is the CPU load of three core for USRP interface under above condition, > reasonable ? > I want to reduce CPU core counts for USRP interface. > > Is there any way to reduce the CPU load ? > > > Best Regards, > Noboru KOBAYASHI > > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com _______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com