ZFS DEADLKRES - AHCI blocks on ICH7M
Marcin Cieslak
saper at saper.info
Wed Apr 21 08:00:34 UTC 2010
Dnia 08.04.2010 Attilio Rao <attilio at freebsd.org> napisał/a:
> This may be a false positive.
> May you please try the following patch and report if you can fix it
> does fix it or not?:
> http://www.freebsd.org/~attilio/Sandvine/deadlkres/deadlkres-blessed.diff
Thanks for your help. I have applied this patch and I am still getting
the deadlock (today it was after 1802544 ticks).
But there is more:
I am running r203753 on one of those "AHCI disabled by default"
laptops (Sony VGN-SZ5MN/B). I have reset the BIOS completely
(by removing the CMOS battery for a moment) and it seemingly
fixed the problem. I have tested this and I found out:
- in ATA emulation mode things are fine. /etc/periodic/daily
completes normally.
- in AHCI mode /etc/periodic/daily hangs on any disk operation
even dumping core is impossible from the ddb(4).
I have re-enabled AHCI again and tested with your patch:
/etc/periodic/daily and svnsync running in parallel hanged
after some longer time and deadlkres kicked in.
I presume deadlkres is properly detecting threads that hanged
waiting for the disk response. This laptop has the ICH7M controller
(in ATA emulation mode):
atapci0: <Intel ICH7 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1810-0x181f at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
atapci1: <Intel ICH7M SATA150 controller> port 0x18d0-0x18d7,0x18c4-0x18c7,0x18c8-0x18cf,0x18c0-0x18c3,0x18b0-0x18bf mem 0xf8644400-0xf86447ff irq 22 at device 31.2 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
in AHCI mode it says:
atapci0: <Intel ICH7 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1810-0x181f at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ahci0: <Intel ICH7M AHCI SATA controller> port 0x18d0-0x18d7,0x18c4-0x18c7,0x18c8-0x18cf,0x18c0-0x18c3,0x18b0-0x18bf mem 0xf8644400-0xf86447ff irq 22 at device 31.2 on pci0
ahci0: [ITHREAD]
ahci0: AHCI v1.10 with 4 1.5Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich0: [ITHREAD]
ahcich1: <AHCI channel> at channel 2 on ahci0
ahcich1: [ITHREAD]
I am using this in the kernel config:
device ata
device atadisk # ATA disk drives
device ataraid # ATA RAID drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID # Static device numbering
device ahci
--
<< Marcin Cieslak // saper at saper.info >>
More information about the freebsd-current
mailing list