Subject: Re: xen 3.1 problem (Re: xen 3.1.0 is there)
To: Kazushi Marukawa <jam@pobox.com>
From: Daniel Carosone <dan@geek.com.au>
List: port-xen
Date: 06/20/2007 11:16:01
--fUjYDmxMtFc8vtOf
Content-Type: multipart/mixed; boundary="KkUfzEtIprrm0TMY"
Content-Disposition: inline


--KkUfzEtIprrm0TMY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Jun 20, 2007 at 08:38:44AM +0900, Kazushi Marukawa wrote:
>    > This would mean something disabled interrupts between copyout() and
>    > pmap_load() and failed to reenable them, but I didn't find anything =
obvious.
>    > copyout() itself doesn't call pmap_load() so there's probably a trap=
 in
>    > between that isn't shown by ddb.
>=20
> Thanks.  I think this is very minor bug since only few of us
> are having this problem.=20

That puzzles me too. I wonder if it's something specific to a
particular driver we use that others don't?  Shall we compare kernel
configs?  Mine's attached.  The only things I'm using that might be
unusual for hardware + drivers are:

 - cgd
 - bce (the special limited dma mapping)

While it's a great idea to do the binary date search looking for a
culprit change, I suspect you'll hit the big merge as the culprit, and
then it would help to have something else to direct the search.


--KkUfzEtIprrm0TMY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=_oenone_dom0_

#	$NetBSD: XEN3_DOM0,v 1.6 2006/10/17 19:57:24 bouyer Exp $
#
#	XEN3_0: Xen 3.0 domain0 kernel

include 	"arch/xen/conf/std.xen"

options 	XEN
options 	XEN3	#Xen 3.x support
options 	DOM0OPS


hypervisor*     at mainbus?             # Xen hypervisor
npx0            at hypervisor?          # x86 math coprocessor

xencons*        at hypervisor?          # Xen virtual console
pci*            at hypervisor? bus ?
isa0 		at hypervisor?

vcpu*		at hypervisor?		# Xen virtual CPUs
xenbus*		at hypervisor?		# Xen virtual bus

acpi0 		at hypervisor?
options		MPBIOS
options		MPDEBUG
options		MPVERBOSE
#options 	 PCI_ADDR_FIXUP		# fixup PCI I/O addresses
#options 	 PCI_BUS_FIXUP		# fixup PCI bus numbering
#options 	 PCI_INTR_FIXUP		# fixup PCI interrupt routing

options 	DEBUG

ioapic*		at mainbus? apid ?

# xen pseudo-devices
pseudo-device	xvif
pseudo-device	xbdback
pseudo-device   xenevt



# HACK HACK old _oenone_ config - factor out.


#	$NetBSD: GENERIC_LAPTOP,v 1.207 2006/09/19 13:58:56 jmmv Exp $

#include "arch/i386/conf/std.i386"

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

options 	MSGBUFSIZE=24576
options		RND_VERBOSE
options		RND_POOLWORDS=512
options		BUFQ_READPRIO
options		BUFQ_PRIOCSCAN

#ident 		"GENERIC-$Revision: 1.207 $"

maxusers	32		# estimated number of users

# CPU support.  At least one is REQUIRED.
options 	I686_CPU

# CPU-related options.
#options 	MULTIPROCESSOR
#options 	VM86		# virtual 8086 emulation
#options 	USER_LDT	# user-settable LDT; used by WINE

# Enhanced SpeedStep Technology in the Pentium M
options 	ENHANCED_SPEEDSTEP

#options 	MTRR		# memory-type range register syscall support
#options 	PERFCTRS	# performance-monitoring counters support

options 	MULTIBOOT	# Multiboot support (see multiboot(8))
#options 	MULTIBOOT_SYMTAB_SPACE=1048576

# Standard system options

options 	INSECURE	# disable kernel security levels - X needs this

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
options 	NTP		# NTP phase/frequency locked loop

options 	KTRACE		# system call tracing via ktrace(1)
#options 	SYSTRACE	# system call vetting via systrace(1)

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
#options 	SEMMNI=10	# number of semaphore identifiers
#options 	SEMMNS=60	# number of semaphores in system
#options 	SEMUME=10	# max number of undo entries per process
#options 	SEMMNU=30	# number of undo structures in system
options 	SYSVSHM		# System V-like memory sharing
options 	SHMMAXPGS=16384	# 2048 pages is the default
options 	P1003_1B_SEMAPHORE	# p1003.1b semaphore support


options 	USERCONF	# userconf(4) support

# Diagnostic/debugging support options
options 	DIAGNOSTIC	# expensive kernel consistency checks
options 	DDB		# in-kernel debugger
#options 	DDB_ONPANIC=1	# see also sysctl(8): `ddb.onpanic'
options 	DDB_HISTORY_SIZE=512	# enable history editing in DDB


# Compatibility options
options 	COMPAT_LINUX	# binary compatibility with Linux

# File systems
file-system 	FFS		# UFS
file-system 	EXT2FS		# second extended file system (linux)
file-system 	LFS		# log-structured file system
file-system 	MFS		# memory file system
file-system 	NFS		# Network File System client
file-system 	NTFS		# Windows/NT file system (experimental)
file-system 	CD9660		# ISO 9660 + Rock Ridge file system
file-system 	MSDOSFS		# MS-DOS file system
file-system 	KERNFS		# /kern
file-system 	PROCFS		# /proc
file-system	SMBFS		# experimental - CIFS; also needs nsmb (below)
file-system	PTYFS		# /dev/ptm support
file-system	TMPFS		# experimental - Efficient memory file-system
#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
file-system 	PUFFS

# File system options
options 	SOFTDEP		# FFS soft updates support.
#options 	NFSSERVER	# Network File System server
#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
				# immutable) behave as system flags.

# Networking options
options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
options 	INET6		# IPV6
options 	IPSEC		# IP security
options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
options 	IPSEC_NAT_T	# IPsec NAT traversal (NAT-T)
options 	IPSEC_DEBUG	# debug for IP security
options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
options 	PPP_DEFLATE	# Deflate compression support for PPP
options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
options 	PFIL_HOOKS	# pfil(9) packet filter hooks
options 	IPFILTER_LOG	# ipmon(8) log support
options 	IPFILTER_LOOKUP	# ippool(8) support
#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
options		ACPIVERBOSE
options 	MIIVERBOSE	# verbose PHY autoconfig messages
options 	PCIVERBOSE	# verbose PCI device autoconfig messages
options 	SCSIVERBOSE	# human readable SCSI error messages
options 	USBVERBOSE	# verbose USB device autoconfig messages

#
# wscons options
#
# builtin terminal emulations
options 	WSEMUL_VT100		# VT100 / VT220 emulation
options 	WSDISPLAY_CUSTOM_OUTPUT	# color customization from wsconsctl(8)
options 	WS_KERNEL_FG=WSCOL_GREEN
options 	WSDISPLAY_CUSTOM_BORDER	# custom border colors via wsconsctl(8)
# compatibility to other console drivers
options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
options 	WSDISPLAY_COMPAT_USL		# VT handling
options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
options 	WSDISPLAY_SCROLLSUPPORT

# Kernel root file system and dump configuration.
config		netbsd	root on ? type ?

#
# Device configuration
#

mainbus0 at root

cpu0 at mainbus0
ioapic* at mainbus?

# Basic Bus Support

# Advanced Configuration and Power Interface

#acpi0 		at mainbus0

#options 	ACPI_ACTIVATE_DEV	# If set, activate inactive devices
#options 	ACPICA_PEDANTIC		# force strict conformance to the Spec.

# ACPI devices
apm*		at acpi?		# ACPI apm emulation
acpiacad* 	at acpi?		# ACPI AC Adapter
acpibat* 	at acpi?		# ACPI Battery
acpibut* 	at acpi?		# ACPI Button
acpiec* 	at acpi?		# ACPI Embedded Controller
acpilid* 	at acpi?		# ACPI Lid Switch
acpitz* 	at acpi?		# ACPI Thermal Zone

# Mainboard devices
attimer*	at acpi?		# AT Timer
com* 		at acpi?		# Serial communications interface
#fdc* 		at acpi?		# Floppy disk controller
joy*		at acpi?		# Joystick/Game port
lpt* 		at acpi?		# Parallel port
mpu*		at acpi?		# Roland MPU-401 MIDI UART
#npx*		at acpi?		# Math coprocessor
pckbc*  	at acpi?		# PC keyboard controller
pcppi*		at acpi?                # AT-style speaker sound
#wss* 		at acpi?		# NeoMagic 256AV in wss mode
#ym* 		at acpi?		# Yamaha OPL3-SA[23] audio

# PCI bus support
#pci*	at mainbus? bus ?
#pci*	at pchb? bus ?
#pci*	at ppb? bus ?

# PCI fixups, for both PCIBIOS and ACPI
options 	PCI_ADDR_FIXUP		# fixup PCI I/O addresses
options 	PCI_BUS_FIXUP		# fixup PCI bus numbering
options 	PCI_INTR_FIXUP		# fixup PCI interrupt routing

# PCI bridges
#ichlpcib* at pci? dev ? function ?	# Intel ICH PCI-ISA w/ watchdog and
					# SpeedStep support
pchb*	at pci? dev ? function ?	# PCI-Host bridges
pcib*	at pci? dev ? function ?	# PCI-ISA bridges
ppb*	at pci? dev ? function ?	# PCI-PCI bridges

# ISA bus support
#isa0	at ichlpcib?
#isa0	at mainbus?
isa0	at pcib?

# Coprocessor Support

# Math Coprocessor support
#npx0	at isa? port 0xf0 irq 13	# x86 math coprocessor


# Console Devices

# wscons
pckbc0		at isa?			# pc keyboard controller
pckbd*		at pckbc?		# PC keyboard
pms*		at pckbc?		# PS/2 mouse for wsmouse
#options 	PMS_DISABLE_POWERHOOK	# Disable PS/2 reset on resume
options 	PMS_SYNAPTICS_TOUCHPAD	# Enable support for Synaptics Touchpads
vga*		at pci? dev ? function ?
wsdisplay*	at vga? console ?
wskbd*		at pckbd? console ?
wsmouse*	at pms? mux 0

attimer0	at isa?
pcppi0		at isa?
#sysbeep0	at pcppi?


# Hardware monitors

# LM7[89] and compatible hardware monitors
#lm0	at isa?	port 0x290		# other common: 0x280, 0x310

# iTE IT87xxF and compatible hardware monitors
#it0    at isa? port 0x290              # other ports: 0xc00, 0xd00.

# SCSI Controllers and Devices

# SCSI bus support
scsibus* at scsi?

# SCSI devices
sd*	at scsibus? target ? lun ?	# SCSI disk drives
st*	at scsibus? target ? lun ?	# SCSI tape drives
cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
uk*	at scsibus? target ? lun ?	# SCSI unknown

# IDE and related devices
piixide* 	at pci? dev ? function ?	# Intel IDE controllers

# ATA (IDE) bus support
atabus* at ata?

# IDE drives
wd*	at atabus? drive ? flags 0x0000

# ATAPI bus support
atapibus* at atapi?

# ATAPI devices
# flags have the same meaning as for IDE drives.
cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
sd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
st*	at atapibus? drive ? flags 0x0000	# ATAPI tape drives
uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown


# Network Interfaces

# PCI network interfaces
bce* 	at pci? dev ? function ?	# Broadcom 4401 10/100 Ethernet
wpi*	at pci? dev ? function ?	# Intel PRO/Wireless 3945ABG

# MII/PHY support
ukphy*	at mii? phy ?			# generic unknown PHYs


# USB Controller and Devices

# PCI USB controllers
ehci*	at pci?	dev ? function ?	# Enhanced Host Controller
uhci*	at pci?	dev ? function ?	# Universal Host Controller (Intel)

# USB bus support
usb*	at ehci?
usb*	at uhci?

# USB Hubs
uhub*	at usb?
uhub*	at uhub? port ? configuration ? interface ?

# USB HID device
uhidev*	at uhub? port ? configuration ? interface ?

# USB Mice
ums*	at uhidev? reportid ?
wsmouse* at ums? mux 0

# USB Keyboards
ukbd*	at uhidev? reportid ?
wskbd*	at ukbd? console ? mux 1

# USB serial adapter
ucycom*	at uhidev? reportid ?

# USB Generic HID devices
uhid*	at uhidev? reportid ?

# USB Printer
ulpt*	at uhub? port ? configuration ? interface ?

# USB Modem
umodem*	at uhub? port ? configuration ?
ucom*	at umodem?

# USB Mass Storage
umass*	at uhub? port ? configuration ? interface ?
wd*	at umass?

# USB audio
uaudio*	at uhub? port ? configuration ?

# USB MIDI
umidi* at uhub? port ? configuration ?

# USB IrDA
# USB-IrDA bridge spec
uirda* at uhub? port ? configuration ? interface ?
irframe* at uirda?

# SigmaTel STIr4200 USB/IrDA Bridge
ustir* at uhub? port ?
irframe* at ustir?

# USB Ethernet adapters
aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
axe*	at uhub? port ?		# ASIX AX88172 based adapters
cue*	at uhub? port ?		# CATC USB-EL1201A based adapters
kue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters
url*	at uhub? port ?		# Realtek RTL8150L based adapters

# USB 802.11 adapters
atu*	at uhub? port ?		# Atmel AT76C50XX based adapters
ral*	at uhub? port ?		# Ralink Technology RT25x0 802.11a/b/g

# Prolific PL2301/PL2302 host-to-host adapter
upl*	at uhub? port ?

# Serial adapters
uftdi*	at uhub? port ?		# FTDI FT8U100AX serial adapter
ucom*	at uftdi? portno ?

uplcom*	at uhub? port ?		# I/O DATA USB-RSAQ2 serial adapter
ucom*	at uplcom? portno ?

umct*	at uhub? port ?		# MCT USB-RS232 serial adapter
ucom*	at umct? portno ?

# USB Generic driver
ugen*	at uhub? port ?
# On ugen bulk endpoints, perform read-ahead and write-behind.
options	UGEN_BULK_RA_WB

# USB generic serial port (e.g., data over cellular)
ugensa*	at uhub? port ?
ucom*	at ugensa?

# PCI IEEE1394 controllers
fwohci*	at pci? dev ? function ?	# IEEE1394 Open Host Controller

ieee1394if* at fwohci?
fwip*	at ieee1394if?			# IP over IEEE1394
sbp*	at ieee1394if? euihi ? euilo ?	# SCSI over IEEE1394

# Audio Devices

# PCI audio devices
auich*	at pci? dev ? function ?	# Intel ICH integrated AC'97 Audio
#azalia*	at pci? dev ? function ?	# High Definition Audio
#options 	AZALIA_DEBUG

# Audio support
audio*	at audiobus?

# Bluetooth Controller and Device support

# Bluetooth USB Controllers
ubt* at uhub? port ? configuration ? interface ?

# Bluetooth Device Hub
bthub* at ubt?

# Bluetooth HID support
bthidev* at bthub?

# Bluetooth Mouse
btms* at bthidev? reportid ?
wsmouse* at btms? mux 0

# Bluetooth Keyboard
btkbd* at bthidev? reportid ?
wskbd* at btkbd? console ? mux 1

# Bluetooth Audio support
btsco* at bthub?

# Miscellaneous Devices

# Pseudo-Devices

# disk/mass storage pseudo-devices
pseudo-device	cgd		4	# cryptographic disk devices
pseudo-device	fss		4	# file system snapshot device

pseudo-device	md		1	# memory disk device (ramdisk)
pseudo-device	vnd			# disk-like interface to files
#options 	VND_COMPRESSION		# compressed vnd(4)

# network pseudo-devices
pseudo-device	bpfilter		# Berkeley packet filter
pseudo-device	ipfilter		# IP filter (firewall) and NAT
pseudo-device	loop			# network loopback
pseudo-device	ppp			# Point-to-Point Protocol
pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
pseudo-device	irframetty		# IrDA frame line discipline
pseudo-device	tap			# virtual Ethernet
pseudo-device	tun			# network tunneling over tty
pseudo-device	gre			# generic L3 over IP tunnel
pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
pseudo-device	vlan			# IEEE 802.1q encapsulation
pseudo-device	bridge			# simple inter-network bridging
options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too

# miscellaneous pseudo-devices
pseudo-device	pty			# pseudo-terminals
pseudo-device	rnd			# /dev/random and in-kernel generator
pseudo-device	clockctl		# user control of clock subsystem

# a pseudo device needed for SMBFS
pseudo-device	nsmb			# experimental - SMB requester

# wscons pseudo-devices
pseudo-device	wsmux			# mouse & keyboard multiplexor
pseudo-device	wsfont

--KkUfzEtIprrm0TMY--

--fUjYDmxMtFc8vtOf
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (NetBSD)

iD8DBQFGeH/REAVxvV4N66cRArrDAJ9IVJZsmy7o2KXSrOS6WY2efjKNugCggXgG
9Flb56U7emtfUqN9X9tt8hg=
=m9tj
-----END PGP SIGNATURE-----

--fUjYDmxMtFc8vtOf--