Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Dec 2002 15:27:29 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        current@freebsd.org
Subject:   New lock order reversal - "vnode interlock"
Message-ID:  <20021206212728.GC29693@dan.emsphone.com>

next in thread | raw e-mail | index | archive | help

--qMm9M+Fa2AknHoGS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline


I haven't seen this one reported yet.  

FreeBSD dan.emsphone.com 5.0-RC FreeBSD 5.0-RC #228: Thu Dec  5 17:28:33 CST 2002     dan@dan.emsphone.com:/usr/src/sys/i386/compile/DANSMP  i386

lock order reversal
1st 0xc2d454b0 vnode interlock (vnode interlock) @ ../../../ufs/ffs/ffs_snapshot.c:1876
2nd 0xc04255e0 vm page queue mutex (vm page queue mutex) @ ../../../kern/vfs_bio.c:1480
acquiring duplicate lock of same type: "vnode interlock"
1st vnode interlock @ ../../../ufs/ffs/ffs_snapshot.c:1876
2nd vnode interlock @ ../../../kern/vfs_subr.c:1610



-- 
	Dan Nelson
	dnelson@allantgroup.com

--qMm9M+Fa2AknHoGS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=DANSMP

machine		i386
# cpu		"I386_CPU"
# cpu		"I486_CPU"
# cpu		"I586_CPU"
cpu		"I686_CPU"
# CPU_ENABLE_SSE enables SSE/MMX2 instructions support.
options 	CPU_ENABLE_SSE

ident		DAN
maxusers	120

# SMP
options 	SMP			# Symmetric MultiProcessor Kernel
options 	APIC_IO			# Symmetric (APIC) I/O

makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
makeoptions	COPTFLAGS="-O -pipe"	# use some optimizations
makeoptions	NO_CPU_COPTFLAGS="yes"
makeoptions	NO_MODULES_OLD="yes"
makeoptions	NO_MODULES="yes"
makeoptions	NO_WERROR="yes"

#options	MATH_EMULATE		#Support for x87 emulation
options		INET			#InterNETworking
#options 	INET6			#IPv6 communications protocols
options 	IPSEC			#IP security
options 	IPSEC_ESP		#IP security (crypto; define w/ IPSEC)

#options 	NCP			#NetWare Core protocol
#options	IPX			#IPX/SPX communications protocols
#options 	NWFS			#NetWare filesystem

options		FFS			#Berkeley Fast Filesystem
#options		UFS_EXTATTR		# extattr support
#options		UFS_EXTATTR_AUTOSTART
#options		UFS_ACL			# ACL support
options 	UFS_DIRHASH		#Improve performance on big directories

options 	NFSCLIENT		#Network File System
options 	NFSSERVER		#Network File System
options		PROCFS			#Process filesystem
options 	PSEUDOFS		#Pseudo-filesystem framework
#options 	NODEVFS			#disable devices filesystem
options 	CD9660			#ISO 9660 filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
options		COMPAT_FREEBSD4		#Compatible with FreeBSD 4
options		COMPAT_AOUT		#Exec 2.2 binaries
options		SCSI_DELAY=500		#Be optimistic about Joe SCSI device
#options		GEOM			#Use new partition code
#options		UCONSOLE		#Allow users to grab the console
#options		USERCONFIG		#boot -c editor
#options		VISUAL_USERCONFIG	#visual boot -c editor

device	isa
device	pci
device  agp

device	fdc

device	aha
device	ahc
device	adw
options 	AHC_REG_PRETTY_PRINT	# Print register bitfields in debug

# SCSI peripherals
device		scbus		# SCSI bus (required)
device		da		# Direct Access (disks)
device		sa		# Sequential Access (tape etc)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)

# The 'ATA' driver supports all ATA and ATAPI devices, including PC Card
# devices. You only need one "device ata" for it to find all
# PCI and PC Card ATA/ATAPI devices on modern machines.
device		ata
device		atapicam	# emulate ATAPI devices as SCSI ditto via CAM
				# needs CAM to be present (scbus & pass)

# atkbdc0 controlls both the keyboard and the PS/2 mouse
device		atkbdc
device		atkbd
device		psm

device		vga
options		VGA_WIDTH90		# support 90 column modes

options		VESA			# support for VESA video modes

# splash screen/screen saver
device		splash

# syscons is the default console driver, resembling an SCO console
device		sc
options 	SC_HISTORY_SIZE=500	# number of history buffer lines

