Skip to contentSkip to conversation

3w-xxxx, IOMMU and >1go RAM

Bug 7246 [email protected] 1 participant 3 messages Feb 25, 2008 – Feb 26, 2008 1 message not in the archive SCSI

lore
Share & tools
lore
#1 lore raw
In reply to a message not in the archive

http://bugzilla.kernel.org/show_bug.cgi?id=7246

[email protected] changed:

What |Removed |Added
----------------------------------------------------------------------------

                 CC|                            |[email protected]
                   |                            |m

------- Comment #12 from [email protected] 2008-02-25 01:34 ------- (In reply to comment #11)

Quoted 3 lines

If there is no more problems then it looks like the bug can be closed now. Thanks.

The bug still exists as you can see in the following bug report on debian:

"linux-2.6.18-6-amd64: 3w-xxxx v1.26.02.001 causes datacorruption with AMD64/EM64T with >2GB RAM"
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=464923

The problem is with the driver included in the kernel. More information on
http://www.3ware.com/KB/article.aspx?id=15243

I'll quote the first post of the bug report, it includes very relevant/useful information:

"
Package: linux-2.6.18-6-amd64
Severity: critical
Tags: patch
Justification: causes serious data loss

How to reproduce:

10036:/tmp# uname -a
Linux 10036 2.6.18-6-amd64 #1 SMP Wed Jan 23 06:27:23 UTC 2008 x86_64 GNU/Linux
10036:/tmp# grep MemTotal /proc/meminfo
MemTotal:      8179992 kB
10036:/tmp# dd if=/dev/urandom bs=1048576 count=10240 | tee testfile | md5sum
00a513dc3da637c4c86557102b0e6098  -
10239+1 records in
10239+1 records out
10737297534 bytes (11 GB) copied, 1584.6 seconds, 6.8 MB/s
10036:/tmp# md5sum testfile
bfceb91a358dfc3d09e22ad74b7ebefb  testfile
10036:/tmp#

How to fix:
There is a 3ware KB article on this:
http://www.3ware.com/KB/article.aspx?id=15243

This includes "3ware Storage Controller device driver for Linux v1.26.03.000-2.6.18."

Quoted 1 line

From the driver:

1.26.03.000 - Use default DMA data direction to prevent data corruption
when using SWIOTLB with 4GB+ on EM64T.

Installing this fixes the problem for me.

-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-vserver-k7
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) "

My server installation is also suffering from this bug (datacorruption):

Debian Release: 4.0 (stable)
Architecture: amd64 (64bits)
Kernel: 2.6.18-5-amd64
RAM: 4GB
RAID Controller: 3w-8500 series
Processor: Intel Xeon - EMT64

As I've stated before, the problem resides in the driver included in the kernel, so it's just a matter of replacing it as a patch in the kernel.

Signature · 3 lines
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
#2 lore raw
In reply to a message not in the archive

http://bugzilla.kernel.org/show_bug.cgi?id=7246

[email protected] changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

------- Comment #13 from [email protected] 2008-02-25 11:54 ------- Javier,

The final issue you are talking about (different from original issue in this bugzilla entry):

The 3w-xxxx driver calling pci_map_sg() with sc_data_direction == DMA_BIDIRECTIONAL caused data corruption when going through swiotlb.c, on EM64T with 4GB or higher of RAM. AMD64 systems using IOMMU were never affected.

This problem doesn't exist in the 3w-xxxx driver in kernels 2.6.23 and higher. The reason is the 'scsi data buffer accessors' patches removed most instances of scsi drivers calling pci_map_sg() and replaced them with scsi_dma_map().

This corrected the problem of the 3w-xxxx driver over-riding the default sc_data_direction that was causing data corruption with EM64T systems with 4GB+ RAM.

If you need a driver update for an older kernel to fix this issue, please go to www.3ware.com, however no driver patch to 3w-xxxx needs to be sent to the kernel tree to fix this issue.

Please close this BUG.

-Adam Radford

Signature · 3 lines
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
#3 lore raw
In reply to a message not in the archive

http://bugzilla.kernel.org/show_bug.cgi?id=7246

[email protected] changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |CLOSED
         Resolution|                            |PATCH_ALREADY_AVAILABLE

------- Comment #14 from [email protected] 2008-02-25 16:20 ------- Thanks, Adam - closing the bug.

Signature · 3 lines
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.