On Sat, 31 May 2014, Pantelis Koukousoulas wrote:

> dummy_hcd uses jiffies and seems to assume that HZ=1000 and no
> tickless behavior. This makes its emulation not very faithful,
> especially for typical distro desktop kernels (HZ=250, tickless
> which means that e.g., when dummy_hcd asks for a delay of 1ms
> in reality it can get 4ms or more).
> 
> For some devices, this might manifest as unexpectedly low performance
> (e.g., 2-4MB/s for a tcm_gadget_usb backed by a ramdisk) compared to
> real hardware, others might even break if they are more sensitive to
> timing.
> 
> This patch ports dummy_hcd to use hrtimers instead, which fixes these
> problems and hopefully allows both for more gadgets to work with
> dummy_hcd and for a better emulation user experience overall,
> especially in typical kernel configurations.
> 
> For storage this brings performance to acceptable levels
> (around 25MB/s for BOT, 100MB/s for UAS) improving the
> user experience when testing, for other devices it might
> mean that now they will work properly with dummy_hcd when
> before they didn't.
> 
> Implementation uses the tasklet_hrtimer framework. This means
> dummy_timer callback is executed in softirq context (as it was
> with wheel timers) which keeps required changes to a minimum.

Acked-by: Alan Stern <[email protected]>

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to