Date: Wed, 21 Apr 2010 08:00:22 +0000 (UTC) From: Marcin Cieslak <saper@saper.info> To: freebsd-current@freebsd.org Subject: Re: ZFS DEADLKRES - AHCI blocks on ICH7M Message-ID: <slrnhstc4m.1l9j.saper@saper.info> References: <slrnhnoupe.24kp.saper@saper.info> <3bbf2fe11002200946h7480d203naabd7a49fd851f5a@mail.gmail.com> <alpine.BSF.2.00.1002220007460.36922@x.fncre.vasb> <h2t3bbf2fe11004080805t9eb4f591h289b5b0eca1c1706@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Dnia 08.04.2010 Attilio Rao <attilio@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@saper.info >>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?slrnhstc4m.1l9j.saper>