Dear gumstix users,


I am trying to stream over an ethernet interface a depth video stream acquired via a RGBD sensor (Xtion Pro Live with Openni2 drivers) with a Gumstix duovero and parlor.

In my first test, I remarked that the difference in CPU usage between just acquiring the raw data from the sensor and acquiring it and actually sending the data over the network. The difference is pretty big, almost 80% of CPU usage (measured with perf tool).

I am pretty new to embedded design, but I would have thought that saturating a 100 Mbps interface will not be a very demanding CPU task. Is the full use of almost one core to send the data expected ?

using perf again, I see that the function that got most of the samples is in the kernel function __raw_spin_unlock_irq_restore. Is that expected ? I would have thought this operation to be fast.


Best regards,

Alexandre Tuleu