From nobody@FreeBSD.org  Thu Jul 29 08:51:47 2004
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 0ACF716A4CE
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 29 Jul 2004 08:51:47 +0000 (GMT)
Received: from www.freebsd.org (www.freebsd.org [216.136.204.117])
	by mx1.FreeBSD.org (Postfix) with ESMTP id E53D143D1F
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 29 Jul 2004 08:51:46 +0000 (GMT)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.12.11/8.12.11) with ESMTP id i6T8pbwa053041
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 29 Jul 2004 08:51:37 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.12.11/8.12.11/Submit) id i6T8paut053040;
	Thu, 29 Jul 2004 08:51:36 GMT
	(envelope-from nobody)
Message-Id: <200407290851.i6T8paut053040@www.freebsd.org>
Date: Thu, 29 Jul 2004 08:51:36 GMT
From: Maxim Maximov <mcsi@mcsi.pp.ru>
To: freebsd-gnats-submit@FreeBSD.org
Subject: LOR in sk(4) when booting
X-Send-Pr-Version: www-2.3

>Number:         69752
>Category:       kern
>Synopsis:       [lor] LOR in sk(4) when booting
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    jmg
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 29 09:00:37 GMT 2004
>Closed-Date:    Fri Aug 20 06:22:47 GMT 2004
>Last-Modified:  Sun Feb 15 19:07:19 UTC 2009
>Originator:     Maxim Maximov
>Release:        5.2-CURRENT
>Organization:
>Environment:
# uname -a
FreeBSD  5.2-CURRENT FreeBSD 5.2-CURRENT #15: Thu Jul 29 12:08:34 MSD 2004     mcsi@ultra.domain:/usr/obj/usr/src/sys/ULTRA  i386
>Description:
/boot/kernel/acpi.ko text=0x3f4b8 data=0x1a84+0xe2c syms=[0x4+0x6fd0+0x4+0x9132]
GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2004 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 5.2-CURRENT #15: Thu Jul 29 12:08:34 MSD 2004
    mcsi@ultra.domain:/usr/obj/usr/src/sys/ULTRA
WARNING: WITNESS option enabled, expect reduced performance.
WARNING: Kernel preemption is disabled, expect reduced performance.
ACPI APIC Table: <A M I  OEMAPIC >
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (2992.51-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,
HTT,TM,PBE>
  Hyperthreading: 2 logical CPUs
real memory  = 536674304 (511 MB)
avail memory = 514596864 (490 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0 <Version 2.0> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <A M I OEMRSDT> on motherboard
acpi0: [GIANT-LOCKED]
acpi0: Power Button (fixed)
acpi_ec0: <Embedded Controller: GPE 0x1c> port 0x66,0x62 on acpi0
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU (2 Cx states)> on acpi0
cpu1: <ACPI CPU (2 Cx states)> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82865 host to AGP bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
uhci0: <Intel 82801EB (ICH5) USB controller USB-A> port 0xe000-0xe01f irq 16 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801EB (ICH5) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801EB (ICH5) USB controller USB-B> port 0xe400-0xe41f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801EB (ICH5) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
ums0: Logitech Optical USB Mouse, rev 2.00/3.40, addr 2, iclass 3/1
ums0: 3 buttons and Z dir.
uhci2: <Intel 82801EB (ICH5) USB controller USB-C> port 0xe800-0xe81f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <Intel 82801EB (ICH5) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <Intel 82801EB (ICH5) USB controller USB-D> port 0xec00-0xec1f irq 16 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
usb3: <Intel 82801EB (ICH5) USB controller USB-D> on uhci3
usb3: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
pci0: <serial bus, USB> at device 29.7 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci2: <ACPI PCI bus> on pcib2
skc0: <3Com 3C940 Gigabit Ethernet> port 0xa800-0xa8ff mem 0xfeafc000-0xfeafffff irq 18 at device 0.0 on pci2
skc0: 3Com Gigabit LOM (3C940)
sk0: <Marvell Semiconductor, Inc. Yukon> on skc0
malloc(M_WAITOK) of "512", forcing M_NOWAIT with the following non-sleepable locks held:
exclusive sleep mutex skc0 (network driver) r = 0 (0xc1b86ec0) locked @ /usr/src/sys/pci/if_sk.c:1335
KDB: stack backtrace:
kdb_backtrace(1,1,1,110,c112d9a0) at kdb_backtrace+0x29
witness_warn(5,0,c0829130,c07e537c) at witness_warn+0x19a
uma_zalloc_arg(c112d9a0,0,102) at uma_zalloc_arg+0x38
malloc(110,c0878c00,102,38,c1bc3000) at malloc+0xae
if_attach(c1bc3000,c1bc3000,0,c0c219d8,c07188d6) at if_attach+0x20e
ether_ifattach(c1bc3000,c1bc3224,c1bc3260,c1bc3000,c1afd46c,0) at ether_ifattach+0x1d
sk_attach(c1ba2000) at sk_attach+0x30a
device_attach(c1ba2000,c1b86680,c1ba2000,c1b86e80,c1b86780) at device_attach+0x58
device_probe_and_attach(c1ba2000) at device_probe_and_attach+0xb4
bus_generic_attach(c1b86780,0,1700,0,c1b86780) at bus_generic_attach+0x16
skc_attach(c1b86780) at skc_attach+0x3ce
device_attach(c1b86780,c1a4ec00,c1b86780,c1b86680,c1b86680) at device_attach+0x58
device_probe_and_attach(c1b86780) at device_probe_and_attach+0xb4
bus_generic_attach(c1b86680,6,c1a4ec00,1,c0a26154) at bus_generic_attach+0x16
acpi_pci_attach(c1b86680) at acpi_pci_attach+0xec
device_attach(c1b86680,c1b80780,c1b86680,c1b86280,0) at device_attach+0x58
device_probe_and_attach(c1b86680) at device_probe_and_attach+0xb4
bus_generic_attach(c1b86280,c1b86280,c1bb4f70,2,c0a25dcd) at bus_generic_attach+0x16
acpi_pcib_attach(c1b86280,c1bb4f70,2,c1b86280,c1a4ec00) at acpi_pcib_attach+0x14e
acpi_pcib_pci_attach(c1b86280) at acpi_pcib_pci_attach+0x88
device_attach(c1b86280,c1b86100,c1b86280,c1b80780,c1b80780) at device_attach+0x58
device_probe_and_attach(c1b86280) at device_probe_and_attach+0xb4
bus_generic_attach(c1b80780,6,c1a42480,1,c0a26154) at bus_generic_attach+0x16
acpi_pci_attach(c1b80780) at acpi_pci_attach+0xec
device_attach(c1b80780,c1b62800,c1b80780,c1aaac00,0) at device_attach+0x58
device_probe_and_attach(c1b80780) at device_probe_and_attach+0xb4
bus_generic_attach(c1aaac00,c1aaac00,c1b72f14,0,0) at bus_generic_attach+0x16
acpi_pcib_attach(c1aaac00,c1b72f14,0,c0c21c5c,c0654ca0) at acpi_pcib_attach+0x14e
acpi_pcib_acpi_attach(c1aaac00) at acpi_pcib_acpi_attach+0x20a
device_attach(c1aaac00,c0a3c948,c1aaac00,c1b62800,0) at device_attach+0x58
device_probe_and_attach(c1aaac00) at device_probe_and_attach+0xb4
bus_generic_attach(c1b62800,c1b62800,c1a42e40,1,c1b62780) at bus_generic_attach+0x16
acpi_probe_children(c1b62800,1acb0,c1b62800,c1b62800,0) at acpi_probe_children+0x63
acpi_attach(c1b62800) at acpi_attach+0x52b
device_attach(c1b62800,c0a3bae0,c1b62800,c1b62980,0) at device_attach+0x58
device_probe_and_attach(c1b62800) at device_probe_and_attach+0xb4
bus_generic_attach(c1b62980,c1b62980,c1b62980,c0c21d44,c06510a0) at bus_generic_attach+0x16
nexus_attach(c1b62980) at nexus_attach+0x13
device_attach(c1b62980,c08a8410,c1b62980,c08a8410,c29000) at device_attach+0x58
device_probe_and_attach(c1b62980) at device_probe_and_attach+0xb4
root_bus_configure(c1a55800,c082ebe3,0) at root_bus_configure+0x16
configure(0,c1ec00,c1e000,0,c0443195) at configure+0x1b
mi_startup() at mi_startup+0x96
begin() at begin+0x2c
sk0: Ethernet address: 00:0e:a6:b9:f9:f8

.. many-many KB of the same messages skipped

e1000phy0: <Marvell 88E1000 Gigabit PHY> on miibus0
lock order reversal
 1st 0xc1b86ec0 skc0 (network driver) @ /usr/src/sys/pci/if_sk.c:673
 2nd 0xc08d4b20 kernel environment (kernel environment) @ /usr/src/sys/kern/kern_environment.c:285
KDB: stack backtrace:
kdb_backtrace(0,ffffffff,c08e1998,c08e2320,c0871858) at kdb_backtrace+0x29
witness_checkorder(c08d4b20,1,c080fb0c,11d) at witness_checkorder+0x544
_sx_slock(c08d4b20,c080fb0c,11d,c0c21878,a) at _sx_slock+0x50
getenv(c07f5f5e,c1bc7170,c1ba2700,c1ba2700,0) at getenv+0x2f
getenv_quad(c07f5f5e,c0c218b8,c083acb0,c083acb0,c0c218e0) at getenv_quad+0x11
getenv_int(c07f5f5e,c08cb0e8,c083acb0,c1ba2700,c1ba2700) at getenv_int+0x12
e1000phy_attach(c1ba2700) at e1000phy_attach+0x18
device_attach(c1ba2700,c0651a34,c1ba2700,c1bb4380,0) at device_attach+0x58
device_probe_and_attach(c1ba2700) at device_probe_and_attach+0xb4
bus_generic_attach(c1ba2380,c1bb4380,f0000000,c0718104,c0718134) at bus_generic_attach+0x16
miibus_attach(c1ba2380) at miibus_attach+0x3d
device_attach(c1ba2380,c0716fcc,c1ba2380,0,c1ba2000) at device_attach+0x58
device_probe_and_attach(c1ba2380) at device_probe_and_attach+0xb4
bus_generic_attach(c1ba2000,c1bc3000,0,c1bc3000,c0c219d8) at bus_generic_attach+0x16
mii_phy_probe(c1ba2000,c1bc3234,c0718104,c0718134) at mii_phy_probe+0xd4
sk_attach(c1ba2000) at sk_attach+0x34c
device_attach(c1ba2000,c1b86680,c1ba2000,c1b86e80,c1b86780) at device_attach+0x58
device_probe_and_attach(c1ba2000) at device_probe_and_attach+0xb4
bus_generic_attach(c1b86780,0,1700,0,c1b86780) at bus_generic_attach+0x16
skc_attach(c1b86780) at skc_attach+0x3ce
device_attach(c1b86780,c1a4ec00,c1b86780,c1b86680,c1b86680) at device_attach+0x58
device_probe_and_attach(c1b86780) at device_probe_and_attach+0xb4
bus_generic_attach(c1b86680,6,c1a4ec00,1,c0a26154) at bus_generic_attach+0x16
acpi_pci_attach(c1b86680) at acpi_pci_attach+0xec
device_attach(c1b86680,c1b80780,c1b86680,c1b86280,0) at device_attach+0x58
device_probe_and_attach(c1b86680) at device_probe_and_attach+0xb4
bus_generic_attach(c1b86280,c1b86280,c1bb4f70,2,c0a25dcd) at bus_generic_attach+0x16
acpi_pcib_attach(c1b86280,c1bb4f70,2,c1b86280,c1a4ec00) at acpi_pcib_attach+0x14e
acpi_pcib_pci_attach(c1b86280) at acpi_pcib_pci_attach+0x88
device_attach(c1b86280,c1b86100,c1b86280,c1b80780,c1b80780) at device_attach+0x58
device_probe_and_attach(c1b86280) at device_probe_and_attach+0xb4
bus_generic_attach(c1b80780,6,c1a42480,1,c0a26154) at bus_generic_attach+0x16
acpi_pci_attach(c1b80780) at acpi_pci_attach+0xec
device_attach(c1b80780,c1b62800,c1b80780,c1aaac00,0) at device_attach+0x58
device_probe_and_attach(c1b80780) at device_probe_and_attach+0xb4
bus_generic_attach(c1aaac00,c1aaac00,c1b72f14,0,0) at bus_generic_attach+0x16
acpi_pcib_attach(c1aaac00,c1b72f14,0,c0c21c5c,c0654ca0) at acpi_pcib_attach+0x14e
acpi_pcib_acpi_attach(c1aaac00) at acpi_pcib_acpi_attach+0x20a
device_attach(c1aaac00,c0a3c948,c1aaac00,c1b62800,0) at device_attach+0x58
device_probe_and_attach(c1aaac00) at device_probe_and_attach+0xb4
bus_generic_attach(c1b62800,c1b62800,c1a42e40,1,c1b62780) at bus_generic_attach+0x16
acpi_probe_children(c1b62800,1acb0,c1b62800,c1b62800,0) at acpi_probe_children+0x63
acpi_attach(c1b62800) at acpi_attach+0x52b
device_attach(c1b62800,c0a3bae0,c1b62800,c1b62980,0) at device_attach+0x58
device_probe_and_attach(c1b62800) at device_probe_and_attach+0xb4
bus_generic_attach(c1b62980,c1b62980,c1b62980,c0c21d44,c06510a0) at bus_generic_attach+0x16
nexus_attach(c1b62980) at nexus_attach+0x13
device_attach(c1b62980,c08a8410,c1b62980,c08a8410,c29000) at device_attach+0x58
device_probe_and_attach(c1b62980) at device_probe_and_attach+0xb4
root_bus_configure(c1a55800,c082ebe3,0) at root_bus_configure+0x16
configure(0,c1ec00,c1e000,0,c0443195) at configure+0x1b
mi_startup() at mi_startup+0x96
begin() at begin+0x2c
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
skc0: [GIANT-LOCKED]
cbb0: <RF5C476 PCI-CardBus Bridge> irq 16 at device 1.0 on pci2
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
cbb1: <RF5C476 PCI-CardBus Bridge> irq 17 at device 1.1 on pci2
cardbus1: <CardBus bus> on cbb1
pccard1: <16-bit PCCard bus> on cbb1
fwohci0: <Ricoh R5C552> mem 0xfeafb000-0xfeafb7ff irq 18 at device 1.2 on pci2
fwohci0: [GIANT-LOCKED]
fwohci0: OHCI version 1.0 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:e0:18:00:03:18:f3:bc
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:e0:18:18:f3:bc
fwe0: Ethernet address: 02:e0:18:18:f3:bc
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwohci0: Initiate bus reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
pci2: <base peripheral> at device 1.3 (no driver attached)
pci2: <base peripheral> at device 1.4 (no driver attached)
pci2: <network> at device 2.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH5 UDMA100 controller> port 0xfc00-0xfc0f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pcm0: <Intel ICH5 (82801EB)> port 0xd000-0xd03f,0xd400-0xd4ff mem 0xfebff400-0xfebff4ff,0xfebff800-0xfebff9ff irq 17 at device 31.5
on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Avance Logic ALC650 AC97 Codec>
pci0: <simple comms> at device 31.6 (no driver attached)
acpi_button0: <Sleep Button> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button1: <Power Button> on acpi0
acpi_acad0: <AC Adapter> on acpi0
acpi_cmbat0: <Control Method Battery> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A, console
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
fdc0: <floppy drive controller (FDE)> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0 port 0x778-0x77f,0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/16 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
orm0: <ISA Option ROM> at iomem 0xc0000-0xcffff on isa0
pmtimer0 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 10.000 msec
acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%
ATAPI_RESET time = 100us
acd0: DVDR <TOSHIBA DVD-ROM SD-R6112> at ata0-slave PIO4
ad2: 57231MB <IC25N060ATMR04-0> [116280/16/63] at ata1-master UDMA100
SMP: AP CPU #1 Launched!
Mounting root from ufs:/dev/ad2s3a


Kernel config follows:

machine         i386
cpu             I486_CPU
cpu             I586_CPU
cpu             I686_CPU
ident           GENERIC

# To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         # Default places to look for devices.

makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols

options         SCHED_ULE               # ULE scheduler
options         INET                    # InterNETworking
#options        INET6                   # IPv6 communications protocols
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         MD_ROOT                 # MD is a potential root device
options         NFSCLIENT               # Network Filesystem Client
options         NFSSERVER               # Network Filesystem Server
options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_GPT                # GUID Partition Tables.
options         COMPAT_43               # Compatible with BSD 4.3 [KEEP THIS!]
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         SCSI_DELAY=15000        # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) 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         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~215k to driver.
options         PFIL_HOOKS              # pfil(9) framework

# 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 are needed
options         SMP             # Symmetric MultiProcessor Kernel
device          apic            # I/O APIC

# Bus support.  Do not remove isa, even if you have no isa slots
device          isa
device          eisa
device          pci

# Floppy drives
device          fdc

# ATA and ATAPI devices
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

# SCSI Controllers
device          ahb             # EISA AHA1742 family
device          ahc             # AHA2940 and onboard AIC7xxx devices
device          ahd             # AHA39320/29320 and onboard AIC79xx devices
device          amd             # AMD 53C974 (Tekram DC-390(T))
device          isp             # Qlogic family
device          mpt             # LSI-Logic MPT-Fusion
#device         ncr             # NCR/Symbios Logic
device          sym             # NCR/Symbios Logic (newer chipsets + those of `ncr')
device          trm             # Tekram DC395U/UW/F DC315U adapters

device          adv             # Advansys SCSI adapters
device          adw             # Advansys wide SCSI adapters
device          aha             # Adaptec 154x SCSI adapters
device          aic             # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device          bt              # Buslogic/Mylex MultiMaster SCSI adapters

device          ncv             # NCR 53C500
device          nsp             # Workbit Ninja SCSI-3
device          stg             # TMC 18C30/18C50

# SCSI peripherals
device          scbus           # SCSI bus (required for SCSI)
device          ch              # SCSI media changers
device          da              # Direct Access (disks)
device          sa              # Sequential Access (tape etc)
device          cd              # CD
device          pass            # Passthrough device (direct SCSI access)
device          ses             # SCSI Environmental Services (and SAF-TE)

# RAID controllers interfaced to the SCSI subsystem
device          amr             # AMI MegaRAID
device          asr             # DPT SmartRAID V, VI and Adaptec SCSI RAID
device          ciss            # Compaq Smart RAID 5*
device          dpt             # DPT Smartcache III, IV - See NOTES for options
device          iir             # Intel Integrated RAID
device          ips             # IBM (Adaptec) ServeRAID
device          mly             # Mylex AcceleRAID/eXtremeRAID
device          twa             # 3ware 9000 series PATA/SATA RAID

# RAID controllers
device          aac             # Adaptec FSA RAID
device          aacp            # SCSI passthrough for aac (requires CAM)
device          ida             # Compaq Smart RAID
device          mlx             # Mylex DAC960 family
device          pst             # Promise Supertrak SX6000
device          twe             # 3ware ATA RAID

# 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          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

# Enable this for the pcvt (VT220 compatible) console driver
#device         vt
#options        XSERVER         # support for X server on a vt console
#options        FAT_CURSOR      # start with block cursor

device          agp             # support several AGP chipsets

# Floating point support - do not disable.
device          npx

# Power management support (see NOTES for more options)
device          apm
# Add suspend/resume support for the i8254.
device          pmtimer

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device          cbb             # cardbus (yenta) bridge
#device         pcic            # ExCA ISA and PCI bridges
device          pccard          # PC Card (16-bit) bus
device          cardbus         # CardBus (32-bit) bus

# Serial (COM) ports
device          sio             # 8250, 16[45]50 based serial ports

# Parallel port
device          ppc
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
device          plip            # TCP/IP over parallel
device          ppi             # Parallel port interface device
#device         vpo             # Requires scbus and da

# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to the sio and/or ppc drivers):
#device         puc

# PCI Ethernet NICs.
device          de              # DEC/Intel DC21x4x (``Tulip'')
device          em              # Intel PRO/1000 adapter Gigabit Ethernet Card
device          ixgb            # Intel PRO/10GbE Ethernet Card
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          bfe             # Broadcom BCM440x 10/100 Ethernet
device          bge             # Broadcom BCM570xx Gigabit Ethernet
device          dc              # DEC/Intel 21143 and various workalikes
device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)
device          pcn             # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device          re              # RealTek 8139C+/8169/8169S/8110S
device          rl              # RealTek 8129/8139
device          sf              # Adaptec AIC-6915 (``Starfire'')
device          sis             # Silicon Integrated Systems SiS 900/SiS 7016
device          sk              # SysKonnect SK-984x & SK-982x gigabit Ethernet
device          ste             # Sundance ST201 (D-Link DFE-550TX)
device          ti              # Alteon Networks Tigon I/II gigabit Ethernet
device          tl              # Texas Instruments ThunderLAN
device          tx              # SMC EtherPower II (83c170 ``EPIC'')
device          vr              # VIA Rhine, Rhine II
device          wb              # Winbond W89C840F
device          xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs.  pccard NICs included.
device          cs              # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device          ed              # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device          ex              # Intel EtherExpress Pro/10 and Pro/10+
device          ep              # Etherlink III based cards
device          fe              # Fujitsu MB8696x based cards
device          ie              # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device          lnc             # NE2100, NE32-VL Lance Ethernet cards
device          sn              # SMC's 9000 series of Ethernet chips
device          xe              # Xircom pccard Ethernet

# ISA devices that use the old ISA shims
#device         le

# Wireless NIC cards
device          wlan            # 802.11 support
device          an              # Aironet 4500/4800 802.11 wireless NICs.
device          awi             # BayStack 660 and others
device          wi              # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device         wl              # Older non 802.11 Wavelan wireless NIC.

# Pseudo devices - the number indicates how many units to allocate.
device          random          # Entropy device
device          loop            # Network loopback
device          ether           # Ethernet support
device          sl              # Kernel SLIP
device          ppp             # Kernel PPP
device          tun             # Packet tunnel.
device          pty             # Pseudo-ttys (telnet etc)
device          md              # Memory "disks"
device          gif             # IPv6 and IPv4 tunneling
device          faith           # IPv6-to-IPv4 relaying (translation)

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device          bpf             # Berkeley packet filter

# USB support
device          uhci            # UHCI PCI->USB interface
device          ohci            # OHCI PCI->USB interface
device          usb             # USB Bus (required)
#device         udbp            # USB Double Bulk Pipe devices
device          ugen            # Generic
device          uhid            # "Human Interface Devices"
device          ukbd            # Keyboard
device          ulpt            # Printer
device          umass           # Disks/Mass storage - Requires scbus and da
device          ums             # Mouse
device          urio            # Diamond Rio 500 MP3 player
device          uscanner        # Scanners
# USB Ethernet, requires mii
device          aue             # ADMtek USB Ethernet
device          axe             # ASIX Electronics USB Ethernet
device          cue             # CATC USB Ethernet
device          kue             # Kawasaki LSI USB Ethernet
device          rue             # RealTek RTL8150 USB Ethernet

# FireWire support
device          firewire        # FireWire bus code
device          sbp             # SCSI over FireWire (Requires scbus and da)
device          fwe             # Ethernet over FireWire (non-standard!)

######
device          pf
device          pflog
options         ALTQ
options         ALTQ_CBQ        # Class Bases Queueing
options         ALTQ_RED        # Random Early Drop
options         ALTQ_RIO        # RED In/Out
options         ALTQ_HFSC       # Hierarchical Packet Scheduler
options         ALTQ_CDNR       # Traffic conditioner
options         ALTQ_PRIQ       # Priority Queueing
options         ALTQ_NOPCC      # Required for SMP build
options         ALTQ_DEBUG
device          radeondrm
device          acpi_asus
device          sound
device          snd_ich
options         ALT_BREAK_TO_DEBUGGER
options         MSGBUF_SIZE=1048576
options         CONSPEED=115200
>How-To-Repeat:
      Boot CURRENT on ASUS L5F00Ga
>Fix:
      
>Release-Note:
>Audit-Trail:

From: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
To: Maxim Maximov <mcsi@mcsi.pp.ru>
Cc: freebsd-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject: Re: kern/69752: LOR in sk(4) when booting
Date: Thu, 29 Jul 2004 09:11:38 +0000 (UTC)

 On Thu, 29 Jul 2004, Maxim Maximov wrote:
 
 > e1000phy0: <Marvell 88E1000 Gigabit PHY> on miibus0
 > lock order reversal
 >  1st 0xc1b86ec0 skc0 (network driver) @ /usr/src/sys/pci/if_sk.c:673
 >  2nd 0xc08d4b20 kernel environment (kernel environment) @ /usr/src/sys/kern/kern_environment.c:285
 
 known: http://sources.zabbadoz.net/freebsd/lor.html#011
 
 you may want to start with Doug White's if_sk patch from
 http://lists.freebsd.org/pipermail/freebsd-current/2004-June/028994.html
 and see if this helps you.
 
 -- 
 Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT

From: Maxim Maximov <mcsi@mcsi.pp.ru>
To: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
Cc: freebsd-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org,
	dwhite@gumbysoft.com
Subject: Re: kern/69752: LOR in sk(4) when booting
Date: Thu, 29 Jul 2004 14:45:02 +0400

 Bjoern A. Zeeb wrote:
 
 > On Thu, 29 Jul 2004, Maxim Maximov wrote:
 > 
 > 
 >>e1000phy0: <Marvell 88E1000 Gigabit PHY> on miibus0
 >>lock order reversal
 >> 1st 0xc1b86ec0 skc0 (network driver) @ /usr/src/sys/pci/if_sk.c:673
 >> 2nd 0xc08d4b20 kernel environment (kernel environment) @ /usr/src/sys/kern/kern_environment.c:285
 > 
 > 
 > known: http://sources.zabbadoz.net/freebsd/lor.html#011
 > 
 > you may want to start with Doug White's if_sk patch from
 > http://lists.freebsd.org/pipermail/freebsd-current/2004-June/028994.html
 > and see if this helps you.
 > 
 
 Even with this patch the LOR and other witness messages are still 
 there.. Nothing changes, as far as I can tell.
 
 -- 
 Maxim Maximov

From: Doug White <dwhite@gumbysoft.com>
To: Maxim Maximov <mcsi@mcsi.pp.ru>
Cc: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>,
	freebsd-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject: Re: kern/69752: LOR in sk(4) when booting
Date: Thu, 29 Jul 2004 10:40:10 -0700 (PDT)

 On Thu, 29 Jul 2004, Maxim Maximov wrote:
 
 > > known: http://sources.zabbadoz.net/freebsd/lor.html#011
 > >
 > > you may want to start with Doug White's if_sk patch from
 > > http://lists.freebsd.org/pipermail/freebsd-current/2004-June/028994.html
 > > and see if this helps you.
 > >
 >
 > Even with this patch the LOR and other witness messages are still
 > there.. Nothing changes, as far as I can tell.
 
 Which LORs are you getting? The patch should get rid of a number of them.
 I think I have some additional patches at home to clean up some of the
 other bits.
 
 -- 
 Doug White                    |  FreeBSD: The Power to Serve
 dwhite@gumbysoft.com          |  www.FreeBSD.org

From: Maxim Maximov <mcsi@mcsi.pp.ru>
To: Doug White <dwhite@gumbysoft.com>
Cc: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>,
	freebsd-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject: Re: kern/69752: LOR in sk(4) when booting
Date: Thu, 29 Jul 2004 21:42:14 +0400

 Doug White wrote:
 
 > On Thu, 29 Jul 2004, Maxim Maximov wrote:
 > 
 > 
 >>>known: http://sources.zabbadoz.net/freebsd/lor.html#011
 >>>
 >>>you may want to start with Doug White's if_sk patch from
 >>>http://lists.freebsd.org/pipermail/freebsd-current/2004-June/028994.html
 >>>and see if this helps you.
 >>>
 >>
 >>Even with this patch the LOR and other witness messages are still
 >>there.. Nothing changes, as far as I can tell.
 > 
 > 
 > Which LORs are you getting? The patch should get rid of a number of them.
 > I think I have some additional patches at home to clean up some of the
 > other bits.
 > 
 
 This is the one and only I saw. And it is still there even after 
 applying your patch.
 
 lock order reversal
   1st 0xc1b8f8c0 skc0 (network driver) @ /usr/src/sys/pci/if_sk.c:673
   2nd 0xc08d4d00 kernel environment (kernel environment) @ 
 /usr/src/sys/kern/kern_environment.c:285
 KDB: stack backtrace:
 kdb_backtrace(0,ffffffff,c08e1b78,c08e2500,c0871a38) at kdb_backtrace+0x29
 witness_checkorder(c08d4d00,1,c080fc8c,11d) at witness_checkorder+0x544
 _sx_slock(c08d4d00,c080fc8c,11d,c0c21878,a) at _sx_slock+0x50
 getenv(c07f60de,c1bd1470,c1b8f900,c1b8f900,0) at getenv+0x2f
 getenv_quad(c07f60de,c0c218b8,c083ae90,c083ae90,c0c218e0) at 
 getenv_quad+0x11
 getenv_int(c07f60de,c08cb2c8,c083ae90,c1b8f900,c1b8f900) at getenv_int+0x12
 e1000phy_attach(c1b8f900) at e1000phy_attach+0x18
 device_attach(c1b8f900,c0651a34,c1b8f900,c1bbe8c0,0) at device_attach+0x58
 device_probe_and_attach(c1b8f900) at device_probe_and_attach+0xb4
 bus_generic_attach(c1b8f700,c1bbe8c0,f0000000,c0718104,c0718134) at 
 bus_generic_attach+0x16
 miibus_attach(c1b8f700) at miibus_attach+0x3d
 device_attach(c1b8f700,c0716fcc,c1b8f700,0,c1b8f780) at device_attach+0x58
 device_probe_and_attach(c1b8f700) at device_probe_and_attach+0xb4
 bus_generic_attach(c1b8f780,c1b8f8c0,c1bce000,c1bce000,c0c219d8) at 
 bus_generic_attach+0x16
 mii_phy_probe(c1b8f780,c1bce234,c0718104,c0718134) at mii_phy_probe+0xd4
 sk_attach(c1b8f780) at sk_attach+0x379
 device_attach(c1b8f780,c1b8fb00,c1b8f780,c1b8f880,c1b8fc00) at 
 device_attach+0x58
 device_probe_and_attach(c1b8f780) at device_probe_and_attach+0xb4
 bus_generic_attach(c1b8fc00,0,1700,0,c1b8fc00) at bus_generic_attach+0x16
 skc_attach(c1b8fc00) at skc_attach+0x3ce
 device_attach(c1b8fc00,c1a93060,c1b8fc00,c1b8fb00,c1b8fb00) at 
 device_attach+0x58
 device_probe_and_attach(c1b8fc00) at device_probe_and_attach+0xb4
 bus_generic_attach(c1b8fb00,6,c1a93060,1,c0a26154) at 
 bus_generic_attach+0x16
 acpi_pci_attach(c1b8fb00) at acpi_pci_attach+0xec
 device_attach(c1b8fb00,c1b8f480,c1b8fb00,c1b8a980,0) at device_attach+0x58
 device_probe_and_attach(c1b8fb00) at device_probe_and_attach+0xb4
 bus_generic_attach(c1b8a980,c1b8a980,c1bbf5f0,2,c0a25dcd) at 
 bus_generic_attach+0x16
 acpi_pcib_attach(c1b8a980,c1bbf5f0,2,c1b8a980,c1a93060) at 
 acpi_pcib_attach+0x14e
 acpi_pcib_pci_attach(c1b8a980) at acpi_pcib_pci_attach+0x88
 device_attach(c1b8a980,c1b8a900,c1b8a980,c1b8f480,c1b8f480) at 
 device_attach+0x58
 device_probe_and_attach(c1b8a980) at device_probe_and_attach+0xb4
 bus_generic_attach(c1b8f480,6,c1a425c0,1,c0a26154) at 
 bus_generic_attach+0x16
 acpi_pci_attach(c1b8f480) at acpi_pci_attach+0xec
 device_attach(c1b8f480,c1ad9600,c1b8f480,c1a6da00,0) at device_attach+0x58
 device_probe_and_attach(c1b8f480) at device_probe_and_attach+0xb4
 bus_generic_attach(c1a6da00,c1a6da00,c1b801d4,0,0) at 
 bus_generic_attach+0x16
 acpi_pcib_attach(c1a6da00,c1b801d4,0,c0c21c5c,c0654ca0) at 
 acpi_pcib_attach+0x14e
 acpi_pcib_acpi_attach(c1a6da00) at acpi_pcib_acpi_attach+0x20a
 device_attach(c1a6da00,c0a3c948,c1a6da00,c1ad9600,0) at device_attach+0x58
 device_probe_and_attach(c1a6da00) at device_probe_and_attach+0xb4
 bus_generic_attach(c1ad9600,c1ad9600,c1a50160,1,c1ad9580) at 
 bus_generic_attach+0x16
 acpi_probe_children(c1ad9600,1ae90,c1ad9600,c1ad9600,0) at 
 acpi_probe_children+0x63
 acpi_attach(c1ad9600) at acpi_attach+0x52b
 device_attach(c1ad9600,c0a3bae0,c1ad9600,c1ad9780,0) at device_attach+0x58
 device_probe_and_attach(c1ad9600) at device_probe_and_attach+0xb4
 bus_generic_attach(c1ad9780,c1ad9780,c1ad9780,c0c21d44,c06510a0) at 
 bus_generic_attach+0x16
 nexus_attach(c1ad9780) at nexus_attach+0x13
 device_attach(c1ad9780,c08a85f0,c1ad9780,c08a85f0,c29000) at 
 device_attach+0x58
 device_probe_and_attach(c1ad9780) at device_probe_and_attach+0xb4
 root_bus_configure(c1ad9c80,c082edbc,0) at root_bus_configure+0x16
 configure(0,c1ec00,c1e000,0,c0443195) at configure+0x1b
 mi_startup() at mi_startup+0x96
 begin() at begin+0x2c
 
 -- 
 Maxim Maximov

From: Doug White <dwhite@gumbysoft.com>
To: Maxim Maximov <mcsi@mcsi.pp.ru>
Cc: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>,
	freebsd-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject: Re: kern/69752: LOR in sk(4) when booting
Date: Thu, 29 Jul 2004 11:53:33 -0700 (PDT)

 On Thu, 29 Jul 2004, Maxim Maximov wrote:
 
 > > Which LORs are you getting? The patch should get rid of a number of them.
 > > I think I have some additional patches at home to clean up some of the
 > > other bits.
 > >
 >
 > This is the one and only I saw. And it is still there even after
 > applying your patch.
 
 Wierd. I thought I dropped the lock across child attach.  If I get back to
 revising the patch I'll try to confirm this.
 
 99% of the LORs on skc0 are harmless; skc used to grab the lock in the
 beginning of every function and hold it for the duration, even though it
 wasn't necessarily protecting anything.
 
 >
 > lock order reversal
 >   1st 0xc1b8f8c0 skc0 (network driver) @ /usr/src/sys/pci/if_sk.c:673
 >   2nd 0xc08d4d00 kernel environment (kernel environment) @
 > /usr/src/sys/kern/kern_environment.c:285
 > KDB: stack backtrace:
 > kdb_backtrace(0,ffffffff,c08e1b78,c08e2500,c0871a38) at kdb_backtrace+0x29
 > witness_checkorder(c08d4d00,1,c080fc8c,11d) at witness_checkorder+0x544
 > _sx_slock(c08d4d00,c080fc8c,11d,c0c21878,a) at _sx_slock+0x50
 > getenv(c07f60de,c1bd1470,c1b8f900,c1b8f900,0) at getenv+0x2f
 > getenv_quad(c07f60de,c0c218b8,c083ae90,c083ae90,c0c218e0) at
 > getenv_quad+0x11
 > getenv_int(c07f60de,c08cb2c8,c083ae90,c1b8f900,c1b8f900) at getenv_int+0x12
 > e1000phy_attach(c1b8f900) at e1000phy_attach+0x18
 > device_attach(c1b8f900,c0651a34,c1b8f900,c1bbe8c0,0) at device_attach+0x58
 > device_probe_and_attach(c1b8f900) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8f700,c1bbe8c0,f0000000,c0718104,c0718134) at
 > bus_generic_attach+0x16
 > miibus_attach(c1b8f700) at miibus_attach+0x3d
 > device_attach(c1b8f700,c0716fcc,c1b8f700,0,c1b8f780) at device_attach+0x58
 > device_probe_and_attach(c1b8f700) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8f780,c1b8f8c0,c1bce000,c1bce000,c0c219d8) at
 > bus_generic_attach+0x16
 > mii_phy_probe(c1b8f780,c1bce234,c0718104,c0718134) at mii_phy_probe+0xd4
 > sk_attach(c1b8f780) at sk_attach+0x379
 > device_attach(c1b8f780,c1b8fb00,c1b8f780,c1b8f880,c1b8fc00) at
 > device_attach+0x58
 > device_probe_and_attach(c1b8f780) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8fc00,0,1700,0,c1b8fc00) at bus_generic_attach+0x16
 > skc_attach(c1b8fc00) at skc_attach+0x3ce
 > device_attach(c1b8fc00,c1a93060,c1b8fc00,c1b8fb00,c1b8fb00) at
 > device_attach+0x58
 > device_probe_and_attach(c1b8fc00) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8fb00,6,c1a93060,1,c0a26154) at
 > bus_generic_attach+0x16
 > acpi_pci_attach(c1b8fb00) at acpi_pci_attach+0xec
 > device_attach(c1b8fb00,c1b8f480,c1b8fb00,c1b8a980,0) at device_attach+0x58
 > device_probe_and_attach(c1b8fb00) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8a980,c1b8a980,c1bbf5f0,2,c0a25dcd) at
 > bus_generic_attach+0x16
 > acpi_pcib_attach(c1b8a980,c1bbf5f0,2,c1b8a980,c1a93060) at
 > acpi_pcib_attach+0x14e
 > acpi_pcib_pci_attach(c1b8a980) at acpi_pcib_pci_attach+0x88
 > device_attach(c1b8a980,c1b8a900,c1b8a980,c1b8f480,c1b8f480) at
 > device_attach+0x58
 > device_probe_and_attach(c1b8a980) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8f480,6,c1a425c0,1,c0a26154) at
 > bus_generic_attach+0x16
 > acpi_pci_attach(c1b8f480) at acpi_pci_attach+0xec
 > device_attach(c1b8f480,c1ad9600,c1b8f480,c1a6da00,0) at device_attach+0x58
 > device_probe_and_attach(c1b8f480) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1a6da00,c1a6da00,c1b801d4,0,0) at
 > bus_generic_attach+0x16
 > acpi_pcib_attach(c1a6da00,c1b801d4,0,c0c21c5c,c0654ca0) at
 > acpi_pcib_attach+0x14e
 > acpi_pcib_acpi_attach(c1a6da00) at acpi_pcib_acpi_attach+0x20a
 > device_attach(c1a6da00,c0a3c948,c1a6da00,c1ad9600,0) at device_attach+0x58
 > device_probe_and_attach(c1a6da00) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1ad9600,c1ad9600,c1a50160,1,c1ad9580) at
 > bus_generic_attach+0x16
 > acpi_probe_children(c1ad9600,1ae90,c1ad9600,c1ad9600,0) at
 > acpi_probe_children+0x63
 > acpi_attach(c1ad9600) at acpi_attach+0x52b
 > device_attach(c1ad9600,c0a3bae0,c1ad9600,c1ad9780,0) at device_attach+0x58
 > device_probe_and_attach(c1ad9600) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1ad9780,c1ad9780,c1ad9780,c0c21d44,c06510a0) at
 > bus_generic_attach+0x16
 > nexus_attach(c1ad9780) at nexus_attach+0x13
 > device_attach(c1ad9780,c08a85f0,c1ad9780,c08a85f0,c29000) at
 > device_attach+0x58
 > device_probe_and_attach(c1ad9780) at device_probe_and_attach+0xb4
 > root_bus_configure(c1ad9c80,c082edbc,0) at root_bus_configure+0x16
 > configure(0,c1ec00,c1e000,0,c0443195) at configure+0x1b
 > mi_startup() at mi_startup+0x96
 > begin() at begin+0x2c
 >
 >
 
 -- 
 Doug White                    |  FreeBSD: The Power to Serve
 dwhite@gumbysoft.com          |  www.FreeBSD.org

From: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
To: Doug White <dwhite@gumbysoft.com>
Cc: Maxim Maximov <mcsi@mcsi.pp.ru>,
	freebsd-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject: Re: kern/69752: LOR in sk(4) when booting
Date: Thu, 29 Jul 2004 19:12:20 +0000 (UTC)

 On Thu, 29 Jul 2004, Doug White wrote:
 
 > > This is the one and only I saw. And it is still there even after
 > > applying your patch.
 >
 > Wierd. I thought I dropped the lock across child attach.  If I get back to
 > revising the patch I'll try to confirm this.
 
 well the last patch posted you said it might not solve the problem but
 you could not reproduce it:
 http://lists.freebsd.org/pipermail/freebsd-current/2004-June/thread.html#29049
 
 I have applied that patch locally on my amd64 (where I had seen the
 LOR 011 before). I am using if_sk as module now and do not see the LOR
 when loading anymore:
 
 Jul 18 14:54:44 noc kernel: skc0: <Marvell Gigabit Ethernet> port 0xa400-0xa4ff mem 0xf3a00000-0xf3a03fff irq 17 at device 10.0 on pci0
 Jul 18 14:54:44 noc kernel: skc0: Yukon Gigabit Ethernet 10/100/1000Base-T Adapter
 Jul 18 14:54:44 noc kernel: skc0: [GIANT-LOCKED]
 Jul 18 14:54:44 noc kernel: sk0: <Marvell Semiconductor, Inc. Yukon> on skc0
 Jul 18 14:54:44 noc kernel: sk0: Ethernet address: zz:zz:zz:zz:zz:zz
 Jul 18 14:54:44 noc kernel: miibus0: <MII bus> on sk0
 Jul 18 14:54:44 noc kernel: e1000phy0: <Marvell 88E1000 Gigabit PHY> on miibus0
 Jul 18 14:54:44 noc kernel: e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
 
 
 -- 
 Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT
Responsible-Changed-From-To: freebsd-bugs->jmg 
Responsible-Changed-By: jmg 
Responsible-Changed-When: Tue Aug 17 17:37:16 GMT 2004 
Responsible-Changed-Why:  
I happen to have a similar card and have a working patch.. I'm going to 
see if I can't make the mutex non-recursive... 

http://www.freebsd.org/cgi/query-pr.cgi?pr=69752 
State-Changed-From-To: open->closed 
State-Changed-By: jmg 
State-Changed-When: Fri Aug 20 06:22:28 GMT 2004 
State-Changed-Why:  
fix committed, thanks for testing.. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=69752 

From: Doug White <dwhite@gumbysoft.com>
To: Maxim Maximov <mcsi@mcsi.pp.ru>
Cc: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
Subject: Re: kern/69752: LOR in sk(4) when booting
Date: Thu, 29 Jul 2004 11:53:33 -0700 (PDT)

 On Thu, 29 Jul 2004, Maxim Maximov wrote:
 
 > > Which LORs are you getting? The patch should get rid of a number of them.
 > > I think I have some additional patches at home to clean up some of the
 > > other bits.
 > >
 >
 > This is the one and only I saw. And it is still there even after
 > applying your patch.
 
 Wierd. I thought I dropped the lock across child attach.  If I get back to
 revising the patch I'll try to confirm this.
 
 99% of the LORs on skc0 are harmless; skc used to grab the lock in the
 beginning of every function and hold it for the duration, even though it
 wasn't necessarily protecting anything.
 
 >
 > lock order reversal
 >   1st 0xc1b8f8c0 skc0 (network driver) @ /usr/src/sys/pci/if_sk.c:673
 >   2nd 0xc08d4d00 kernel environment (kernel environment) @
 > /usr/src/sys/kern/kern_environment.c:285
 > KDB: stack backtrace:
 > kdb_backtrace(0,ffffffff,c08e1b78,c08e2500,c0871a38) at kdb_backtrace+0x29
 > witness_checkorder(c08d4d00,1,c080fc8c,11d) at witness_checkorder+0x544
 > _sx_slock(c08d4d00,c080fc8c,11d,c0c21878,a) at _sx_slock+0x50
 > getenv(c07f60de,c1bd1470,c1b8f900,c1b8f900,0) at getenv+0x2f
 > getenv_quad(c07f60de,c0c218b8,c083ae90,c083ae90,c0c218e0) at
 > getenv_quad+0x11
 > getenv_int(c07f60de,c08cb2c8,c083ae90,c1b8f900,c1b8f900) at getenv_int+0x12
 > e1000phy_attach(c1b8f900) at e1000phy_attach+0x18
 > device_attach(c1b8f900,c0651a34,c1b8f900,c1bbe8c0,0) at device_attach+0x58
 > device_probe_and_attach(c1b8f900) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8f700,c1bbe8c0,f0000000,c0718104,c0718134) at
 > bus_generic_attach+0x16
 > miibus_attach(c1b8f700) at miibus_attach+0x3d
 > device_attach(c1b8f700,c0716fcc,c1b8f700,0,c1b8f780) at device_attach+0x58
 > device_probe_and_attach(c1b8f700) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8f780,c1b8f8c0,c1bce000,c1bce000,c0c219d8) at
 > bus_generic_attach+0x16
 > mii_phy_probe(c1b8f780,c1bce234,c0718104,c0718134) at mii_phy_probe+0xd4
 > sk_attach(c1b8f780) at sk_attach+0x379
 > device_attach(c1b8f780,c1b8fb00,c1b8f780,c1b8f880,c1b8fc00) at
 > device_attach+0x58
 > device_probe_and_attach(c1b8f780) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8fc00,0,1700,0,c1b8fc00) at bus_generic_attach+0x16
 > skc_attach(c1b8fc00) at skc_attach+0x3ce
 > device_attach(c1b8fc00,c1a93060,c1b8fc00,c1b8fb00,c1b8fb00) at
 > device_attach+0x58
 > device_probe_and_attach(c1b8fc00) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8fb00,6,c1a93060,1,c0a26154) at
 > bus_generic_attach+0x16
 > acpi_pci_attach(c1b8fb00) at acpi_pci_attach+0xec
 > device_attach(c1b8fb00,c1b8f480,c1b8fb00,c1b8a980,0) at device_attach+0x58
 > device_probe_and_attach(c1b8fb00) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8a980,c1b8a980,c1bbf5f0,2,c0a25dcd) at
 > bus_generic_attach+0x16
 > acpi_pcib_attach(c1b8a980,c1bbf5f0,2,c1b8a980,c1a93060) at
 > acpi_pcib_attach+0x14e
 > acpi_pcib_pci_attach(c1b8a980) at acpi_pcib_pci_attach+0x88
 > device_attach(c1b8a980,c1b8a900,c1b8a980,c1b8f480,c1b8f480) at
 > device_attach+0x58
 > device_probe_and_attach(c1b8a980) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8f480,6,c1a425c0,1,c0a26154) at
 > bus_generic_attach+0x16
 > acpi_pci_attach(c1b8f480) at acpi_pci_attach+0xec
 > device_attach(c1b8f480,c1ad9600,c1b8f480,c1a6da00,0) at device_attach+0x58
 > device_probe_and_attach(c1b8f480) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1a6da00,c1a6da00,c1b801d4,0,0) at
 > bus_generic_attach+0x16
 > acpi_pcib_attach(c1a6da00,c1b801d4,0,c0c21c5c,c0654ca0) at
 > acpi_pcib_attach+0x14e
 > acpi_pcib_acpi_attach(c1a6da00) at acpi_pcib_acpi_attach+0x20a
 > device_attach(c1a6da00,c0a3c948,c1a6da00,c1ad9600,0) at device_attach+0x58
 > device_probe_and_attach(c1a6da00) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1ad9600,c1ad9600,c1a50160,1,c1ad9580) at
 > bus_generic_attach+0x16
 > acpi_probe_children(c1ad9600,1ae90,c1ad9600,c1ad9600,0) at
 > acpi_probe_children+0x63
 > acpi_attach(c1ad9600) at acpi_attach+0x52b
 > device_attach(c1ad9600,c0a3bae0,c1ad9600,c1ad9780,0) at device_attach+0x58
 > device_probe_and_attach(c1ad9600) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1ad9780,c1ad9780,c1ad9780,c0c21d44,c06510a0) at
 > bus_generic_attach+0x16
 > nexus_attach(c1ad9780) at nexus_attach+0x13
 > device_attach(c1ad9780,c08a85f0,c1ad9780,c08a85f0,c29000) at
 > device_attach+0x58
 > device_probe_and_attach(c1ad9780) at device_probe_and_attach+0xb4
 > root_bus_configure(c1ad9c80,c082edbc,0) at root_bus_configure+0x16
 > configure(0,c1ec00,c1e000,0,c0443195) at configure+0x1b
 > mi_startup() at mi_startup+0x96
 > begin() at begin+0x2c
 >
 >
 
 -- 
 Doug White                    |  FreeBSD: The Power to Serve
 dwhite@gumbysoft.com          |  www.FreeBSD.org
 _______________________________________________
 freebsd-bugs@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
 To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"
 

From: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
To: Maxim Maximov <mcsi@mcsi.pp.ru>
Cc: freebsd-bugs@FreeBSD.org
Subject: Re: kern/69752: LOR in sk(4) when booting
Date: Thu, 29 Jul 2004 09:11:38 +0000 (UTC)

 On Thu, 29 Jul 2004, Maxim Maximov wrote:
 
 > e1000phy0: <Marvell 88E1000 Gigabit PHY> on miibus0
 > lock order reversal
 >  1st 0xc1b86ec0 skc0 (network driver) @ /usr/src/sys/pci/if_sk.c:673
 >  2nd 0xc08d4b20 kernel environment (kernel environment) @ /usr/src/sys/kern/kern_environment.c:285
 
 known: http://sources.zabbadoz.net/freebsd/lor.html#011
 
 you may want to start with Doug White's if_sk patch from
 http://lists.freebsd.org/pipermail/freebsd-current/2004-June/028994.html
 and see if this helps you.
 
 -- 
 Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT
 _______________________________________________
 freebsd-bugs@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
 To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"
 
>Unformatted:
