Skip site navigation (1)Skip section navigation (2)
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>