running BOINC with sched_ULE

Rene Ladan r.c.ladan at
Sun Nov 4 06:33:26 PST 2007


Running BOINC (net/boinc-client) using sched_4BSD works fine.  When I switch to sched_ULE,
these anomalies occur:

* the net/boinc_curses window comes up very slowly, updates are quite sluggish
* the science programs (setiathome, einstein, simap) loose track of the hartbeat from time
to time, resulting in restarting processes.  According to top, restarted science processes
run with either (NICE=i31, PRI=171) or (NICE=19,PRI=8).
* the load avarages in top fluctuate around 4 instead of 2 (there are 2 concurrent science
processes on an otherwise almost-idle dualcore laptop).

The boinc client is started using the boinc rc.d script, so it runs at idprio 31.

Laptop: Asus A6JE, dualcore Intel T5600

FreeBSD 8.0-CURRENT #34: Sat Nov  3 18:30:36 CET 2007
  root at  i386

powerd is enabled using the default configuration, the laptop mostly runs on AC power.

I've attached the output from 'sysctl kern.sched' and 'cpuid' and my kernel configuration.

Any ideas?

GPG fingerprint = E738 5471 D185 7013 0EE0  4FC8 3C1D 6F83 12E1 84F6 (

"It won't fit on the line."
		-- me, 2001

-------------- next part --------------
kern.sched.preemption: 1
kern.sched.topology: 0
kern.sched.steal_thresh: 1
kern.sched.steal_idle: 1
kern.sched.steal_htt: 1
kern.sched.balance_interval: 133
kern.sched.balance: 1
kern.sched.tryself: 1
kern.sched.affinity: 3
kern.sched.pick_pri: 1
kern.sched.preempt_thresh: 64
kern.sched.interact: 30
kern.sched.slice: 13 ULE
-------------- 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:
# 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 ( 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.

machine		i386
cpu		I686_CPU
ident		RENE

# 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

# Debugging for use in -current
options 	KDB			# Enable kernel debugger support.
options 	DDB			# Support DDB.
options		KDB_TRACE
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

options 	SCHED_ULE	# BOINC: load avg->4, science processes run only at nice 19 instead of idprio 31
#options		SCHED_4BSD	# sigh...
options 	PREEMPTION		# Enable kernel thread preemption
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 	CD9660			# ISO 9660 Filesystem
options 	COMPAT_43TTY		# Compatible with BSD 4.3 [KEEP THIS!]
options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
options 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
#options	COMPAT_FREEBSD7		# someday...
options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
options 	KTRACE			# ktrace(1) support
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 	ADAPTIVE_GIANT		# Giant mutex is adaptive.

options		SMP			# Dual core T5600
device		apic			# I/O APIC
options		STOP_NMI		# stop CPUs with NMI instead of IPI


# Bus support.
#device		eisa
device		pci

# ATA and ATAPI devices
device		ata		# as module ? # panic without?
#device		atadisk		# ATA disk drives # as module ?
#options 	ATA_STATIC_ID	# Static device numbering

# SCSI peripherals
device		scbus		# SCSI bus (required for SCSI)
device		da		# Direct Access (disks)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)

# 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

#device		agp		# needed to make drm compile
#device		drm
#device		radeondrm	# no support yet for M64 aka X1450

# Add suspend/resume support for the i8254.
device		pmtimer

# Pseudo devices.
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!
# 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		mmc
device		mmcsd
-------------- next part --------------
 eax in    eax      ebx      ecx      edx
00000000 0000000a 756e6547 6c65746e 49656e69
00000001 000006f6 01020800 0000e3bd bfebfbff
00000002 05b0b101 005657f0 00000000 2cb4307d
00000003 00000000 00000000 00000000 00000000
00000004 04000121 01c0003f 0000003f 00000001
00000005 00000040 00000040 00000003 00022220
00000006 00000001 00000002 00000001 00000000
00000007 00000000 00000000 00000000 00000000
00000008 00000400 00000000 00000000 00000000
00000009 00000000 00000000 00000000 00000000
0000000a 07280202 00000000 00000000 00000000
80000000 80000008 00000000 00000000 00000000
80000001 00000000 00000000 00000001 20100000
80000002 65746e49 2952286c 726f4320 4d542865
80000003 43203229 20205550 20202020 54202020
80000004 30303635 20402020 33382e31 007a4847
80000005 00000000 00000000 00000000 00000000
80000006 00000000 00000000 08006040 00000000
80000007 00000000 00000000 00000000 00000000
80000008 00003024 00000000 00000000 00000000

Vendor ID: "GenuineIntel"; CPUID level 10

Intel-specific functions:
Version 000006f6:
Type 0 - Original OEM
Family 6 - Pentium Pro
Model 15 - 
Extended model 0
Stepping 6
Reserved 0

Extended brand string: "Intel(R) Core(TM)2 CPU         T5600  @ 1.83GHz"
CLFLUSH instruction cache line size: 8
Initial APIC ID: 1
Hyper threading siblings: 2

Feature flags: bfebfbff:
FPU    Floating Point Unit
VME    Virtual 8086 Mode Enhancements
DE     Debugging Extensions
PSE    Page Size Extensions
TSC    Time Stamp Counter
MSR    Model Specific Registers
PAE    Physical Address Extension
MCE    Machine Check Exception
CX8    COMPXCHG8B Instruction
APIC   On-chip Advanced Programmable Interrupt Controller present and enabled
SEP    Fast System Call
MTRR   Memory Type Range Registers
PGE    PTE Global Flag
MCA    Machine Check Architecture
CMOV   Conditional Move and Compare Instructions
FGPAT  Page Attribute Table
PSE-36 36-bit Page Size Extension
CLFSH  CFLUSH instruction
DS     Debug store
ACPI   Thermal Monitor and Clock Ctrl
MMX    MMX instruction set
FXSR   Fast FP/MMX Streaming SIMD Extensions save/restore
SSE    Streaming SIMD Extensions instruction set
SSE2   SSE2 extensions
SS     Self Snoop
HT     Hyper Threading
TM     Thermal monitor
31     reserved

Feature flags set 2: 0000e3bd:
SSE3    SSE3 extensions
2 - unknown feature
DS-CPL  CPL Qualified Debug Store
5 - unknown feature
EST     Enhanced Intel SpeedStep Technology
TM2     Thermal Monitor 2
9 - unknown feature
xTPR    Send Task Priority messages
15 - unknown feature

Extended feature flags: 20100000:
XD-bit    Execution Disable bit
EM64T     Intel Extended Memory 64 Technology

Extended feature flags set 2: 00000001:
0 - unknown feature

TLB and cache info:
b1: unknown TLB/cache descriptor
b0: Instruction TLB: 4-KB Pages, 4-way set associative, 128 entries
05: unknown TLB/cache descriptor
f0: 64-byte prefetching
57: unknown TLB/cache descriptor
56: unknown TLB/cache descriptor
7d: 2nd-level cache: 2-MB, 8-way set associative, 64-byte line size
30: 1st-level instruction cache: 32-KB, 8-way set associative, 64-byte line size
b4: unknown TLB/cache descriptor
2c: 1st-level data cache: 32-KB, 8-way set associative, 64-byte line size
Processor serial: 0000-06F6-0000-0000-0000-0000

More information about the freebsd-current mailing list