From: Brad Campbell <brad@wasp.net.au>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
jeff@garzik.org, tj@kernel.org, linux-ide@vger.kernel.org
Subject: Re: libata bridge limits
Date: Tue, 26 Aug 2008 16:32:03 +0400 [thread overview]
Message-ID: <48B3F7C3.6010600@wasp.net.au> (raw)
In-Reply-To: <20080826101713.GW20055@kernel.dk>
Jens 2 wrote:
> On Tue, Aug 26 2008, Alan Cox wrote:
>>> a) Why was this limit put in there? It limits both transfer speed and
>>> request size. If it's due to some dodgy drive/bridge, perhaps we
>>> should just check for that and only apply the transfer limits when
>>> detected (or blacklisted). On the bridge setups I've seen, I've never
>>> had problems with killing the limit.
>> Various old bridges need it - and you can't detect the bridge type.
>
> Not generically, but for some devices (like the Mtron) we can.
>
>>> b) Put in a whitelist, easy to do for these Mtron drives.
>>>
>>> c) Add a parameter to turn it on (or off, depending on the default) for
>>> a specific drive.
>>>
>>> I'm in favor of a) personally, but I'd like to hear why the check was
>>> added originally first. Dropping 20-30% of the throughput performance on
>>> the floor without option seems like a really bad choice.
The check was originally put there as some nasty bridges caused all sorts of errors when these
limits were exceeded, including some random data corruption from memory.
Those particular bridges were/are still widely available an can't be detected / identified using any
other means.
>> Can I suggest
>>
>> d) Assume the bridge is ok but teach the SATA error handling code that if
>> there is a timeout immediately with such a bridge then to flip down to
>> UDMA5 and knobble the transfer length.
>
> That would be nice, assuming that we can rely on safe behaviour (eg not
> data corrupting badness).
>
I was responsible for that original bridge knobble stuff and fortunately I still have the bridges,
disks and controllers that triggered the original faults. If someone wants to cook up some code for
testing I'd be more than happy to stick this stuff on the bench and beat on it for regression purposes.
Brad
--
Dolphins are so intelligent that within a few weeks they can
train Americans to stand at the edge of the pool and throw them
fish.
next prev parent reply other threads:[~2008-08-26 13:11 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-26 7:28 libata bridge limits Jens Axboe
2008-08-26 9:42 ` Alan Cox
2008-08-26 10:17 ` Jens Axboe
2008-08-26 10:43 ` Tejun Heo
2008-08-26 10:38 ` Alan Cox
2008-08-26 11:23 ` Tejun Heo
2008-08-26 12:25 ` Alan Cox
2008-08-26 12:45 ` Tejun Heo
2008-08-26 17:25 ` Gwendal Grignou
2008-08-26 17:45 ` James Bottomley
2008-08-26 19:25 ` Gwendal Grignou
2008-08-26 20:55 ` James Bottomley
2008-08-26 12:32 ` Brad Campbell [this message]
2008-08-26 12:48 ` Jens Axboe
2008-08-26 12:55 ` Tejun Heo
2008-08-26 13:06 ` Jens Axboe
2008-08-26 13:58 ` Jens Axboe
2008-08-26 14:20 ` Tejun Heo
2008-08-26 14:26 ` Jens Axboe
2008-08-26 14:25 ` Jens Axboe
2008-08-26 19:36 ` Jeff Garzik
2008-08-26 22:37 ` Mark Lord
2008-08-27 13:23 ` Jens Axboe
2008-10-31 5:45 ` Jeff Garzik
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=48B3F7C3.6010600@wasp.net.au \
--to=brad@wasp.net.au \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=jeff@garzik.org \
--cc=jens.axboe@oracle.com \
--cc=linux-ide@vger.kernel.org \
--cc=tj@kernel.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;
as well as URLs for NNTP newsgroup(s).