From: gregkh@linuxfoundation.org (Greg Kroah-Hartman)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/4] USB: HCD/EHCI: giveback of URB in tasklet context
Date: Thu, 13 Jun 2013 11:47:03 -0700 [thread overview]
Message-ID: <20130613184703.GA5701@kroah.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1306131035080.1561-100000@iolanthe.rowland.org>
On Thu, Jun 13, 2013 at 10:54:13AM -0400, Alan Stern wrote:
> On Thu, 13 Jun 2013, Ming Lei wrote:
>
> > - using interrupt threaded handler(default)
> > 33.440 MB/sec
> >
> > - using tasklet(#undef USB_HCD_THREADED_IRQ)
> > 34.29 MB/sec
> >
> > - using hard interrupt handler(by removing HCD_BH in ehci-hcd.c )
> > 34.260 MB/s
> >
> >
> > So looks usb mass storage performance loss can be observed with
> > interrupt threaded handler because one mass storage read/write sectors
> > requires at least 3 interrupts which wake up usb-storage thread 3 times
> > (each interrupt wakeup the usb-storage each time), introducing irq threaded
> > handler will make 2 threads to be waken up about 6 times for one read/write.
> >
> > I think usb mass storage transfer handler need to be rewritten, otherwise
> > it may become worsen after using irq threaded handler in USB 3.0.(the
> > above device can reach >120MB/sec with hardware handler or tasklet handler,
> > which means about ~3K interrupts/sec, so ~6K contexts switch in case of
> > using irq threaded handler)
> >
> > So how about supporting tasklet first, then convert to interrupt
> > threaded handler
> > after usb mass storage transfer is rewritten without performance loss?
> > (rewriting
> > usb mass storage transfer handler may need some time and work since storage
> > stability/correctness is extremely important, :-)
>
> Maybe we should simply copy what the networking people do. They are
> very concerned about performance and latency; whatever technique they
> use should be good for USB too.
Yes, but for "old-style" usb-storage, is this really a big deal? We are
still easily hitting the "line-speed" of USB for usb-storage with simple
machines, the bottlenecks that I'm seeing are in the devices themselves,
and then in the USB wire speed.
Once hardware comes out that uses USB streams, and we get device support
for the UAS protocol, then we might have a need to change things, but at
this point in time, for the "old" driver, I think we are fine.
Unless someone has a workload / benchmark that shows otherwise?
thanks,
greg k-h
next prev parent reply other threads:[~2013-06-13 18:47 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-09 15:18 [RFC PATCH 0/4] USB: HCD/EHCI: giveback of URB in tasklet context Ming Lei
2013-06-09 15:18 ` [RFC PATCH 1/4] USB: HCD: support " Ming Lei
2013-06-09 15:58 ` Alan Stern
2013-06-10 8:12 ` Ming Lei
2013-06-10 8:43 ` Oliver Neukum
2013-06-10 9:23 ` Ming Lei
2013-06-10 9:31 ` Oliver Neukum
2013-06-10 9:51 ` Ming Lei
2013-06-09 15:18 ` [RFC PATCH 2/4] USB: EHCI: don't release ehci->lock if URB giveback " Ming Lei
2013-06-09 16:06 ` Alan Stern
2013-06-10 9:10 ` Ming Lei
2013-06-09 15:18 ` [RFC PATCH 3/4] USB: EHCI: improve interrupt qh unlink Ming Lei
2013-06-09 15:18 ` [RFC PATCH 4/4] USB: EHCI: support running URB giveback in tasklet context Ming Lei
2013-06-09 15:48 ` [RFC PATCH 0/4] USB: HCD/EHCI: giveback of URB " Alan Stern
2013-06-10 6:05 ` Ming Lei
2013-06-10 14:03 ` Alan Stern
2013-06-10 14:12 ` Oliver Neukum
2013-06-10 15:33 ` Alan Stern
2013-06-10 15:37 ` Ming Lei
2013-06-10 17:36 ` Alan Stern
2013-06-10 18:52 ` Steven Rostedt
2013-06-10 20:47 ` Alan Stern
2013-06-10 20:54 ` Steven Rostedt
2013-06-11 8:40 ` Ming Lei
2013-06-10 20:51 ` Alan Stern
2013-06-11 6:19 ` Ming Lei
2013-06-11 5:40 ` Ming Lei
2013-06-11 7:18 ` Oliver Neukum
2013-06-11 8:14 ` Ming Lei
2013-06-11 8:49 ` Oliver Neukum
2013-06-11 9:27 ` Ming Lei
2013-06-11 10:51 ` Oliver Neukum
2013-06-11 11:19 ` Ming Lei
2013-06-11 19:10 ` Alan Stern
2013-06-12 2:43 ` Ming Lei
2013-06-12 6:41 ` Ming Lei
2013-06-12 7:45 ` Thomas Gleixner
2013-06-13 2:25 ` Ming Lei
2013-06-13 14:54 ` Alan Stern
2013-06-13 18:47 ` Greg Kroah-Hartman [this message]
2013-06-13 19:41 ` Alan Stern
2013-06-13 20:08 ` Steven Rostedt
2013-06-13 21:09 ` Alan Stern
2013-06-13 22:24 ` Steven Rostedt
2013-06-13 23:08 ` Alan Stern
2013-06-14 1:27 ` Ming Lei
2013-06-14 0:35 ` Greg Kroah-Hartman
2013-06-14 1:53 ` Ming Lei
2013-06-14 6:05 ` Greg Kroah-Hartman
2013-06-14 10:05 ` Ming Lei
2013-06-14 1:37 ` Ming Lei
2013-06-14 3:24 ` Ming Lei
2013-06-14 14:56 ` Alan Stern
2013-06-14 15:15 ` Ming Lei
2013-06-14 20:23 ` Alan Stern
2013-06-14 21:09 ` Thomas Gleixner
2013-06-15 1:49 ` Ming Lei
2013-06-14 2:03 ` Ming Lei
2013-06-12 14:35 ` Alan Stern
2013-06-12 15:10 ` Oliver Neukum
2013-06-13 3:41 ` Ming Lei
2013-06-13 15:05 ` Alan Stern
2013-06-12 9:11 ` Oliver Neukum
2013-06-12 10:11 ` Ming Lei
2013-06-12 10:19 ` Oliver Neukum
2013-06-12 11:33 ` Ming Lei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130613184703.GA5701@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.