public inbox for linux-ide@vger.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: mtths@nurfuerspam.de
Cc: linux-ide@vger.kernel.org
Subject: Re: PROBLEM: sil24: transfer errors causing data corruption or very low performance
Date: Fri, 28 Apr 2017 17:36:17 -0400	[thread overview]
Message-ID: <20170428213617.GF22354@htj.duckdns.org> (raw)
In-Reply-To: <1605874.IPVSbxyx3P@c21>

Hello,

On Sat, Apr 22, 2017 at 05:33:56PM +0200, mtths@nurfuerspam.de wrote:
> A SATA PCI-controller card using the kernel module sata_sil24 has problems 
> transferring big files.
> 
> 
> First of all a description of the situation:
> 
> -- Hardware:
> - mainboard Gigabyte GA-MA69GM-S2H; chipset AMD 690G / SB600; 2 PCI slots
>   (32 bit); 1 PCIe 4x slot; 1 PCIe 16 x slot; 8 GiB RAM; AMD Phenom(tm) II X4
>   955 Processor
> - SATA controller card Dawicontrol DC-3410 RAID, 32 bit PCI; chipset
>   SiI3124ACBHU; BIOS message: running at 32 bit / 33 MHz
> - with hard disks: HDS721616PLA380 (twice), ST3000DM001-9YN166 (temporary)
> - q.v. attachment lspci; (dmidecode (v 3.0) finds no SMBIOS nor DMI entry
>   point)
...
> 1st test setting:
> Reading from the disks to /dev/null with
> 		dd if=/dev/sde of=/dev/null bs=4k count=2304k
> one after the other. (Disk ST3000DM001 was temporarily directly connected to 
> the card's external SATA port.)
> Result: After some MB, but before 470 MiB errors occurred:
> 	failed command: READ FPDMA QUEUED
> 		[cf. attachment dmesg]
> 	failed command: READ DMA
> 		[cf. attachment dmesg_tmpHD]
> The errors were reproducible - however, they started after different amounts 
> of data.
> 
> 2nd test setting:
> Using Debian's kernel and patching the driver to not use 64 bit DMA [cf. 
> attachment sata_sil24.c.diff].
> Doing the same tests as above.
> Result: Repeatedly no errors occurred.
> 
> 
> N.B.: 1) There is a Windows Vista (32 bit) installation that uses two of the 
> ports of the controller card as a fake RAID 1: There are no problems with the 
> internal directly connected drives nor with an external drive.
> 2) Prior to this controller card there was a PCI Express card using SiI 3132, 
> that - if I remember rightly - also had such problems, but they started after 
> a greater amount of data. (At that time a Windows XP x64 installation had no 
> problems, too.)

That's interesting, so you're seeing similar host bus errors whether
the controller is attached to PCI or PCIe.

The controller itself is known to be okay with 64bit addressing and
restricting it to 32bit addressing means that you'd be bouncing pages
(DMA to low pages and then copy using CPU), which slows down things a
bit.  It could be that the slowing down in timing is what's helping,
not necessarily forcing 32bit DMA.

I don't know.  Host bus errors are rarely reported and the controller
is definitely known to be okay with 64bit DMAs.  Given this didn't get
reported at all in the haydays of SB600, it could actually be faulty
hardware.

I'm not sure what we can do at the moment.

Thanks.

-- 
tejun

      reply	other threads:[~2017-04-28 21:36 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-22 15:33 PROBLEM: sil24: transfer errors causing data corruption or very low performance mtths
2017-04-28 21:36 ` Tejun Heo [this message]

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=20170428213617.GF22354@htj.duckdns.org \
    --to=tj@kernel.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=mtths@nurfuerspam.de \
    /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