device		npx

#
# Laptop support (see LINT for more options)
#
device		apm

# PCCARD (PCMCIA) support
#device		card0
#device		pcic0	at card?
#device		pcic1	at card?

device		sio

device		ppc 
device		ppbus
device		lpt
device		plip
device		ppi

# MII bus support, required for some 10/100 NICs
device	miibus

# Order is important here due to intrusive probes, do *not* alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
#device de
device fxp
device dc
#device rl
#device tl
#device tx
#device vx
device xl

device	loop
device	ether
device	tun
device	pty	
device	gzip		# Exec gzipped a.out's
device	md		#Memory/malloc disk
device	snp		#Snoop device - to look at pty/vty/etc..
device	streams

# for IPv6
#device	gif	4		#IPv6 and IPv4 tunneling
#device	faith	1		#for IPv6 and IPv4 translation

# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options		KTRACE		#kernel tracing

# This provides support for System V shared memory.
#
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG

#  The `bpfilter' device enables the Berkeley Packet Filter.  Be
#  aware of the legal and administrative consequences of enabling this
#  option.  The number of devices determines the maximum number of
#  simultaneous BPF clients programs runnable.
device	bpf	#Berkeley packet filter

options DDB			#Enable the kernel debugger
#options DDB_UNATTENDED		#Don't drop into ddb on panic
options	INVARIANTS		#Enable calls of extra sanity checking
options	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
options MUTEX_DEBUG		#Enable various extra assertions in the mutex code
options	WITNESS			#Enable mutex checks to detects deadlocks and cycles
options	WITNESS_SKIPSPIN	#Disable the witness checks on spin mutexes
#options WITNESS_DDB		#Drop into debugger on locking problem
options 	ALT_BREAK_TO_DEBUGGER
options		GDB_REMOTE_CHAT

options		MROUTING		# Multicast routing
options		IPFIREWALL              #firewall
options         IPFIREWALL_VERBOSE      #print information about
					# dropped packets
options         IPFIREWALL_FORWARD      #enable transparent proxy support
options		IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default

options		IPDIVERT		#divert sockets
options		DUMMYNET		#bandwidth limiter

options         INCLUDE_CONFIG_FILE     # Include this file in kernel

# Size of the kernel message buffer.  Should be N * pagesize.
options		MSGBUF_SIZE=40960

options		SOFTUPDATES

options		CLK_USE_I8254_CALIBRATION
options		CLK_USE_TSC_CALIBRATION

# Not controlled by `snd'
# device pca - conflicts with device speaker

# The newpcm driver (use INSTEAD of snd0 and all VOXWARE drivers!).
# Note that motherboard sound devices may require options PNPBIOS.
#
# For non-pnp sound cards with no bridge drivers only:
#device		pcm0 at isa? port ? irq 10 drq 1 flags 0x0
#
# For pnp sound cards:
device		pcm

# The bridge drivers for sound cards. Do not forget pcm as well.
# device		sbc # sbc:  Creative SoundBlaster ISA PnP
# device		joy # joystick driver

device	speaker		#Play IBM BASIC-style noises out your speaker

# options AHC_ALLOW_MEMIO

# System Management Bus support provided by the 'smbus' device.
device smbus
#device intpm
#device alpm
#device ichsmb
device viapm
device smb

# Philips i2c bus support is provided by the `iicbus' device.
device iicbus
device iicbb
device ic
device iic
device iicsmb
#device	pcf

# USB support
device	ohci	# OHCI controller
device	uhci	# UHCI controller
device	usb	# General USB code (mandatory for USB)
device	ugen	# Generic USB device driver
device	umodem	# USB modem support

# real-time kernel extensions
#options 	P1003_1B
options 	_KPOSIX_PRIORITY_SCHEDULING
#options 	_KPOSIX_VERSION=199309L

# Cryptographically secure random number generator; /dev/[u]random
device		random

# ACPI Experimental Driver
device		acpi

# Linux compatability
options 	COMPAT_LINUX

# Disk quotas are supported when this option is enabled.
options 	QUOTA			#enable disk quotas

# options		MALLOC_PROFILE		# gather stats on uma

#Enable pci resources left off by a "lazy" BIOS:
#options 	PCI_ENABLE_IO_MODES

--qMm9M+Fa2AknHoGS--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021206212728.GC29693>