linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Mark Lord <liml@rtr.ca>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Richard Scobie <r.scobie@clear.net.nz>,
	linux-ide@vger.kernel.org
Subject: Re: SAS v SATA interface performance
Date: Mon, 10 Dec 2007 16:15:49 +0900	[thread overview]
Message-ID: <475CE7A5.3060608@gmail.com> (raw)
In-Reply-To: <4750CFB7.7040400@rtr.ca>

Mark Lord wrote:
> Alan Cox wrote:
>>> The comment I saw, which I'm trying to verify, mentioned the SATA
>>> drives "held the bus" or similar longer than SAS ones.
>>
>> SATA normally uses one link per device so the device side isn't contended
>> unless you descend into the murky world of port multipliers. 
> ..
> 
> And that's where NCQ comes into it's own, allowing full bus release
> so that other drives on the same port multiplier can burst as needed.

Non-NCQ R/W does full bus release too.  It's basically packet based so
nothing really holds the bus.  Even the ATAPI commands don't hold the bus.

> I've only had a port multiplier here for a few days, and used only a pair
> of *notebook* SATA drives on it thus far.  Both drives can stream at full
> rate without any slowdown -- that's 55MByte/sec from each drive, at the
> same time, for sequential reading, 100MByte/sec total.  Notebook drives.

With FIS-based switching, PMP won't impose performance limits on most
configurations until it fills up the connection bandwidth.  Catches are...

1. All currently supported controllers have only upto 32 command slots
per port, which means all devices sharing a PMP will compete for command
slots.  This doesn't really matter unless the PMP is very large (say >
16 ports).

2. The only FIS-based switching controller we currently support is
sata_sil24.  It generally works impressively well.  Unfortunately, it
has some limitations - it for some reason can't fully fill the
bandwidth.  It seems the silicon itself is limited.  This problem is
reported on different operating systems too.  I don't remember the exact
number but it's somewhere between 100 and 150MB/s.

3. sil24/32 family controllers have another quirk which basically forces
command-switching mode for ATAPI devices, so if you connect an ATAPI
device to PMP, the ATAPI device virtually holds the bus while command is
in progress.

I have untested code for ahci 1.2 FIS-based switching PMP support and
the next gen JMB and ICHs are slated to support FIS-based switching.  I
just need more hardware samples and time which seems so scarce these
days.  :-P

Mark, how is marvell PMP support going?

Thanks.

-- 
tejun

  reply	other threads:[~2007-12-10  7:15 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-01  0:04 SAS v SATA interface performance Richard Scobie
2007-12-01  0:17 ` Alan Cox
2007-12-01  3:06   ` Mark Lord
2007-12-10  7:15     ` Tejun Heo [this message]
2007-12-10 16:23       ` Mark Lord
  -- strict thread matches above, loose matches on Subject: below --
2007-11-30 19:19 Richard Scobie
2007-11-30 21:24 ` Michael Tokarev
2007-11-30 23:17   ` Alan Cox
2007-12-01  7:43     ` Richard Scobie
2007-12-01 14:37       ` Greg Freemyer
2007-12-01 19:19         ` Richard Scobie
2007-12-01 20:01           ` Mark Lord
2007-12-01 20:40             ` Jeff Garzik
2007-12-01 23:55               ` Richard Scobie
2007-12-02  3:45                 ` Mark Lord
2007-12-02  3:49                   ` Mark Lord
2007-12-10  7:33   ` Tejun Heo
2007-12-10 14:36     ` Jens Axboe
2007-12-10 16:28       ` Mark Lord
2007-12-10 14:50     ` James Bottomley
2007-12-10 16:32     ` Mark Lord

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=475CE7A5.3060608@gmail.com \
    --to=htejun@gmail.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=liml@rtr.ca \
    --cc=linux-ide@vger.kernel.org \
    --cc=r.scobie@clear.net.nz \
    /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).