Any ideas as to why running libiio on my custom Ultrascale+ board (interfacing with an AD9361) in "local:" context is slower, and takes up more CPU resources, than if I ran with "ip:localhost" context?
CPU Usage is at 50% total processing power (4 cores) when running in "local:"
Same processes just running with context "ip:localhost"
I also noticed that iiod comes up and takes up about 20% of the CPU so in total iiod + my app results in 50% CPU usage.
The interesting thing is when I perform buffer_refill() operations.
My program gives me stats on how many times it can loop a function that simply refills the buffer.
When running in local: I get about 10 loop cycles per second. When running in ip:localhost I get about 90 loop cycles per second. Same functions just different contexts.
Any thoughts would be appreciated but looks like its better to run in network context than it is to run in local which is very counter intuitive.
I am running libiio v0.26 on my board.
Hi,
To better understand the data throughput rate, please run iio_readdev
in both scenarios. You can use the command below and share the results afterward.
iio_readdev -b 65536 cf-ad9361-lpc | dd of=/dev/zero status=progress