Native preemption is the culprit [was Re: today's CURRENT lockups]

Nawfal bin Mohmad Rouyan nawfal at mmu.edu.my
Fri Jul 9 23:27:41 PDT 2004


I'm also experiencing this problem since the last 2 days. Each day I
updated my source and make world but the problem keeps on happening.

I'm using Dell Optiplex GX260:
  - P4 1.8GHz
  - 256MB RAM

I'm using SCHED_4BSD. My system usually hard hangs when the system is
busily accessing my hard disks. I can't do anything except when pressing
NumLock, the light will turn on/off but 

---
(oops, my comp hang just now. Luckily evolution saved this email
message.
---

The NumLock LED blinks when I press the NumLock key but not in the
correct way. Sometimes the LED flicker but does not turned off while
pressing NumLock key and sometimes it should turned on but it doesn't.

I deleted the miibus and fxp entry in my kernel config file but I'm
using a kernel which has both entries. I also kldload if_em module for
my NIC.

Thank you.

On Sat, 2004-07-10 at 13:18, Robert Watson wrote: 
> On Fri, 9 Jul 2004, Robert Watson wrote:
> 
> > I'm now experiencing extremely hard hangs in the following configurations:
> > 
> >   SMP kernel running SCHED_ULE with hyperthreads
> >   SMP kernel running SCHED_4BSD with hyperthreads
> > 
> > To generate the load, I'm using the "supersmack" benchark with the
> > select-key.smack query set with 30 client workers and 10,000
> > transactions. I am able to reliable hang the system with one or two
> > runs.
> > 
> > By disabling the "#define PREEMPTION" entry in param.h with SCHED_4BSD,
> > I'm able to complete the benchmark several times in a row without
> > apparent problems. However, I'll leave it running for a few more hours
> > and see if I didn't just "get lucky".  I'll then try SCHED_ULE w/o
> > PREEMPTION. 
> > 
> > By "extremely hard" I mean that I am unable to break into the debugger
> > using a serial break on the serial console.  I have not yet been able to
> > run the test on a system with easily accessible NMI but will attempt to
> > do so in the next few days.
> > 
> > I'll give UP a spin with various combinations next. 
> 
> FYI, UP+SCHED_ULE with PREEMPTION hung within three seconds of starting
> the benchmark.  Without PREEMPTION it seems to run fine.
> 
> So it looks like either PREEMPTION has a problem, or it's triggering an
> existing problem elsewhere.  If it's only one problem, it seems not to
> depend on either SMP/UP or the scheduler choice.  If it's multiple
> problems, who knows :-).  As the MySQL test relies on threading, we could
> be looking at an edge case involving threading and scheduling/preemption
> -- the other reports I've seen mention X11/KDE, which would also involve
> threading.  On the other hand, it could just be load.  Tomorrow I'll load
> up a box with non-threaded apps and see what happens.
> 
> Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
> robert at fledge.watson.org      Principal Research Scientist, McAfee Research
> 
> 
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"

-- 

Nawfal bin Mohmad Rouyan <nawfal at mmu.edu.my>

Multimedia University
-------------- next part --------------
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 #1: Sat Jul 10 05:05:58 MYT 2004
    root@:/usr/obj/usr/src/sys/OPAL
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1800.03-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf27  Stepping = 7
  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>
real memory  = 267849728 (255 MB)
avail memory = 252440576 (240 MB)
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <DELL GX260  > on motherboard
acpi0: [GIANT-LOCKED]
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> port 0x530-0x537 on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82845G host to AGP bridge> mem 0xe8000000-0xefffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
drm0: <ATI Radeon QW RV200 7500> port 0xec00-0xecff mem 0xff8f0000-0xff8fffff,0xf0000000-0xf7ffffff irq 11 at device 0.0 on pci1
info: [drm] AGP at 0xe8000000 128MB
info: [drm] Initialized radeon 1.11.0 20020828 on minor 0
uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0xff80-0xff9f irq 11 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801DB (ICH4) 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 82801DB (ICH4) USB controller USB-B> port 0xff60-0xff7f irq 10 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801DB (ICH4) 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
uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0xff40-0xff5f irq 9 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <Intel 82801DB (ICH4) 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
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
pcm0: <Creative EMU10K1> port 0xdce0-0xdcff irq 11 at device 7.0 on pci2
pcm0: <SigmaTel STAC9721/23 AC97 Codec>
em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.25> port 0xdc80-0xdcbf mem 0xff6e0000-0xff6fffff irq 9 at device 12.0 on pci2
em0: [GIANT-LOCKED]
em0: Ethernet address: 00:08:74:cc:ad:ed
em0:  Speed:N/A  Duplex:N/A
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH4 UDMA100 controller> port 0xffa0-0xffaf,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
ichsmb0: <Intel 82801DC (ICH4) SMBus controller> port 0xcc80-0xcc9f irq 11 at device 31.3 on pci0
ichsmb0: [GIANT-LOCKED]
smbus0: <System Management Bus> on ichsmb0
smb0: <SMBus generic I/O> on smbus0
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> 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
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 IntelliMouse, device ID 3
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
ppc0 port 0x778-0x77f,0x378-0x37f irq 7 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 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-0xcbfff on isa0
pmtimer0 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1800034424 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 38146MB <WDC WD400BB-75DEA0> [77504/16/63] at ata0-master UDMA100
ad1: 238475MB <WDC WD2500JB-00EVA0> [484521/16/63] at ata0-slave UDMA100
acd0: CDROM <SAMSUNG CD-ROM SC-148C> at ata1-master UDMA33
cd0 at ata1 bus 0 target 0 lun 0
cd0: <SAMSUNG CD-ROM SC-148C B105> Removable CD-ROM SCSI-0 device 
cd0: 33.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
Mounting root from ufs:/dev/ad0s1a
WARNING: / was not properly dismounted
WARNING: /home was not properly dismounted
/home: mount pending error: blocks 12 files 2
/home: superblock summary recomputed
em0: Link is up 100 Mbps Full Duplex
-------------- next part --------------
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files. 
# If you are in doubt as to the purpose or necessity of a line, check first 
# in NOTES.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.394 2003/12/03 21:13:06 jhb Exp $

machine		i386
cpu		I686_CPU
ident		OPAL

options		DDB
options		DDB_TRACE
makeoptions	DEBUG=-g

options		SCHED_4BSD
options 	INET			#InterNETworking
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 	NFSCLIENT		#Network Filesystem Client
options 	NFSSERVER		#Network Filesystem Server
options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
options 	PROCFS			#Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		#Pseudo-filesystem framework
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	COMPAT_FREEBSD4		#Compatible with FreeBSD4
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		CPU_ENABLE_SSE
options		CPU_FASTER_5X86_FPU
options		DEVICE_POLLING
options		HZ=1000

device		isa
device		pci

# Floppy drives
device		fdc

# ATA and ATAPI devices
device		ata
device		atadisk			# ATA disk drives
device		atapicd			# ATAPI CDROM drives
options 	ATA_STATIC_ID		#Static device numbering

# 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

# 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

# Pseudo devices - the number indicates how many units to allocate.
device		random		# Entropy device
device		loop		# Network loopback
device		ether		# Ethernet support
device		pty		# Pseudo-ttys (telnet etc)

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

device		scbus
device		cd
device		pass
device		da
device		atapicam
device		pcm
device		smbus
device		ichsmb
device		smb
device		uhci
device		ohci
device		usb
device		ums
device		umass
options		PFIL_HOOKS
device          pf
device		pflog
device		pfsync
options		ZERO_COPY_SOCKETS
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       # Prioirity Queueing
options         ALTQ_NOPCC
options         RANDOM_IP_ID
options         IPSTEALTH
options		CONSPEED=115200


More information about the freebsd-current mailing list