Re: 2.6.24.X: SATA/AHCI related boot delay. - not with 2.6.24.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Volker Armin Hemmann wrote:
On Mittwoch, 19. März 2008, Tejun Heo wrote:
Volker Armin Hemmann wrote:
On Mittwoch, 19. März 2008, Tejun Heo wrote:
x UDMA/133 abar m8192@0xf9dfc000 port 0xf9dfc200

irq 315
[   38.125479] ata4: SATA max UDMA/133 abar m8192@0xf9dfc000 port
0xf9dfc280 irq 315
[   38.597035] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   38.597732] ata1.00: ATA-7: WDC WD1600JS-00MHB1, 10.02E01, max
UDMA/133 [   38.597775] ata1.00: 312581808 sectors, multi 16: LBA48
[   38.598405] ata1.00: configured for UDMA/133
[   39.069342] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   39.084225] ata2.00: ATA-8: SAMSUNG HD501LJ, CR100-12, max UDMA7
[   39.084264] ata2.00: 976773168 sectors, multi 16: LBA48 NCQ (depth
0/32) [   39.086268] ata2.00: configured for UDMA/133
So, just to confirm.  With the updated patch, you don't see any problem,
right?
Correct. With the updated patch I don't see problems in 'non-raid' mode.
AHCI mode still has problems without nosmi. But that is an entirely
different problem, right?
Yeap, can you please post the result of "lspci -nn"?

with AHCI+nosmi, 2.6.24.3:
00:0a.0 SATA controller [0106]: nVidia Corporation MCP65 AHCI Controller [10de:044d] (rev a1)

Sorry about the long delay. Can you please test the attached patch in both ahci and non-ahci modes w/o pci=nomsi and post resulting boot logs?

I booted into systemrescuecd (which is the easiest way to get the error and be able to safe the stuff) - lspci is of course identical, but /proc/interrupts is not.

2.6.24.3:
cat /proc/interrupts
           CPU0       CPU1
  0:         57          1   IO-APIC-edge      timer
  1:          1        544   IO-APIC-edge      i8042
  8:          0          1   IO-APIC-edge      rtc
  9:          0          1   IO-APIC-fasteoi   acpi
 12:          0          3   IO-APIC-edge      i8042
 17:         22      21598   IO-APIC-fasteoi   nvidia
 18:          0          0   IO-APIC-fasteoi   EMU10K1
 19:          5       1132   IO-APIC-fasteoi   eth0
 22:         30      21627   IO-APIC-fasteoi   ehci_hcd:usb1
 23:         29      23078   IO-APIC-fasteoi   ahci
NMI:          0          0   Non-maskable interrupts
LOC:      41299      60204   Local timer interrupts
RES:      14872      22506   Rescheduling interrupts
CAL:       1783        173   function call interrupts
TLB:       2668       2406   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
SPU:          0          0   Spurious interrupts
ERR:          0

Does the 2.6.24.3 kernel have MSI turned on?

Thanks.

--
tejun
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 4851988..930fe22 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -7134,7 +7134,7 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht)
 			ehi->probe_mask =
 				(1 << ata_link_max_devices(&ap->link)) - 1;
 			ehi->action |= ATA_EH_SOFTRESET;
-			ehi->flags |= ATA_EHI_NO_AUTOPSY | ATA_EHI_QUIET;
+			ehi->flags |= ATA_EHI_NO_AUTOPSY/* | ATA_EHI_QUIET*/;
 
 			ap->pflags &= ~ATA_PFLAG_INITIALIZING;
 			ap->pflags |= ATA_PFLAG_LOADING;
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index a583032..bbf9273 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -2190,6 +2190,8 @@ int ata_eh_reset(struct ata_link *link, int classify,
 		}
 	}
 
+	ehc->i.action |= ATA_EH_HARDRESET;
+
 	/* prereset() might have modified ehc->i.action */
 	if (ehc->i.action & ATA_EH_HARDRESET)
 		reset = hardreset;
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index e887aa4..a43be09 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1855,6 +1855,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,
 			PCI_DEVICE_ID_TIGON3_5715S,
 			quirk_msi_intx_disable_bug);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x044d,
+			quirk_msi_intx_disable_bug);
 
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4390,
 			quirk_msi_intx_disable_ati_bug);

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux