summaryrefslogtreecommitdiffstats
path: root/drivers/xen
diff options
context:
space:
mode:
authorSarah Sharp <sarah.a.sharp@linux.intel.com>2010-07-29 22:12:20 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-10 14:35:44 -0700
commit021bff9179c2d19c26599dc3e9134d04cf1c8a3a (patch)
tree99c7dba0d83e607a2ca9d12e50bd8ee7bad56181 /drivers/xen
parentc6ba1c2af2da31ffb57949edbd1dba34f97d1d4b (diff)
downloadblackbird-op-linux-021bff9179c2d19c26599dc3e9134d04cf1c8a3a.tar.gz
blackbird-op-linux-021bff9179c2d19c26599dc3e9134d04cf1c8a3a.zip
USB: xhci: Performance - move functions that find ep ring.
I've been using perf to measure the top symbols while transferring 1GB of data on a USB 3.0 drive with dd. This is using the raw disk with /dev/sdb, with a block size of 1K. During performance testing, the top symbol was xhci_triad_to_transfer_ring(), a function that should return immediately if streams are not enabled for an endpoint. It turned out that the functions to find the endpoint ring was defined in xhci-mem.c and used in xhci-ring.c and xhci-hcd.c. I moved a copy of xhci_triad_to_transfer_ring() and xhci_urb_to_transfer_ring() into xhci-ring.c and declared them static. I also made a static version of xhci_urb_to_transfer_ring() in xhci.c. This improved throughput on a 1GB read of the raw disk with dd from 186MB/s to 195MB/s, and perf reported sampling the xhci_triad_to_transfer_ring() 0.06% of the time, rather than 9.26% of the time. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/xen')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud