linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
@ 2004-08-12  5:16 Clem Taylor
  2004-08-12  6:43 ` Jeff Garzik
  0 siblings, 1 reply; 10+ messages in thread
From: Clem Taylor @ 2004-08-12  5:16 UTC (permalink / raw)
  To: linux-kernel

I've been really disappointed by the performance of the Silicon Image 
3114 on my new x86_box. I spent a bunch of time looking into the 
problem, thinking it was a software RAID5 or xfs issue causing 4K IOs.
I don't know why I didn't notice the 'applying Seagate errata fix' in 
dmesg until after I did a bunch of performance testing and realized that 
it was a sata_sil issue.

So, I was wondering what I can do about this problem? I am not currently 
getting enough disk performance to justify the amount spent on the 
system or enough to satisfy the application I'm working on. Before I go 
out and purchase a 3ware controller and re-install the machine (ouch), 
is there any chance of a better work around in the near future? I'd be 
more than willing to test out a patch.

Is the problem with really with nblocks % 15 == 1? Or is the problem 
with nblocks % 15 == 0? If it is the later and I'm using xfs with 4K 
blocks, couldn't I just turn off the workaround or will the RAID5 driver 
potentially break up larger requests?

It would seem that the root of the problem is a Seagate issue. Does 
anyone know if Seagate fixed the problem with a firmware update? 
Updating the firmware on Seagate fibre channel drives was pretty 
painless, I'd assume that a method exists for SATA drives as well, or is 
that asking too much?

                 Thanks,
                 Clem


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
  2004-08-12  5:16 Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround? Clem Taylor
@ 2004-08-12  6:43 ` Jeff Garzik
  2004-08-12 12:00   ` Alan Cox
  2004-08-13  4:18   ` Clem Taylor
  0 siblings, 2 replies; 10+ messages in thread
From: Jeff Garzik @ 2004-08-12  6:43 UTC (permalink / raw)
  To: Clem Taylor; +Cc: linux-kernel

Clem Taylor wrote:
> I've been really disappointed by the performance of the Silicon Image 
> 3114 on my new x86_box. I spent a bunch of time looking into the 
> problem, thinking it was a software RAID5 or xfs issue causing 4K IOs.
> I don't know why I didn't notice the 'applying Seagate errata fix' in 
> dmesg until after I did a bunch of performance testing and realized that 
> it was a sata_sil issue.
> 
> So, I was wondering what I can do about this problem? I am not currently 

Get a different controller + disk combination.


> getting enough disk performance to justify the amount spent on the 
> system or enough to satisfy the application I'm working on. Before I go 
> out and purchase a 3ware controller and re-install the machine (ouch), 
> is there any chance of a better work around in the near future? I'd be 
> more than willing to test out a patch.
> 
> Is the problem with really with nblocks % 15 == 1? Or is the problem 
> with nblocks % 15 == 0? If it is the later and I'm using xfs with 4K 
> blocks, couldn't I just turn off the workaround or will the RAID5 driver 
> potentially break up larger requests?

The problem is that the Silicon Image controller sends unusual -- but 
legal -- block sizes to the SATA device.

Older Seagates cannot cope with this unique, but spec-correct behavior.

This issue cannot even be worked around with "nblocks % 15 == 1", as was 
previously thought.  Using that formula just makes the problem harder to 
reproduce.

Further, I don't have any plans to address the performance issue, since 
the set of affected drives is finite.


> It would seem that the root of the problem is a Seagate issue. Does 
> anyone know if Seagate fixed the problem with a firmware update? 

You could find out for us, and let us know :)

	Jeff



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
  2004-08-12  6:43 ` Jeff Garzik
@ 2004-08-12 12:00   ` Alan Cox
  2004-08-12 15:16     ` Jeff Garzik
  2004-08-13  4:18   ` Clem Taylor
  1 sibling, 1 reply; 10+ messages in thread
From: Alan Cox @ 2004-08-12 12:00 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Clem Taylor, Linux Kernel Mailing List

On Iau, 2004-08-12 at 07:43, Jeff Garzik wrote:
> Older Seagates cannot cope with this unique, but spec-correct behavior.
> 
> This issue cannot even be worked around with "nblocks % 15 == 1", as was 
> previously thought.  Using that formula just makes the problem harder to 
> reproduce.

It fixes it completely on the drivers/ide driver.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
  2004-08-12 12:00   ` Alan Cox
@ 2004-08-12 15:16     ` Jeff Garzik
  2004-08-12 19:59       ` Alan Cox
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2004-08-12 15:16 UTC (permalink / raw)
  To: Alan Cox; +Cc: Clem Taylor, Linux Kernel Mailing List

Alan Cox wrote:
> On Iau, 2004-08-12 at 07:43, Jeff Garzik wrote:
> 
>>Older Seagates cannot cope with this unique, but spec-correct behavior.
>>
>>This issue cannot even be worked around with "nblocks % 15 == 1", as was 
>>previously thought.  Using that formula just makes the problem harder to 
>>reproduce.
> 
> 
> It fixes it completely on the drivers/ide driver.

SATA bus traces say otherwise.

	Jeff



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
  2004-08-12 15:16     ` Jeff Garzik
@ 2004-08-12 19:59       ` Alan Cox
  2004-08-12 21:03         ` Jeff Garzik
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Cox @ 2004-08-12 19:59 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Clem Taylor, Linux Kernel Mailing List

On Iau, 2004-08-12 at 16:16, Jeff Garzik wrote:
> > It fixes it completely on the drivers/ide driver.
> 
> SATA bus traces say otherwise.

