Re: Large USB HID transfers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 7, 2013 at 12:47 PM, Alan Ott <alan@xxxxxxxxxxx> wrote:
> On 11/05/2013 05:39 PM, Cliff Brake wrote:
>>
>> On Tue, Nov 5, 2013 at 9:57 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
>> wrote:
>>>
>>> You might be better off writing a special-purpose userspace driver, using
>>> libusb, instead of relying on the HID driver. That would allow you to handle
>>> your data more efficiently, and with interrupts enabled.
>>
>> We tried this early on, but ran into other performance problems.
>> Thanks for the idea, we may re-visit this.
>
>
> When you say "performance problems" and libusb... how many active transfers
> did you keep submitted at one time in your libusb application?
>
> Greg recently said on this list:
>>
>> You should be able to hit USB "line speed" from userspace
>> if you just are reading/writing bulk data with enough transferrs in
>> flight.

Thanks for the additional information, and all the help -- we just
happened to find a solution.  In the function trace, we noticed that
the hiddev calls were taking most of the time and causing expensive
function calls for every byte.  Since we are using hidraw to access
the usb data, we simply disabled the hiddev kernel config option, and
now its working great.  In the 3.0 kernel, we did not have hiddev
enabled, so the kernel upgrade from 3.0 to 3.12 has definitely helped.
 The kernel tracer is definitely a handy to have!

Thanks,
Cliff




>
>
> Alan.
>



-- 
=================
http://bec-systems.com
--
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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux