Jump to content

Slow Hard Drive Performance ICH10


195 posts in this topic

Recommended Posts

MacPro4,1

00:1f.2 SATA controller [0106]: Intel Corporation Device [8086:3a22] (prog-if 01 [AHCI 1.0])
Subsystem: Intel Corporation Device [8086:7270]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin B routed to IRQ 17
Region 0: I/O ports at 4138
Region 1: I/O ports at 414c
Region 2: I/O ports at 4130
Region 3: I/O ports at 4148
Region 4: I/O ports at 4020
Region 5: Memory at 8b825000 (32-bit, non-prefetchable)
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=4/4 Enable-
	Address: fee00000  Data: 40a0
Capabilities: [70] Power Management version 3
	Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
	Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a8] SATA HBA <?>
Capabilities: [b0] PCIe advanced features <?>

 

ASUS P6T X58

00:1f.2 SATA controller [0106]: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller [8086:3a22] (prog-if 01)
Subsystem: ASUSTeK Computer Inc. Device [1043:82d4]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin B routed to IRQ 14
Region 0: I/O ports at 8c00
Region 1: I/O ports at 8880
Region 2: I/O ports at 8800
Region 3: I/O ports at 8480
Region 4: I/O ports at 8400
Region 5: Memory at f7ffc000 (32-bit, non-prefetchable)
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/4 Enable+
Address: feeff00c Data: 41b1
Capabilities: [70] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a8] SATA HBA <?>
Capabilities: [b0] PCIe advanced features <?>

 

Look closely at Capabilities: [80] Message Signalled Interrupts, it says Enable- on MacPro and Enable+ on X58. My guess is that Mac OS X can't handle Message Handled Interrupts for AHCI correctly, causing the slowdowns.

 

Indeed, on board the GA-X58-UD5 not noticed this problem, I attach lspci-nnvvvb maybe something to help...

 

Gigabye GA-X58-UD5 from lspci-nnvvvb attachment by morganpl

00:1f.2 SATA controller [0106]: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller [8086:3a22] (prog-if 01 [AHCI 1.0])
Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard [1458:b005]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin B routed to IRQ 19
Region 0: I/O ports at f900
Region 1: I/O ports at f800
Region 2: I/O ports at f700
Region 3: I/O ports at f600
Region 4: I/O ports at f500
Region 5: Memory at fbffc000 (32-bit, non-prefetchable)
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=4/4 Enable-
	Address: fee00000  Data: 4090
Capabilities: [70] Power Management version 3
	Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
	Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a8] SATA HBA <?>
Capabilities: [b0] PCIe advanced features <?>

 

So it looks like the only one different is the Asus one, as expected.

Link to comment
Share on other sites

SATA controller under 10.5.8

 

00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller (prog-if 01 [AHCI 1.0])

Subsystem: ASUSTeK Computer Inc. Device 82d4

Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 0

Interrupt: pin B routed to IRQ 20

Region 0: I/O ports at 9c00

Region 1: I/O ports at 9880

Region 2: I/O ports at 9800

Region 3: I/O ports at 9480

Region 4: I/O ports at 9400

Region 5: Memory at f7ffc000 (32-bit, non-prefetchable)

Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=4/4 Enable-

Address: fee00000 Data: 4090

Capabilities: [70] Power Management version 3

Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)

Status: D0 PME-Enable- DSel=0 DScale=0 PME-

Capabilities: [a8] SATA HBA <?>

Capabilities: [b0] PCIe advanced features <?>

Link to comment
Share on other sites

:)

How many times to say where is the bug?

 

Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x14 }, /* SATA IRQ 20(0x14 in hex) */

Package (0x04) { 0x001FFFFF, 0x00, 0x00, 0x14 }, /* Native IDE IRQ 20(0x14 in hex) */

HPET use the same IRQ, that is our "bug", and that is why works with HPET disabled, or in IDE mode.

10.5x is more permissive, snow is not.

 

Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x13 }, /* SATA IRQ 19(0x13 in hex) */ -> Gigabye GA-X58-UD5

 

Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x13 }, /* SATA IRQ 19(0x13 in hex) */ -> MSI X58 SLI

 

Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x13 }, /* SATA IRQ 17(0x11 in hex) */ -> MacPro4,1

 

The problem is that just changing the IRQ from 0x14 to 0x13 dosen't fix it and leads for "still waiting for root", the whole PCI0 _PRT table must be fixed according to new IRQ that we will use...

Link to comment
Share on other sites

:thumbsup_anim:

The King, thank you very much! Just returned from vacation, entered this thread right away. Patched my DSDT following your instructions – works! Both SATA drives in my machine are now running smoothly under 10.6.0.

 

Next up: Upgrading to 10.6.1. Thanks again for your effort!

Link to comment
Share on other sites

Mate seems you don't understand...just adding those under HPET does nothing...IRQ 2 is still used, look better on what I posted.

Yes I do know what you did! I am actually on the new DSDT now!

I have said that the SOLUTION is on finding the correct values on the DSDT.

I did the first part on the HPET... knew that we had to do more work on the DSDT!

Thanks for your excellent work!

Link to comment
Share on other sites

Hello

Yesterday I instaled " FakeSMC 2" by Netkas and all Sata Works in AHCI Mode ;)

Even my burner work Fine whit Toast

You really don't know what is all about...

Still you may be right b/c fakesmc(as real smc) use irq 6, maybe that forced irq reconfiguration on your board....

Link to comment
Share on other sites

@THe KiNG could you post unified diff of the modified DSDT? It'll make it much easier to mod own DSDT. Just run "diff -u dsdt.old dsdt.new" in Terminal.

 

That might be problematic. I'm running BIOS 0504 and my HPET and RTC0 methods already had the correct code. I only had to modify the TMR and PIC. I see there is a new BIOS 0610, anyone try it? Motherboard is Asus P6T Deluxe V2

 

Here's the diff:

--- dsdt.old	2009-09-14 21:06:42.000000000 -0500
+++ dsdt.dsl	2009-09-14 20:35:28.000000000 -0500
@@ -2982,8 +2982,6 @@
						 0x00,			   // Alignment
						 0x02,			   // Length
						 )
-						IRQNoFlags ()
-							{2}
				 })
			 }

@@ -3041,11 +3039,15 @@
					 IO (Decode16,
						 0x0040,			 // Range Minimum
						 0x0040,			 // Range Maximum
-							0x00,			   // Alignment
+							0x01,			   // Alignment
+							0x04,			   // Length
+							)
+							IO (Decode16,
+							0x0050,			 // Range Minimum
+							0x0050,			 // Range Maximum
+							0x01,			   // Alignment
						 0x04,			   // Length
						 )
-						IRQNoFlags ()
-							{0}
				 })
			 }

 

Use at your own risk.

 

SATA working great now, thanks for the hard work @THe KiNG

Link to comment
Share on other sites

The King or CSharpMac or anyone.

 

I have tried for 2 hours now to make these changes to my dsdt.aml file but when I try to recompile I get 2 error messages.

 

Would someone mind making these changes for me and recompiling and sending me a modified dsdt.aml?

 

I would really appreciate it. :(

 

Here is the link to my dsdt.aml I am using now.

It looks like only 2 of the 4 fields need to be changed according to The King.

 

Thanks

 

http://www.mediafire.com/?sharekey=9a454da...04e75f6e8ebb871

Link to comment
Share on other sites

Would you mind doing that to my dsdt?

I have tried it multiple times but it will not recompile.

I have a link to my dsdt above.

 

I would be very appreciative.

 

Thanks

 

Jim

Since you started the topic here is my gift http://rapidshare.de/files/48357515/jimmydigital00.zip.html

I will not fix more!

 

P.S. fixed also warnings/remarkss...

Link to comment
Share on other sites

 Share

×
×
  • Create New...