On 28/02/2023 18:56, Eugene Grayver wrote:
Hello,

I have a simple application (C++) that essentially copies input to output.  Using X310, direct connect 10 GbE, DPDK. Each thread is tied to an isolated core, none of the cores (other than DPDK) uses more than 75%.

UHD:

GNU C++ version 9.4.0; Boost_107100; DPDK_19.11; UHD_4.4.0.0-0-g5fac246b

Kernel command line:
|iommu=pt intel_iommu=on hugepages=1024 isolcpus=1-7 nohz_full=1-7 rcu_nocbs=1-7 irqaffinity=0 intel_idle.max_cstate=0 ipv6.disable=0 fips=1|.

I have turned off all the services I can think of, including irqbalance.


I am seeing an underflow event every ~33.4s.  Very repeatable across runs. Anyone have any idea what could be causing this?


Eugene.



This is a "loopback through the computer stack" type application?   Basically a receiver and a transmitter, in separate threads, but
  sharing a buffer between them?

These can be tricky, and plenty of others have "stumbled" with this type of app, particularly at high sample rates.   I've never done one of   these myself, but I suspect that some kind of elastic FIFO mechanism will be required.

I"m happy to have others chime in, but this class of application, despite its *appearance* of simplicity can reveal the limitations of   ordinary general-purpose operating systems, and their schedulers, and buffer-management systems.


_______________________________________________
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