On Fri, 30 May 2014 pktoss@xxxxxxxxx wrote: > I couldn't use dummy_hcd with g_tcm_gadget (UAS storage) with recent 3.15-rc > kernels, firstly it wouldn't even work because stream support was broken > and when I could get it to work with g_mass_storage, performance was horrible > due to the driver using jiffies instead of hrtimers. > > With these two patches dummy_hcd works for me acceptably (no doubt it can > be improved even more). Without them I get 4MB/s with usb-storage > (because uas.ko wouldn't bind due to broken streams regression). > With them I get 100MB/s with uas / tcm_usb_gadget (and 25MB/s > for g_mass_storage) in an ordinary 3.15-rc8 HZ=250 tickless kernel. > > Please review and consider merging, other people have complained for > the performance problem of dummy_hcd as well, e.g: > > http://stackoverflow.com/questions/18606393/very-low-performance-of-g-mass-storage-virtual-usb-device > http://comments.gmane.org/gmane.linux.usb.general/86580 If someone is concerned about performance, they should not be using dummy-hcd. It will never perform as well as the loop driver. And that's okay, because it was never meant to be high-performance -- it was meant to help test gadget drivers. For testing purposes, faithful emulation is much more important than performance. To get a good emulation, we need a timer resolution of 1000 Hz, so moving to hrtimers is a good idea. But not for the reason mentioned in the patch description. Alan Stern -- 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