Eugene Crosser wrote:
> My hardware is SMP Supermicro with 6 disks on
> Marvell MV88SX6081 8-port SATA II PCI-X Controller (rev 03)
> and the sata_mv.c is version 0.25 dated 22 Oct 2005
>
> The thing works with "old" mvsata340 driver, but the "new" kernel with
> your driver freezes when it starts to probe disks. Even Magic SysRq
> does not work. The last lines I see on screen are like this:
>
> sata_mv version 0.25
> ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 56 (level, low) -> IRQ 185
> sata_mv(0000:02:03.0) 32 slots 8 ports unknown mode IRQ via MSI
> ata1: SATA max UDMA/133 cmd 0x0 ctl 0xF8C22120 bmdma 0x0 irq 185
> ata2: .... <same things> 0xF8C24120 ...
> ...
> ata8: .... <same thing> 0xF8C38120 ...
> ATA: abnormal status 0x80 on port 0xF8C2211C
> ... <five more lines identical to the above>
> ata1: dev 0 ATA-7, max UDMA/133, 781422768 sectors: LBA48
>
> - and at this point it freezes hard.
> Any suggestions for me? Any information I can collect to help
> troubleshooting?
Hey Eugene,
Thanks for the bug report. Here's the story on the Marvell SATA driver.
We have custom hardware here with integrated 6081 controllers and a
uniprocessor board. The driver was developed and tested solely on that
platform and works very well for me. However, I haven't had the time to
try it on normal 6xxx or 5xxx HBA cards (like everyone else in the world
is using) or on an SMP system. It's been something I've been meaning to
do for some time now.
Compounded with that, I've decided to leave my current position to
pursue my career at another company (still doing Linux kernel
development but in a different area). Thus, I will be less focused on
the driver and might not have access to HW and specifications. I know
there are others on this list who do have both of those necessary
requirements for development so it's possible they can help pick up the
slack.
In the meantime, try turning off SMP and seeing if that makes a
difference. There still might be a problem with the spinlocks and if so
it should go away in uniprocessor mode.
Thanks for your interest,
BR
Brett, thanks for quick response.
>> My hardware is SMP Supermicro with 6 disks on
>> Marvell MV88SX6081 8-port SATA II PCI-X Controller (rev 03)
>> and the sata_mv.c is version 0.25 dated 22 Oct 2005
>>
>> The thing works with "old" mvsata340 driver, but the "new" kernel with
>> your driver freezes when it starts to probe disks. Even Magic SysRq
>> does not work. The last lines I see on screen are like this:
>>
>> sata_mv version 0.25
>> ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 56 (level, low) -> IRQ 185
>> sata_mv(0000:02:03.0) 32 slots 8 ports unknown mode IRQ via MSI
>> ata1: SATA max UDMA/133 cmd 0x0 ctl 0xF8C22120 bmdma 0x0 irq 185
>> ata2: .... <same things> 0xF8C24120 ...
>> ...
>> ata8: .... <same thing> 0xF8C38120 ...
>> ATA: abnormal status 0x80 on port 0xF8C2211C
>> ... <five more lines identical to the above>
>> ata1: dev 0 ATA-7, max UDMA/133, 781422768 sectors: LBA48
>>
>> - and at this point it freezes hard.
>> Any suggestions for me? Any information I can collect to help
>> troubleshooting?
[...]
> In the meantime, try turning off SMP and seeing if that makes a
> difference. There still might be a problem with the spinlocks and if so
> it should go away in uniprocessor mode.
'nosmp' makes no difference.
If somebody on the list has suggestions or questions, please CC to me as
I am not subscribed to these maillists.
Eugene
On Wed, Oct 26 2005, Eugene Crosser wrote:
> Brett, thanks for quick response.
>
> >> My hardware is SMP Supermicro with 6 disks on
> >> Marvell MV88SX6081 8-port SATA II PCI-X Controller (rev 03)
> >> and the sata_mv.c is version 0.25 dated 22 Oct 2005
> >>
> >> The thing works with "old" mvsata340 driver, but the "new" kernel with
> >> your driver freezes when it starts to probe disks. Even Magic SysRq
> >> does not work. The last lines I see on screen are like this:
> >>
> >> sata_mv version 0.25
> >> ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 56 (level, low) -> IRQ 185
> >> sata_mv(0000:02:03.0) 32 slots 8 ports unknown mode IRQ via MSI
> >> ata1: SATA max UDMA/133 cmd 0x0 ctl 0xF8C22120 bmdma 0x0 irq 185
> >> ata2: .... <same things> 0xF8C24120 ...
> >> ...
> >> ata8: .... <same thing> 0xF8C38120 ...
> >> ATA: abnormal status 0x80 on port 0xF8C2211C
> >> ... <five more lines identical to the above>
> >> ata1: dev 0 ATA-7, max UDMA/133, 781422768 sectors: LBA48
> >>
> >> - and at this point it freezes hard.
> >> Any suggestions for me? Any information I can collect to help
> >> troubleshooting?
> [...]
> > In the meantime, try turning off SMP and seeing if that makes a
> > difference. There still might be a problem with the spinlocks and if so
> > it should go away in uniprocessor mode.
>
> 'nosmp' makes no difference.
Booting with nosmp isn't enough, you need to compile the kernel with
CONFIG_SMP turned off. Otherwise the spinlocks will still be used and
could cause a hard hang.
--
Jens Axboe
Jens Axboe wrote:
>>>>My hardware is SMP Supermicro with 6 disks on
>>>>Marvell MV88SX6081 8-port SATA II PCI-X Controller (rev 03)
>>>>and the sata_mv.c is version 0.25 dated 22 Oct 2005
>>>>
>>>>The thing works with "old" mvsata340 driver, but the "new" kernel with
>>>>your driver freezes when it starts to probe disks. Even Magic SysRq
>>>>does not work. The last lines I see on screen are like this:
>>>>
>>>>sata_mv version 0.25
>>>>ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 56 (level, low) -> IRQ 185
>>>>sata_mv(0000:02:03.0) 32 slots 8 ports unknown mode IRQ via MSI
>>>>ata1: SATA max UDMA/133 cmd 0x0 ctl 0xF8C22120 bmdma 0x0 irq 185
>>>>ata2: .... <same things> 0xF8C24120 ...
>>>>...
>>>>ata8: .... <same thing> 0xF8C38120 ...
>>>>ATA: abnormal status 0x80 on port 0xF8C2211C
>>>>... <five more lines identical to the above>
>>>>ata1: dev 0 ATA-7, max UDMA/133, 781422768 sectors: LBA48
>>>>
>>>>- and at this point it freezes hard.
>>>>Any suggestions for me? Any information I can collect to help
>>>>troubleshooting?
>>
>>[...]
>>
>>>In the meantime, try turning off SMP and seeing if that makes a
>>>difference. There still might be a problem with the spinlocks and if so
>>>it should go away in uniprocessor mode.
>>
>>'nosmp' makes no difference.
>
>
> Booting with nosmp isn't enough, you need to compile the kernel with
> CONFIG_SMP turned off. Otherwise the spinlocks will still be used and
> could cause a hard hang.
Yeah, that was it! It boots with the kernel compiled for UP.
(did not yet have a chance to check how it works).
Any chance that somebody competent would fix the driver for SMP?
Eugene
On Thu, Oct 27 2005, Eugene Crosser wrote:
> Jens Axboe wrote:
>
> >>>>My hardware is SMP Supermicro with 6 disks on
> >>>>Marvell MV88SX6081 8-port SATA II PCI-X Controller (rev 03)
> >>>>and the sata_mv.c is version 0.25 dated 22 Oct 2005
> >>>>
> >>>>The thing works with "old" mvsata340 driver, but the "new" kernel with
> >>>>your driver freezes when it starts to probe disks. Even Magic SysRq
> >>>>does not work. The last lines I see on screen are like this:
> >>>>
> >>>>sata_mv version 0.25
> >>>>ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 56 (level, low) -> IRQ 185
> >>>>sata_mv(0000:02:03.0) 32 slots 8 ports unknown mode IRQ via MSI
> >>>>ata1: SATA max UDMA/133 cmd 0x0 ctl 0xF8C22120 bmdma 0x0 irq 185
> >>>>ata2: .... <same things> 0xF8C24120 ...
> >>>>...
> >>>>ata8: .... <same thing> 0xF8C38120 ...
> >>>>ATA: abnormal status 0x80 on port 0xF8C2211C
> >>>>... <five more lines identical to the above>
> >>>>ata1: dev 0 ATA-7, max UDMA/133, 781422768 sectors: LBA48
> >>>>
> >>>>- and at this point it freezes hard.
> >>>>Any suggestions for me? Any information I can collect to help
> >>>>troubleshooting?
> >>
> >>[...]
> >>
> >>>In the meantime, try turning off SMP and seeing if that makes a
> >>>difference. There still might be a problem with the spinlocks and if so
> >>>it should go away in uniprocessor mode.
> >>
> >>'nosmp' makes no difference.
> >
> >
> > Booting with nosmp isn't enough, you need to compile the kernel with
> > CONFIG_SMP turned off. Otherwise the spinlocks will still be used and
> > could cause a hard hang.
>
> Yeah, that was it! It boots with the kernel compiled for UP.
> (did not yet have a chance to check how it works).
> Any chance that somebody competent would fix the driver for SMP?
Try booting with nmi_watchdog=1 with the SMP kernel, that should trigger
a watchdog oops when it hard hangs on the spinlock. Then it should be
trivial to fix.
--
Jens Axboe
>>>>>My hardware is SMP Supermicro with 6 disks on
>>>>>Marvell MV88SX6081 8-port SATA II PCI-X Controller (rev 03)
>>>>>and the sata_mv.c is version 0.25 dated 22 Oct 2005
>>>>>
>>>>>The thing works with "old" mvsata340 driver, but the "new" kernel with
>>>>>your driver freezes when it starts to probe disks. Even Magic SysRq
>>>>>does not work. The last lines I see on screen are like this:
>>>>>
>>>>>sata_mv version 0.25
>>>>>ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 56 (level, low) -> IRQ 185
>>>>>sata_mv(0000:02:03.0) 32 slots 8 ports unknown mode IRQ via MSI
>>>>>ata1: SATA max UDMA/133 cmd 0x0 ctl 0xF8C22120 bmdma 0x0 irq 185
>>>>>ata2: .... <same things> 0xF8C24120 ...
>>>>>...
>>>>>ata8: .... <same thing> 0xF8C38120 ...
>>>>>ATA: abnormal status 0x80 on port 0xF8C2211C
>>>>>... <five more lines identical to the above>
>>>>>ata1: dev 0 ATA-7, max UDMA/133, 781422768 sectors: LBA48
>>>>>
>>>>>- and at this point it freezes hard.
>>>>>Any suggestions for me? Any information I can collect to help
>>>>>troubleshooting?
>>>
>>>[...]
>>>
>>>
>>>>In the meantime, try turning off SMP and seeing if that makes a
>>>>difference. There still might be a problem with the spinlocks and if so
>>>>it should go away in uniprocessor mode.
>>>
>>>'nosmp' makes no difference.
>>
>>
>>Booting with nosmp isn't enough, you need to compile the kernel with
>>CONFIG_SMP turned off. Otherwise the spinlocks will still be used and
>>could cause a hard hang.
>
>
> Yeah, that was it! It boots with the kernel compiled for UP.
> (did not yet have a chance to check how it works).
> Any chance that somebody competent would fix the driver for SMP?
Umm, that sounds freakingly familiar to what I just had with sata_nv...
Try "noapic" in smp mode, will that help?
And just in case, did you try 2.6.14-rc5? That was the kernel that fixed
my similar problem "out-of-the-box".
Regards,
Vladimir
mv_sata: module license 'Marvell' taints kernel.
Core Driver (ERROR) 0 : disable pci conventional features when working in PCI-X. pciCommand original value:0x0107e371. new value: 0x0107e011.
Core Driver (ERROR) 0 : PCI-X Master Write combine enable rejected
Core Driver (ERROR) 0 3: SStatusRegs = 121 ; retrying communication...Core Driver (ERROR) 0 3: in Channel Hard Reset SATA communication not established.
Core Driver (ERROR) 0 3: New SStatus is 123
Core Driver (ERROR) 0 3: Edma Error Reg 0x38
Core Driver (ERROR) 0 3: Edma Error Reg 0x20 still set!!!!!!!!
Core Driver (ERROR) 0 3: in Channel Hard Reset SATA communication not established.
Oct 27 20:33:05 snfs2 last message repeated 2 times
Core Driver (ERROR) 0 3: Edma Error Reg 0x30
Core Driver (ERROR) 0 3: Edma Error Reg 0x20 still set!!!!!!!!
Core Driver (ERROR) 0 3: Flush DMA, type=CALLBACK, commands 0 (on EDMA 0)
Linux IAL (ERROR) : retry command host=0, bus=0 SCpnt = f7d1f200
Linux IAL (ERROR) : retry command host=0, bus=0 SCpnt = f7d1f200
SAL (ERROR) mvExecuteScsiCommand: ERROR: Unsupported command A0
SAL (ERROR) 0 0 0 :Scsi command completed. pScb f7cbed00, ScsiStatus 2 completionStatus MV_SCSI_COMPLETION_BAD_SCSI_COMMAND
SAL (ERROR) CDB:a0 0 0 0 0 0 0 0 10 0 0 0
SAL (ERROR) Sense Data:70 0 5 0 0 0 0 a 0 0 0 0 20 0 0 0 0 0
Linux IAL (ERROR) : retry command host=1, bus=1 SCpnt = f7d1f200
Linux IAL (ERROR) : retry command host=1, bus=1 SCpnt = f7d1f200
SAL (ERROR) mvExecuteScsiCommand: ERROR: Unsupported command A0
SAL (ERROR) 0 1 0 :Scsi command completed. pScb f7cbea80, ScsiStatus 2 completionStatus MV_SCSI_COMPLETION_BAD_SCSI_COMMAND
SAL (ERROR) CDB:a0 0 0 0 0 0 0 0 10 0 0 0
SAL (ERROR) Sense Data:70 0 5 0 0 0 0 a 0 0 0 0 20 0 0 0 0 0
Linux IAL (ERROR) : retry command host=2, bus=2 SCpnt = f7d1f200
Linux IAL (ERROR) : retry command host=2, bus=2 SCpnt = f7d1f200
SAL (ERROR) mvExecuteScsiCommand: ERROR: Unsupported command A0
SAL (ERROR) 0 2 0 :Scsi command completed. pScb f7cbe800, ScsiStatus 2 completionStatus MV_SCSI_COMPLETION_BAD_SCSI_COMMAND
SAL (ERROR) CDB:a0 0 0 0 0 0 0 0 10 0 0 0
SAL (ERROR) Sense Data:70 0 5 0 0 0 0 a 0 0 0 0 20 0 0 0 0 0
Linux IAL (ERROR) : retry command host=3, bus=3 SCpnt = f7d1f200
Linux IAL (ERROR) : retry command host=3, bus=3 SCpnt = f7d1f200
SAL (ERROR) mvExecuteScsiCommand: ERROR: Unsupported command A0
SAL (ERROR) 0 3 0 :Scsi command completed. pScb f7cbe600, ScsiStatus 2 completionStatus MV_SCSI_COMPLETION_BAD_SCSI_COMMAND
SAL (ERROR) CDB:a0 0 0 0 0 0 0 0 10 0 0 0
SAL (ERROR) Sense Data:70 0 5 0 0 0 0 a 0 0 0 0 20 0 0 0 0 0
Linux IAL (ERROR) : retry command host=4, bus=4 SCpnt = f7d1f200
Linux IAL (ERROR) : retry command host=4, bus=4 SCpnt = f7d1f200
SAL (ERROR) mvExecuteScsiCommand: ERROR: Unsupported command A0
SAL (ERROR) 0 4 0 :Scsi command completed. pScb f7cbe380, ScsiStatus 2 completionStatus MV_SCSI_COMPLETION_BAD_SCSI_COMMAND
SAL (ERROR) CDB:a0 0 0 0 0 0 0 0 10 0 0 0
SAL (ERROR) Sense Data:70 0 5 0 0 0 0 a 0 0 0 0 20 0 0 0 0 0
Linux IAL (ERROR) : retry command host=5, bus=5 SCpnt = f7d1f200
Linux IAL (ERROR) : retry command host=5, bus=5 SCpnt = f7d1f200
SAL (ERROR) mvExecuteScsiCommand: ERROR: Unsupported command A0
SAL (ERROR) 0 5 0 :Scsi command completed. pScb f7cbe100, ScsiStatus 2 completionStatus MV_SCSI_COMPLETION_BAD_SCSI_COMMAND
SAL (ERROR) CDB:a0 0 0 0 0 0 0 0 10 0 0 0
SAL (ERROR) Sense Data:70 0 5 0 0 0 0 a 0 0 0 0 20 0 0 0 0 0