Dear All, My name is Joaquim Duran, I've just subscribed to this mailing list. In my company, we're developing a board to capture data from several sensors, the board is managed by a microcontroler. It is connected to a device with an ARM based OMAP3730 processor from LogicPD using an USB interface. DM3730 board runs Linux 3.0.0 and acts as host, while the capture board acts as client. Currently, capture board is identified as a modem, it is managed by USB ACM driver, and the host interface is managed by the isp1760 driver. The capture board should send 200 Kbytes/second to the host. The transfer mode is bulk. The host, to read the data, consumes 66% of CPU: 30% of the application to read the data to user space, and 36% for the kworker thread. Currently, the CPU load is too high for our purposes. So: - From the USB perspective, is it possible to change the transfer mode from bulk to isochronous? The kernel could identify the device? - From the kernel side, how can I check if an USB device is using DMA or not? How can I activate DMA for the previous drivers (ACM and isp1760), if the DMA is not enabled? Can I reserve memory for DMA transfers? - From user application, currently it is reading the data with the 'read' system call. Could 'mmap' or 'relayfs' be used to improve the data transfer between kernel and application? Thanks and Best Regards, Joaquim Duran -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html