Do you issue 15 or less or just combinations that are ok. With the 
siimage driver I just use the 15 limit and after hammering it hard
couldn't get it to fall over, while trying to be clever it did fall
over.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
  2004-08-12 21:03         ` Jeff Garzik
@ 2004-08-12 20:37           ` Alan Cox
  0 siblings, 0 replies; 10+ messages in thread
From: Alan Cox @ 2004-08-12 20:37 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Clem Taylor, Linux Kernel Mailing List

On Iau, 2004-08-12 at 22:03, Jeff Garzik wrote:
> '15 or less' limit works, but 'sectors % 15 == 1' still produces odd
> Data FIS sizes that confuse Seagate drives.
> 
> I thought you were saying that 'sectors % 15 == 1' was OK.

Only the subset of use I tried in siimage. Thats the 15 or less limit on
the specific list of seagate drives affected. 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
  2004-08-12 19:59       ` Alan Cox
@ 2004-08-12 21:03         ` Jeff Garzik
  2004-08-12 20:37           ` Alan Cox
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2004-08-12 21:03 UTC (permalink / raw)
  To: Alan Cox; +Cc: Clem Taylor, Linux Kernel Mailing List

On Thu, Aug 12, 2004 at 08:59:00PM +0100, Alan Cox wrote:
> On Iau, 2004-08-12 at 16:16, Jeff Garzik wrote:
> > > It fixes it completely on the drivers/ide driver.
> > 
> > SATA bus traces say otherwise.
> 
> Do you issue 15 or less or just combinations that are ok. With the 
> siimage driver I just use the 15 limit and after hammering it hard
> couldn't get it to fall over, while trying to be clever it did fall
> over.

hmmm, perhaps I misunderstood your email?

'15 or less' limit works, but 'sectors % 15 == 1' still produces odd
Data FIS sizes that confuse Seagate drives.

I thought you were saying that 'sectors % 15 == 1' was OK.

	Jeff




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
  2004-08-12  6:43 ` Jeff Garzik
  2004-08-12 12:00   ` Alan Cox
@ 2004-08-13  4:18   ` Clem Taylor
  2004-08-13 12:13     ` Alan Cox
  1 sibling, 1 reply; 10+ messages in thread
From: Clem Taylor @ 2004-08-13  4:18 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-kernel

Jeff Garzik wrote:
> Get a different controller + disk combination.

I don't want to dump the disks, but I may be ordering a 3ware controller 
in the near future. The only reason I didn't get a 3ware controller in 
the first place was that the Sil 3114 was on the motherboard.

> The problem is that the Silicon Image controller sends unusual -- but 
> legal -- block sizes to the SATA device.
> 
> Older Seagates cannot cope with this unique, but spec-correct behavior.

I thought that the Seagate ST3160023AS was a fairly new drive. I noticed 
a comment that version 3.18 of the firmware may not suffer from this 
problem, can anyone confirm this? I'm going to try removing my drive 
from the blacklist and see what happens.

>> It would seem that the root of the problem is a Seagate issue. Does 
>> anyone know if Seagate fixed the problem with a firmware update? 
> 
> You could find out for us, and let us know :)

I tried, my contact at Seagate doesn't seem to be with them anymore (I 
haven't worked in the storage space in quite some time).

                 Thanks for the help,
                 Clem

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
  2004-08-13  4:18   ` Clem Taylor
@ 2004-08-13 12:13     ` Alan Cox
  2004-08-16 18:49       ` Eric Mudama
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Cox @ 2004-08-13 12:13 UTC (permalink / raw)
  To: Clem Taylor; +Cc: Jeff Garzik, Linux Kernel Mailing List

On Gwe, 2004-08-13 at 05:18, Clem Taylor wrote:
> I tried, my contact at Seagate doesn't seem to be with them anymore (I 
> haven't worked in the storage space in quite some time).

I was told the affected drive list was non-disclosure. At that point I
got bored of playing the game.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround?
  2004-08-13 12:13     ` Alan Cox
@ 2004-08-16 18:49       ` Eric Mudama
  0 siblings, 0 replies; 10+ messages in thread
From: Eric Mudama @ 2004-08-16 18:49 UTC (permalink / raw)
  To: Alan Cox; +Cc: Clem Taylor, Jeff Garzik, Linux Kernel Mailing List

I'm not sure about "affected" drives, but the issue as Jeff pointed
out is that SI3112/3114 send write data to the host in non-multiples
of 512 bytes, if the command exceeds 15 LBAs in size.

Up to 15*512 bytes gives you a single FIS of 15*512, for anything
larger they have an internal algorithm that is pretty easy to figure
out with a bus trace.

To work with drives that aren't capable of handling this, you can't
issue writes > 15 LBAs to the drive, hence the blacklist/workaround.

--eric

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2004-08-16 18:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-12  5:16 Any news on a higher performance sata_sil SIL_QUIRK_MOD15WRITE workaround? Clem Taylor
2004-08-12  6:43 ` Jeff Garzik
2004-08-12 12:00   ` Alan Cox
2004-08-12 15:16     ` Jeff Garzik
2004-08-12 19:59       ` Alan Cox
2004-08-12 21:03         ` Jeff Garzik
2004-08-12 20:37           ` Alan Cox
2004-08-13  4:18   ` Clem Taylor
2004-08-13 12:13     ` Alan Cox
2004-08-16 18:49       ` Eric Mudama

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).