Date: Tue, 30 Jun 2009 13:10:24 +0200 From: Willem Jan Withagen <wjw@withagen.nl> To: freebsd-current@freebsd.org Subject: From Thread: UFS/VFS lock order reversal on stock 8.0-200812-AMD64 Message-ID: <4A49F2A0.1080005@withagen.nl> References: E8FEAE26C87DED4EB49EFF99D1C7A51DFF6929@ald-mail02.corporate.aldridge.com
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------030305090609080602000201 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit It is about the following LOR: http://sources.zabbadoz.net/freebsd/lor/261.html lock order reversal: 1st 0xc2e03e00 bufwait (bufwait) @ sys/kern/vfs_bio.c:2443 2nd 0xc3592200 dirhash (dirhash) @ sys/ufs/ufs/ufs_dirhash.c:254 Quoted from the thread about this topic from last januari: ============ Gavin@ writes: Cool. It's always good to have more people using and testing -CURRENT, I just wanted to make sure you knew what you were getting yourself in for :) > I pulled out the 'extra debugging', made world and kernel, and rebooted. > Notice the 5th line of da7's drive ID being interleaved with 'SMP: AP CPU #1 Launched!' > > I'm fairly sure this is not a good thing, if for no other reason that 'apparent garbage' in dmesg is not useful. It's not a good thing, but it's a known issue and is purely cosmetic. ============= Only in my case it seems not so harmless. I get this one on rebooting, which then freezes the process. Under 7.2 the system (although from 2002) did reboot. Could this LOR be responsible for not rebooting? If not, how do I go about in finding what does prevent the reboot. It just halts at the stage where it gives the uptime after syncing all disks. Normaly reboot follows, but there are no messages for that. And a hardware reset is required. --WjW --------------030305090609080602000201 Content-Type: text/plain; name="ASTERSD.conf" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ASTERSD.conf" cpu I586_CPU cpu I686_CPU ident ASTERBSD # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. # Use the following to compile in values accessible to the kernel # through getenv() (or kenv(1) in userland). The format of the file # is 'variable=value', see kenv(1) # # env "GENERIC.env" makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options SCHED_ULE # ULE scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options UFS_GJOURNAL # Enable gjournal-based UFS journaling options NFSCLIENT # Network Filesystem Client options NFSLOCKD # Network Lock Manager options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_PART_GPT # GUID Partition Tables. options GEOM_LABEL # Provides labelization options COMPAT_43TTY # BSD 4.3 TTY compat (sgtty) options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev options STOP_NMI # Stop CPUS using NMI instead of IPI options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing options MAC # TrustedBSD MAC Framework options FLOWTABLE # per-cpu routing cache #options KDTRACE_HOOKS # Kernel DTrace hooks # Debugging for use in -current options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed # To make an SMP kernel, the next two lines are needed device apic # I/O APIC # CPU frequency control device cpufreq # Bus support. device acpi device pci # ATA and ATAPI devices device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives options ATA_STATIC_ID # Static device numbering # SCSI peripherals device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device kbdmux # keyboard multiplexer device vga # VGA video card driver device splash # Splash screen and screen saver support # syscons is the default console driver, resembling an SCO console device sc device agp # support several AGP chipsets # Add suspend/resume support for the i8254. device pmtimer # Serial (COM) ports device uart # Generic UART driver # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device em # Intel PRO/1000 Gigabit Ethernet Family device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support device bge # Broadcom BCM570xx Gigabit Ethernet device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 device sf # Adaptec AIC-6915 (``Starfire'') device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') # Pseudo devices. device loop # Network loopback device random # Entropy device device ether # Ethernet support device tun # Packet tunnel. device pty # BSD-style compatibility pseudo ttys device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) device firmware # firmware assist module # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse # USB Serial devices device u3g # USB-based 3G modems (Option, Huawei, Sierra) device uark # Technologies ARK3116 based serial adapters device ubsa # Belkin F5U103 and compatible serial adapters device uftdi # For FTDI usb serial adapters device uplcom # Prolific PL-2303 serial adapters device uslcom # SI Labs CP2101/CP2102 serial adapters # is no longer in the config # options IPR_VJ device "i4bdss1" device "i4b" device "i4btrc" device "i4bctl" device "i4brbch" device "i4btel" device "i4bipr" # # If you need more than 8 units please # edit "/usr/src/sys/i4b/include/i4b_global.h", # until further. # device ihfc device sound # device pcm #if device pcm does not exist --------------030305090609080602000201 Content-Type: text/plain; name="dmesg.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg.txt" Copyright (c) 1992-2009 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-CURRENT #5: Mon Jun 29 21:55:30 CEST 2009 wjw@Asterbsd.digiware.nl:/usr/obj/usr/src/sys/ASTERBSD WARNING: WITNESS option enabled, expect reduced performance. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Duron(tm) Processor (807.19-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x631 Stepping = 1 Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR> AMD Features=0xc0440800<SYSCALL,<b18>,MMX+,3DNow!+,3DNow!> real memory = 402653184 (384 MB) avail memory = 512016384 (488 MB) kbd1 at kbdmux0 pcib0: <Host to PCI bridge> pcibus 0 on motherboard pir0: <PCI Interrupt Routing Table: 9 Entries> on motherboard pci0: <PCI bus> on pcib0 agp0: <VIA 82C8363 (Apollo KT133x/KM133) host to PCI bridge> on hostb0 agp0: aperture size is 256M pcib1: <PCIBIOS PCI-PCI bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 vgapci0: <VGA-compatible display> mem 0xf8000000-0xf8ffffff,0xfa000000-0xfbffffff irq 11 at device 0.0 on pci1 isab0: <PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C686B UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd800-0xd80f at device 7.1 on pci0 ata0: <ATA channel 0> on atapci0 ata0: [ITHREAD] ata1: <ATA channel 1> on atapci0 ata1: [ITHREAD] uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 12 at device 7.2 on pci0 uhci0: [ITHREAD] usbus0: <VIA 83C572 USB controller> on uhci0 uhci1: <VIA 83C572 USB controller> port 0xd000-0xd01f irq 12 at device 7.3 on pci0 uhci1: [ITHREAD] usbus1: <VIA 83C572 USB controller> on uhci1 ihfc0: <HFC-2BDS0 128K PCI ISDN adapter> port 0xa400-0xa407 mem 0xf7800000-0xf78000ff irq 12 at device 11.0 on pci0 ihfc0: [ITHREAD] ihfc0: Attaching I4B controller 0. ihfc0: Creating /dev/ihfc0.X. rl0: <RealTek 8139 10/100BaseTX> port 0xa000-0xa0ff mem 0xf7000000-0xf70000ff at device 12.0 on pci0 miibus0: <MII bus> on rl0 rlphy0: <RealTek internal media interface> PHY 0 on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto rl0: Ethernet address: 00:02:44:58:cc:e2 rl0: [ITHREAD] pci0: <multimedia, audio> at device 14.0 (no driver attached) cpu0 on motherboard pmtimer0 on isa0 uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 pnpid PNP0501 on isa0 uart0: [FILTER] uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 pnpid PNP0501 on isa0 uart1: [FILTER] unknown: <PNP0c01> can't assign resources (memory) atrtc0: <AT realtime clock> at port 0x70-0x75 irq 8 pnpid PNP0b00 on isa0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 irq 1 pnpid PNP0303 on isa0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 unknown: <PNP0c01> can't assign resources (memory) Timecounter "TSC" frequency 807191790 Hz quality 800 Timecounters tick every 1.000 msec i4btrc: 64 ISDN trace device(s) attached i4brbch: 8 raw B channel access device(s) attached i4btel: 8 ISDN telephony interface device(s) attached i4bipr: 8 IP over raw HDLC ISDN device(s) attached i4bctl: ISDN system control port attached capi: CAPI call control device attached, v2.11 i4b: ISDN call control device attached usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 ad0: 19092MB <Maxtor 2B020H1 WAH21PB0> at ata0-master UDMA100 ugen0.1: <VIA> at usbus0 uhub0: <VIA UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 ugen1.1: <VIA> at usbus1 uhub1: <VIA UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 GEOM: ad0: geometry does not match label (255h,63s != 16h,63s). acd0: CDROM <LG CD-ROM CRD-8521B/1.02> at ata1-slave PIO4 WARNING: WITNESS option enabled, expect reduced performance. Root mount waiting for: usbus1 usbus0 uhub0: 2 ports with 2 removable, self powered uhub1: 2 ports with 2 removable, self powered Trying to mount root from ufs:/dev/ad0a WARNING: / was not properly dismounted WARNING: /tmp was not properly dismounted WARNING: /usr was not properly dismounted WARNING: /var was not properly dismounted --------------030305090609080602000201--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A49F2A0.1080005>