public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Jason Wessel <jason.wessel@windriver.com>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/5] usb_debug: EXPERIMENTAL - poll hcd device to force writes
Date: Wed, 6 May 2009 08:25:21 -0700	[thread overview]
Message-ID: <20090506152521.GA4603@kroah.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0905061058230.3227-100000@iolanthe.rowland.org>

On Wed, May 06, 2009 at 11:18:07AM -0400, Alan Stern wrote:
> On Tue, 5 May 2009, Jason Wessel wrote:
> 
> > The problem that this patch tries to solve is that data is lost
> > because there are too many outstanding transmit urb's.
> > 
> > The question is what is the right way to force the controller to catch
> > up, and ideally let the kernel do some other things in the mean time?
> 
> What do standard serial port drivers do?

Not this :)

They use the proper flow control hooks that the tty layer provides.

> > This patch takes the route of forcibly polling the hcd device to drain
> > the urb queue and initiate the bulk write call backs.
> > 
> > NOTE this patch is not signed off, it is a question of what is the
> > right way to do this?
> 
> This patch is highly questionable.

I agree.

> Is the idea to force the HCD to search for completed URBs before the
> host controller has issued a completion interrupt?  Wouldn't it be
> better instead to use more URBs?
> 
> Besides, why should there be too many outstanding transmit URBs?  A
> normal serial debugging port running at 115200 baud can transmit no
> more than 12 bytes per ms.  You should be able to surpass that using
> only three URBs!  In fact, if you buffer up to 8 bytes per URB then
> with only two URBs you could send 64 bytes per ms, which is equivalent
> to 640000 baud.  Do you really need to go more than (say) ten times
> faster than that?

Yeah, something seems wrong here.

Jason, why is this really needed?  With your ring buffer, you shouldn't
need this at all anymore.

Or if you do, just bump up the number outstanding urbs that are
possible.  Or the urb buffer size.

This patch isn't acceptable as-is.

thanks,

greg k-h

  reply	other threads:[~2009-05-06 15:33 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-06  2:00 [PATCH 0/5] usb_debug driver improvements Jason Wessel
2009-05-06  2:00 ` [PATCH 1/5] usb_debug: implement multi urb write Jason Wessel
2009-05-06  2:00   ` [PATCH 2/5] usb_debug,usb_generic_serial: implement sysrq and serial break Jason Wessel
2009-05-06  2:00     ` [PATCH 3/5] usb,early_printk: insert cr prior to nl as needed Jason Wessel
2009-05-06  2:00       ` [PATCH 4/5] usb,early_printk: unregister early usb before rest_init() Jason Wessel
2009-05-06  2:00         ` [PATCH 5/5] usb_debug: EXPERIMENTAL - poll hcd device to force writes Jason Wessel
2009-05-06 15:18           ` Alan Stern
2009-05-06 15:25             ` Greg KH [this message]
2009-05-06 15:42               ` Alan Cox
2009-05-06 15:59               ` Jason Wessel
2009-05-06 15:41             ` Alan Cox
2009-05-06 15:45               ` Greg KH
2009-05-06 17:17               ` Oliver Neukum
2009-05-06 19:24                 ` Alan Stern
2009-05-06 20:01                   ` Oliver Neukum
2009-05-06 20:24                     ` Alan Stern
2009-05-06 22:24                       ` Oliver Neukum
2009-05-07 14:35                         ` Alan Stern
2009-05-07 15:01                           ` Oliver Neukum
2009-05-07 16:32                             ` Alan Stern
2009-05-06 20:24                     ` Jason Wessel
2009-05-06 20:28                       ` Greg KH
2009-05-06 20:51                         ` [PATCH 5/5] usb_debug: EXPERIMENTAL - poll hcd device to forcewrites Jason Wessel
2009-05-06 21:32                           ` Greg KH
2009-05-07 14:00                             ` Alan Stern
2009-05-07  0:06                   ` [PATCH 5/5] usb_debug: EXPERIMENTAL - poll hcd device to force writes Alan Cox
2009-05-07 14:27                     ` Alan Stern
2009-05-07 14:49                       ` Oliver Neukum
2009-05-06  7:34         ` [PATCH 4/5] usb,early_printk: unregister early usb before rest_init() Ingo Molnar
2009-05-06 13:02           ` Jason Wessel
2009-05-07 15:09             ` Ingo Molnar
2009-05-06  7:30       ` [PATCH 3/5] usb,early_printk: insert cr prior to nl as needed Ingo Molnar
2009-05-06 15:25         ` Greg KH
2009-05-07 15:04           ` Ingo Molnar
2009-05-06  7:16   ` [PATCH 1/5] usb_debug: implement multi urb write Oliver Neukum
2009-05-06 11:57     ` Jason Wessel
2009-05-06 12:31       ` Oliver Neukum
2009-05-06 15:26   ` Greg KH

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=20090506152521.GA4603@kroah.com \
    --to=greg@kroah.com \
    --cc=jason.wessel@windriver.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox