On Tue, Aug 21, 2012 at 5:10 AM, Hans de Goede <hdego...@redhat.com> wrote: > + /* > + * Older versions of usbfs place a 16kb limit on bulk URBs. We work > + * around this by splitting large transfers into 16k blocks, and then > + * submit all urbs at once. it would be simpler to submit one urb at > + * a time, but there is a big performance gain doing it this way. > + * > + * Newer versions lift the 16k limit (USBFS_CAP_NO_PACKET_SIZE_LIM), > + * using arbritary large transfers can still be a bad idea though, as > + * the kernel needs to allocate physical contiguous memory for this, > + * which may fail for large buffers. > + *
Is it possible to identify the kernel version which incorporate this new feature in the above comment? > + * The kernel solves this problem by splitting the transfer into > + * blocks itself when the host-controller is scatter-gather capable > + * (USBFS_CAP_BULK_SCATTER_GATHER), which most controllers are. > + * > + * Last, there is the issue of short-transfers when splitting, for > + * short split-transfers to work reliable USBFS_CAP_BULK_CONTINUATION > + * is needed, but this is not always available. > + */ -- Xiaofan ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel