public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jon Mason <jdmason@us.ibm.com>
To: Muli Ben-Yehuda <mulix@mulix.org>
Cc: Andi Kleen <ak@suse.de>,
	discuss@x86-64.org, Ravikiran G Thirumalai <kiran@scalex86.org>,
	Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org, tglx@linutronix.de,
	shai@scalex86.org, clameter@engr.sgi.com, muli@il.ibm.com,
	jdmason@us.ibm.com
Subject: Re: [discuss] Re: x86_64: 2.6.14-rc4 swiotlb broken
Date: Wed, 19 Oct 2005 12:18:06 -0500	[thread overview]
Message-ID: <20051019171805.GF10863@us.ibm.com> (raw)
In-Reply-To: <20051017184523.GB26239@granada.merseine.nu>

I have run a few tests on the original code and the patches posted to the list,
and have some interesting results.  First, my system setup:  Dual Opteron, 8GB
RAM, SIL SATA controller (which is apparently 32bit), pcnet32 NIC (compiled as
a module) connected to the network.  The latter 2 should show any bounce
buffer problems.  

I get the following behavior: 
- With AMD HW IOMMU (AGP_GART), everything works perfectly.
- With IOMMU disabled (iommu=off), my kernel panics in SATA.
- With SW IOMMU (iommu=soft), my kernel is unable to find any partitions on my
SATA disk (and panics)
- With SW IOMMU and Ravikiran's original patch, kernel boots with no aperient
problems
- With SW IOMMU and Ravikiran's second patch, kernel boots with no aperient
problems
- With SW IOMMU and Yasunori's patch, kernel boots with no aperient problems

The edited dmesg output can be found below.  

>From the above, we can tell that my system requires either hardware IOMMU or
bounce buffers for the SATA disk.  We can also tell that the current
implimentation has a bug (where the actual cause lies is unknown).  All of the
patches in this e-mail thread seem to fix my problem and I had no noticeable
problems.

If anyone wants me to try anything on my system, I'll be happy to help.  

Thanks,
Jon

----------------------------------------------------

with Yasunori's last patch and with iommu=soft
[...]
Placing software IO TLB between 0x4821000 - 0x8821000
[...]
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
PCI: Bridge: 0000:00:06.0
  IO window: 2000-2fff
  MEM window: f9700000-f97fffff
  PREFETCH window: f9000000-f90fffff
PCI: Bridge: 0000:00:0a.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0b.0
  IO window: disabled.
  MEM window: f9800000-f98fffff
  PREFETCH window: disabled.
PCI: Failed to allocate mem resource #6:20000@f8000000 for 0000:09:00.0
PCI: Bridge: 0000:08:01.0
  IO window: disabled.
  MEM window: f8000000-f8ffffff
  PREFETCH window: f0000000-f7ffffff
PCI: Bridge: 0000:08:03.0
  IO window: 3000-3fff
  MEM window: f9200000-f92fffff
  PREFETCH window: f9100000-f91fffff
PCI: Bridge: 0000:08:04.0
  IO window: 4000-4fff
  MEM window: f9300000-f93fffff
  PREFETCH window: f9500000-f95fffff
[...]
scsi2 : sata_sil
ata2: no device found (phy stat 00000000)
scsi3 : sata_sil
  Vendor: ATA       Model: Maxtor 6Y080M0    Rev: YAR5
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3
[...]


with Ravikiran's second patch and with iommu=soft
[...]
Placing software IO TLB between 0x4821000 - 0x8821000
[...]
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
PCI: Bridge: 0000:00:06.0
  IO window: 2000-2fff
  MEM window: f9700000-f97fffff
  PREFETCH window: f9000000-f90fffff
PCI: Bridge: 0000:00:0a.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0b.0
  IO window: disabled.
  MEM window: f9800000-f98fffff
  PREFETCH window: disabled.
PCI: Failed to allocate mem resource #6:20000@f8000000 for 0000:09:00.0
PCI: Bridge: 0000:08:01.0
  IO window: disabled.
  MEM window: f8000000-f8ffffff
  PREFETCH window: f0000000-f7ffffff
PCI: Bridge: 0000:08:03.0
  IO window: 3000-3fff
  MEM window: f9200000-f92fffff
  PREFETCH window: f9100000-f91fffff
PCI: Bridge: 0000:08:04.0
  IO window: 4000-4fff
  MEM window: f9300000-f93fffff
  PREFETCH window: f9500000-f95fffff
[...]
scsi2 : sata_sil
ata2: no device found (phy stat 00000000)
scsi3 : sata_sil
  Vendor: ATA       Model: Maxtor 6Y080M0    Rev: YAR5
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3
[...]


with Ravikiran's first patch and with iommu=soft
[...]
Placing software IO TLB between 0x4820180 - 0x8820180
[...]
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
PCI: Bridge: 0000:00:06.0
  IO window: 2000-2fff
  MEM window: f9700000-f97fffff
  PREFETCH window: f9000000-f90fffff
PCI: Bridge: 0000:00:0a.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0b.0
  IO window: disabled.
  MEM window: f9800000-f98fffff
  PREFETCH window: disabled.
PCI: Failed to allocate mem resource #6:20000@f8000000 for 0000:09:00.0
PCI: Bridge: 0000:08:01.0
  IO window: disabled.
  MEM window: f8000000-f8ffffff
  PREFETCH window: f0000000-f7ffffff
PCI: Bridge: 0000:08:03.0
  IO window: 3000-3fff
  MEM window: f9200000-f92fffff
  PREFETCH window: f9100000-f91fffff
PCI: Bridge: 0000:08:04.0
  IO window: 4000-4fff
  MEM window: f9300000-f93fffff
  PREFETCH window: f9500000-f95fffff
[...]
scsi2 : sata_sil
ata2: no device found (phy stat 00000000)
scsi3 : sata_sil
  Vendor: ATA       Model: Maxtor 6Y080M0    Rev: YAR5
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3
[...]



without patch and with iommu=soft
[...]
Placing software IO TLB between 0x104466000 - 0x108466000
[...]
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
PCI: Bridge: 0000:00:06.0
  IO window: 2000-2fff
  MEM window: f9700000-f97fffff
  PREFETCH window: f9000000-f90fffff
PCI: Bridge: 0000:00:0a.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0b.0
  IO window: disabled.
  MEM window: f9800000-f98fffff
  PREFETCH window: disabled.
PCI: Failed to allocate mem resource #6:20000@f8000000 for 0000:09:00.0
PCI: Bridge: 0000:08:01.0
  IO window: disabled.
  MEM window: f8000000-f8ffffff
  PREFETCH window: f0000000-f7ffffff
PCI: Bridge: 0000:08:03.0
  IO window: 3000-3fff
  MEM window: f9200000-f92fffff
  PREFETCH window: f9100000-f91fffff
PCI: Bridge: 0000:08:04.0
  IO window: 4000-4fff
  MEM window: f9300000-f93fffff
  PREFETCH window: f9500000-f95fffff
[...]
scsi2 : sata_sil
ata2: no device found (phy stat 00000000)
scsi3 : sata_sil
  Vendor: ATA       Model: Maxtor 6Y080M0    Rev: YAR5
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
 sda: unknown partition table
[...]
VFS: Cannot open root device "sda2" or unknown-block(8,2)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2)


without patch and with iommu=off
[...]
PCI-DMA: Disabling IOMMU.
PCI: Bridge: 0000:00:06.0
  IO window: 2000-2fff
  MEM window: f9700000-f97fffff
  PREFETCH window: f9000000-f90fffff
PCI: Bridge: 0000:00:0a.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0b.0
  IO window: disabled.
  MEM window: f9800000-f98fffff
  PREFETCH window: disabled.
PCI: Failed to allocate mem resource #6:20000@f8000000 for 0000:09:00.0
PCI: Bridge: 0000:08:01.0
  IO window: disabled.
  MEM window: f8000000-f8ffffff
  PREFETCH window: f0000000-f7ffffff
PCI: Bridge: 0000:08:03.0
  IO window: 3000-3fff
  MEM window: f9200000-f92fffff
  PREFETCH window: f9100000-f91fffff
PCI: Bridge: 0000:08:04.0
  IO window: 4000-4fff
  MEM window: f9300000-f93fffff
  PREFETCH window: f9500000-f95fffff
[...]
scsi2 : sata_sil
ata2: no device found (phy stat 00000000)
scsi3 : sata_sil
  Vendor: ATA       Model: Maxtor 6Y080M0    Rev: YAR5
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 156312576 512-byte hdwr sectors (80032 MB)
SCSI device sda: drive cache: write back
 sda:<0>Kernel panic - not syncing: PCI-DMA: high address but no IOMMU.

  parent reply	other threads:[~2005-10-19 17:18 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-17  9:36 x86_64: 2.6.14-rc4 swiotlb broken Ravikiran G Thirumalai
2005-10-17  9:50 ` Andrew Morton
2005-10-17  9:53   ` Andi Kleen
2005-10-17 10:54     ` Yasunori Goto
2005-10-17 15:27     ` Linus Torvalds
2005-10-17 15:37       ` Ravikiran G Thirumalai
2005-10-17 15:40       ` Andi Kleen
2005-10-17 15:56         ` Muli Ben-Yehuda
2005-10-17 16:02           ` Andi Kleen
2005-10-17 18:53             ` [discuss] " Russell King
2005-10-17 16:02         ` Linus Torvalds
2005-10-17 16:26           ` Andi Kleen
2005-10-17 16:42             ` Linus Torvalds
2005-10-17 17:09               ` Andi Kleen
2005-10-17 17:52         ` Ravikiran G Thirumalai
2005-10-17 18:08           ` [discuss] " Andi Kleen
2005-10-17 18:27             ` Muli Ben-Yehuda
2005-10-17 18:32               ` Andi Kleen
2005-10-17 18:45                 ` Muli Ben-Yehuda
2005-10-17 19:04                   ` Linus Torvalds
2005-10-17 19:09                     ` Andi Kleen
2005-10-17 19:15                       ` Arjan van de Ven
2005-10-17 19:47                       ` Ravikiran G Thirumalai
2005-10-17 23:50                     ` David Lang
2005-10-18  2:29                     ` Yasunori Goto
2005-10-18  3:20                       ` Ravikiran G Thirumalai
2005-10-18  4:28                         ` Yasunori Goto
2005-10-18  6:13                           ` Ravikiran G Thirumalai
2005-10-18 10:09                             ` Yasunori Goto
2005-10-18 18:51                               ` Ravikiran G Thirumalai
2005-10-19 17:18                   ` Jon Mason [this message]
2005-10-20  7:27                     ` Andi Kleen
2005-10-17 18:38             ` Ravikiran G Thirumalai
2005-10-17 18:20           ` Christoph Lameter
2005-10-17 19:04             ` Alex Williamson
2005-10-17 19:26               ` Ravikiran G Thirumalai
2005-10-17 19:52                 ` Alex Williamson
2005-10-17 15:30     ` Ravikiran G Thirumalai
2005-10-17 15:43       ` Andi Kleen
2005-10-17 20:44         ` Andrew Morton
2005-10-17 21:11           ` Linus Torvalds
2005-10-18  0:16             ` Ravikiran G Thirumalai
2005-10-18  8:23               ` Andi Kleen
2005-10-18 19:07                 ` [discuss] " Ravikiran G Thirumalai
2005-10-18 15:48               ` Linus Torvalds
2005-10-18 15:50                 ` Linus Torvalds
2005-10-18 19:54                   ` [discuss] " Ravikiran G Thirumalai
2005-10-18 21:28                     ` Alex Williamson
2005-10-18 21:53                       ` Ravikiran G Thirumalai
2005-10-18 22:04                         ` Alex Williamson
2005-10-18 22:37                           ` Alex Williamson
2005-10-18 23:22                             ` Ravikiran G Thirumalai
2005-10-19  1:22                               ` Alex Williamson
2005-10-19  2:02                                 ` Alex Williamson
2005-10-19 12:47                                 ` Yasunori Goto
2005-10-19 14:19                                   ` Alex Williamson
2005-10-19 18:07                                   ` Ravikiran G Thirumalai
2005-10-19 20:45                                     ` Linus Torvalds
2005-10-19 22:52                                       ` Ravikiran G Thirumalai
2005-10-20  0:51                                         ` Yasunori Goto
2005-10-20  7:45                                   ` Andi Kleen
2005-10-18 22:47                           ` Ravikiran G Thirumalai
2005-10-17 10:02   ` Muli Ben-Yehuda
2005-10-17 19:07     ` Tony Luck

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=20051019171805.GF10863@us.ibm.com \
    --to=jdmason@us.ibm.com \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=clameter@engr.sgi.com \
    --cc=discuss@x86-64.org \
    --cc=kiran@scalex86.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=muli@il.ibm.com \
    --cc=mulix@mulix.org \
    --cc=shai@scalex86.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@osdl.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