Forums Neueste Beiträge
 

IOMMU und DMA-Probleme mit JMicron P-ATA unter Linux

27/12/2010 - 13:45 von Steffen Moser | Report spam
Hallo allerseits,

ich habe ein Problem mit meinem neuen AMD-Phenom-System und dem
Linux-Kernel 2.6.35.10 (Vanilla, x86_64-Plattform).

Es àußert sich so, dass nach Aktivieren der BIOS-Setup-Option
"IOMMU" der Onboard-P-ATA-Controller vom Typ "JMicron Technology
Corp. JMB361 AHCI/IDE (rev 02)" nicht mehr im DMA-Modus làuft.

Beim Laden des Treibers meldet der Kernel in diesem Fall:

pata_jmicron 0000:06:00.1: BMDMA: failed to set dma mask,
falling back to PIO

Das hat dann zur Folge, dass erwarungsgemàß der Durchsatz des
P-ATA so weit sinkt, dass man nicht mehr "vernünftig" mit den
optischen Laufwerken, die daran hàngen, arbeiten kann. Das An-
schauen einer Video-DVD ist dann etwa nicht mehr flüssig möglich.

Sobald ich die IOMMU abschalte, verschwindet das Problem.

Soweit ich informiert bin, verbirgt sich hinter der Option "IOMMU"
das Merkmal "AMD-Vi", das dann interessant wird, wenn aus einer
virtuellen Maschine heraus auf Hardwarekomponenten des Host-Systems
zugegriffen werden soll (man möge mich bitte korrigieren, falls ich
hier falsch liege!). Zwar betreibe ich auf dem Rechner auch hin und
wieder virtuelle Maschinen, allerdings ist zumindest aktuell der
direkte Zugriff auf spezielle Host-Hardware nicht nötig. Daher,
denke ich, kann ich momentan auf die IOMMU verzichten, ohne dadurch
Nachteile zu haben.

Allerdings finde ich es dennoch merkwürdig, dass der P-ATA-Controller
dann Probleme macht, wenn die IOMMU aktiviert ist und wollte daher
nachfragen, ob das schon mal jemanden von den Mitlesenden aufgefallen
ist. Ist die Ursache eher beim Hersteller des Boards bzw. des BIOS
zu suchen oder sollte man das den Kernel-Entwicklern melden?

Einige Daten zum System:

- Mainboard: ASUS M4A89TD Pro/USB3, BIOS-Version: 1101 (aktuell)
- Chipsatz: AMD 890FX
- Prozessor: AMD Phenom 1090T
- Speicher: 4 Module mit je 4 GB (Kingston KVR1333D3E9S/4G)
- Distribution: openSUSE 11.3
- Kernel: 2.6.35.10, x86_64, àltere Kernels aus 2.6.35 sind
ebenso betroffen.

Viele Grüße
Steffen

P.S.: X-Post nach "dcoul.hardware" sowie nach "dchc+m.amd" und
F'Up2 nach "dcoul.hardware" gesetzt.
 

Lesen sie die antworten

#1 Andreas Hartmann
27/12/2010 - 20:17 | Warnen spam
Hallo Steffen,

Steffen Moser schrieb:
Hallo allerseits,

ich habe ein Problem mit meinem neuen AMD-Phenom-System und dem
Linux-Kernel 2.6.35.10 (Vanilla, x86_64-Plattform).

Es àußert sich so, dass nach Aktivieren der BIOS-Setup-Option
"IOMMU" der Onboard-P-ATA-Controller vom Typ "JMicron Technology
Corp. JMB361 AHCI/IDE (rev 02)" nicht mehr im DMA-Modus làuft.

Beim Laden des Treibers meldet der Kernel in diesem Fall:

pata_jmicron 0000:06:00.1: BMDMA: failed to set dma mask,
falling back to PIO

Das hat dann zur Folge, dass erwarungsgemàß der Durchsatz des
P-ATA so weit sinkt, dass man nicht mehr "vernünftig" mit den
optischen Laufwerken, die daran hàngen, arbeiten kann. Das An-
schauen einer Video-DVD ist dann etwa nicht mehr flüssig möglich.

Sobald ich die IOMMU abschalte, verschwindet das Problem.



Ich habe mir das Handbuch runtergeladen - von IOMMU finde ich nichts und
ich finde das auch nirgendwo in den Boardeigenschaften.

Unter welchem Kunstwort findet man diese Einstellung? Oder kam das erst
in einer spàteren BIOS-Version dazu?

Soweit ich informiert bin, verbirgt sich hinter der Option "IOMMU"
das Merkmal "AMD-Vi", das dann interessant wird, wenn aus einer
virtuellen Maschine heraus auf Hardwarekomponenten des Host-Systems
zugegriffen werden soll (man möge mich bitte korrigieren, falls ich
hier falsch liege!).



Ja, brauchst Du u.A. zum direkten Zugriff auf die Hardware aus der VM
heraus.

Zwar betreibe ich auf dem Rechner auch hin und
wieder virtuelle Maschinen, allerdings ist zumindest aktuell der
direkte Zugriff auf spezielle Host-Hardware nicht nötig. Daher,
denke ich, kann ich momentan auf die IOMMU verzichten, ohne dadurch
Nachteile zu haben.

Allerdings finde ich es dennoch merkwürdig, dass der P-ATA-Controller
dann Probleme macht, wenn die IOMMU aktiviert ist und wollte daher
nachfragen, ob das schon mal jemanden von den Mitlesenden aufgefallen
ist.



Welche Ports hast Du denn umgeschalten? Ich nehme an 5 und 6 (da steht
in der Bedienungsanleitung was dazu).

Ist die Ursache eher beim Hersteller des Boards bzw. des BIOS
zu suchen oder sollte man das den Kernel-Entwicklern melden?

Einige Daten zum System:

- Mainboard: ASUS M4A89TD Pro/USB3, BIOS-Version: 1101 (aktuell)
- Chipsatz: AMD 890FX
- Prozessor: AMD Phenom 1090T
- Speicher: 4 Module mit je 4 GB (Kingston KVR1333D3E9S/4G)
- Distribution: openSUSE 11.3
- Kernel: 2.6.35.10, x86_64, àltere Kernels aus 2.6.35 sind
ebenso betroffen.



Ich würde auf der Kernel Mailing Liste nachfragen.


Gruß,
Andreas

Ähnliche fragen