Hi Marcus,
Yes, it is a loopback through computer. I have 3 threads (in addition to the DPDK threads): Thread1 : Read from UHD into a circular buffer A Thread2: Read from circular buffer A, minimal processing, write to circular buffer B Thread3: Read from circular buffer B, write to UHD The circular buffer uses standard synchronization (mutex/condvar). My next plan is to try a lock-free buffer. The fact that the system works at 100 Msps but fails extremely infrequently (in terms of samples processed) makes me think that something in the kernel is taking control of the CPU(s) even though they are isolated. Eugene. Responding to Marcus... for some reason his response did not show up in my email. ----------------- 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. ________________________ Eugene Grayver, Ph.D. Aerospace Corp., Principal Engineer Tel: 310.336.1274 ________________________
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com