Thread (21 messages) 21 messages, 3 authors, 2013-06-25
STALE4758d

[PATCH v2 4/4] USB: EHCI: support running URB giveback in tasklet context

From: Ming Lei <hidden>
Date: 2013-06-24 12:58:26

On Mon, Jun 24, 2013 at 6:24 PM, Oliver Neukum [off-list ref] wrote:
On Monday 24 June 2013 17:42:05 Ming Lei wrote:
quoted
All 4 transfer types can work well on EHCI HCD after switching to run
URB giveback in tasklet context, so mark all HCD drivers to support
it.

At the same time, don't release ehci->lock during URB giveback,
and remove the check on HCD_BH in ehci_disable_event().

From below test results on 3 machines(2 ARM and one x86), time
consumed by EHCI interrupt handler droped much without performance
loss.

1 test description
1.1 mass storage performance test:
- run below command 10 times and compute the average performance

    dd if=/dev/sdN iflag=direct of=/dev/null bs=200M count=1
It would be nice to get worst case numbers. How bad does it get
if you reduce the sg size in usb-storage from 120K to 4K?
A quick test on one arm A15 box shows that the average speed over
10 times 'dd' becomes 8.0MB/sec from 8.160MB/sec when 'bs'
parameter of 'dd' changes to 4K, so there is ~1.9% performance
loss with the patch under the worst case.

Same test on my T410(x86), the speed difference is only 40K.

I will collect the worst case numbers and include it in the commit
log of V3.

Thanks,
--
Ming Lei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help