On Sat, Sep 28, 2013 at 3:45 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Sat, 28 Sep 2013, Markus Rechberger wrote: > >> > Actually I observed both throughput and cpu utilization can be improved >> > with the 4GB of DMA limit on either 32bit arch or 64bit arch, wrt. direct I/O >> > over usb mass storage block device. >> > >> >> I didn't look into the sg API in detail yet, but isn't it doing a >> copy_to_user still? > > SG has nothing to do with moving data to or from userspace. The > copy_to_user takes place in usbfs, not in the SG code. See > copy_urb_data_to_user() in devio.c. > that's what I thought about. How about the initial patch, is it okay so far? There's a settopbox manufacturer who pushed it to his next firmware release so we can do some additional performance measuring as well. My next step would be to eliminate the kmallocs/kfrees for the single urbs (just by allocating the urbs with the same mechanism and passing the returned pointer to SUBMIT_URB). Markus -- 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