public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>,
	linux-usb-devel@lists.sourceforge.net, Greg KH <gregkh@suse.de>,
	LKML <linux-kernel@vger.kernel.org>,
	"Stuart_Hayes@Dell.com" <Stuart_Hayes@dell.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Daniel Exner <dex@dragonslave.de>
Subject: Re: [linux-usb-devel] [4/4] 2.6.23-rc3: known regressions
Date: Mon, 20 Aug 2007 21:48:45 -0700	[thread overview]
Message-ID: <200708202148.45575.david-b@pacbell.net> (raw)
In-Reply-To: <alpine.LFD.0.999.0708202106290.30176@woody.linux-foundation.org>

On Monday 20 August 2007, Linus Torvalds wrote:
> 
> On Mon, 20 Aug 2007, David Brownell wrote:
> > 
> > MMF basically means the "Transaction Translating" (TT) hub had data
> > for the host, but the host didn't collect it in time ... so that some
> > data was lost.
> > 
> > Unfortunately, that's the type of fault that's especially hard to
> > recover from.
> 
> Fair enough. However, it still seems particularly idiotic to
>  - penalize everybody
>  - mix up two totally unrelated areas (cpufreq and USB) for a bug that is 
>    extremely rare and could be handled differently.

Yes on #1, but on #2 ... frequency transitions are a common place
for systems to want to hiccup.  Maybe less so on PCs, but it's
hard to say that re-clocking an I/O or memory bus shouldn't affect
the peripherals using it for "realtime" (deadlines) I/O !!


My more complete response suggested maybe just vetoing cpufreq
transitions if the Broadcom chipset (or maybe it's just specific
boards?) finds itself in the awkward configuration ... penalizing
only the people we know could have trouble.


> For example, if it really ends up being practically impossible to recover 
> from split transaction errors, I would still suggest reverting that horrid 
> commit, and then just black-listing the known-broken EHCI controllers and 
> simply not *do* any split transactions on them. That way there's no 
> complexity.
> 
> As far as I know, split transactions aren't required anyway, they are just 
> a performance optimization.

Nope.  Linus, this is at least the second or third time you've
been wrong -- sorry.  But I wish you were right, since they're
such a PITA to cope with.  ;)

Split transactions are how the full and low speed devices bridge
to high speed busses.  Think of the TT hub as a speed converter,
buffering data and then retransmitting it at the other (slower or
faster) speed.  Some systems don't even have a full/low speed host
adapter ... they just have a high speed root hub and rely on some
external TT hubs (maybe on a mainboard) to handle the rest.


> Basically, we not only know that the commit has caused problems, it's 
> fundamentally ugly, fragile, and not very maintainable, and the whole 
> reason for doing it is pretty dubious.
> 
> Why not just admit that certain hardware is broken (and the vendor isn't 
> worth even bothering to be polite with, since they try to screw us every 
> chance they get) and cannot reliably do split transactions? Problem 
> solved, no real downside, and nobody will even *notice*.

Well, I suggested an alternate fix that I hope Stuart will look at.
I think it achieves your goals (only impacting Broadcom systems).

- Dave




> 
> 			Linus
> 



  reply	other threads:[~2007-08-21  4:48 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <46C098FD.1030601@googlemail.com>
2007-08-13 17:59 ` [2/4] 2.6.23-rc3: known regressions Michal Piotrowski
2007-08-13 23:29   ` Luca Tettamanti
2007-08-14  6:37     ` Michal Piotrowski
2007-08-13 17:59 ` [3/4] " Michal Piotrowski
2007-08-14 22:09   ` Francois Romieu
2007-08-13 17:59 ` [4/4] " Michal Piotrowski
2007-08-21  1:41   ` [linux-usb-devel] " David Brownell
2007-08-21  2:02     ` Linus Torvalds
2007-08-21  4:02       ` David Brownell
2007-08-21  4:15         ` Linus Torvalds
2007-08-21  4:48           ` David Brownell [this message]
2007-08-21  5:31             ` Linus Torvalds
2007-08-21  5:51               ` Arjan van de Ven
2007-08-21  6:04                 ` Arjan van de Ven
2007-08-21  6:26                   ` Linus Torvalds
2007-08-21  6:28                     ` Arjan van de Ven
2007-08-21  6:45                       ` Linus Torvalds
2007-08-21  6:25                 ` Linus Torvalds
2007-08-21  6:24                   ` Arjan van de Ven
2007-08-21  6:03               ` Linus Torvalds
2007-08-21  6:34                 ` David Brownell
2007-08-21  6:52                   ` Linus Torvalds
2007-08-21  7:24                     ` Linus Torvalds
2007-08-22  3:34                       ` Linus Torvalds
2007-08-22 14:42                         ` Stuart_Hayes
2007-08-22 18:41                           ` Linus Torvalds
2007-08-22 20:41                             ` Stuart_Hayes
2007-08-22 23:35                         ` Junio C Hamano
2007-08-21  4:27       ` [linux-usb-devel] " David Brownell

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=200708202148.45575.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=Stuart_Hayes@dell.com \
    --cc=akpm@linux-foundation.org \
    --cc=dex@dragonslave.de \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=michal.k.k.piotrowski@gmail.com \
    --cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox