Tom Mises
2015-05-12 20:12:59 UTC
I am running 3.17.8 kernel with DMA enabled on TI DM3730 (Gumstix
Overo Firestorm-P COM). When streaming frames in mmap mode, I am
seeing very high CPU usage, up to 70%. This CPU usage is reported to
be in software interrupts. The captured frames are NOT corrupted.
Interestingly, when running 3.5 kernel, with DMA enabled as well, the
CPU usage is 30% and it is reported to be mostly in the user space.
Neither of these results are satisfactory, I hoped DMA would take care
of the data transfer and the CPU resources would be available to run
data processing.
I used the video capture example from the V4L2 API documentation. This
behavior was tested and observed for two different cameras, one of
them working in isochronous mode, the other working in bulk mode.
Interrupts showing activity during the streaming are: omap-dma-engine,
ehci_hcd:usb1.
Perhaps, the problem is somewhere in the interaction between the UVC
driver and the DMA driver. I am aware this is a somewhat vague
description unfortunately, but I am not sure what other detail would
be helpful. UVC debugging messages do not show anything unusual.
Beyond that, debugging these drivers on my own exceeds my expertise,
so I will welcome any suggestions.
Thanks,
Tom
Overo Firestorm-P COM). When streaming frames in mmap mode, I am
seeing very high CPU usage, up to 70%. This CPU usage is reported to
be in software interrupts. The captured frames are NOT corrupted.
Interestingly, when running 3.5 kernel, with DMA enabled as well, the
CPU usage is 30% and it is reported to be mostly in the user space.
Neither of these results are satisfactory, I hoped DMA would take care
of the data transfer and the CPU resources would be available to run
data processing.
I used the video capture example from the V4L2 API documentation. This
behavior was tested and observed for two different cameras, one of
them working in isochronous mode, the other working in bulk mode.
Interrupts showing activity during the streaming are: omap-dma-engine,
ehci_hcd:usb1.
Perhaps, the problem is somewhere in the interaction between the UVC
driver and the DMA driver. I am aware this is a somewhat vague
description unfortunately, but I am not sure what other detail would
be helpful. UVC debugging messages do not show anything unusual.
Beyond that, debugging these drivers on my own exceeds my expertise,
so I will welcome any suggestions.
Thanks,
Tom