Subject: Re: Kernel optimizations!
To: Tracy Nelson <tnelson158@attbi.com>
From: Sung N. Cho <sucho2@vt.edu>
List: netbsd-help
Date: 05/09/2002 23:02:31
Hi,

I forgot to mention that I'm using the NetBSD -current.  Just built from the 
source Today 05/09/2002.

$ uname -a
NetBSD knc 1.5ZC NetBSD 1.5ZC (MYKERNEL) #0: Thu May  9 19:38:15 UTC 2002     
sncho@knc:/usr/src/sys/arch/i386/compile/MYKERNEL i386
$

Sung N. Cho

>
> Hi,
>
> Both kernels, one compiled with -O2 and the other with -O3 had same config
> file.  And, debugging wasn't enabled on both kernels.  The size of the
> kernel compiled with -O2 was 2.4M and one with -O3 was 1.8M.  I don't know
> why this kernel compiled with -O3 got smaller, unless it didn't compile it
> properly or something!  But, the new kernel works just fine, so I'm
> assuming it did compile correctly.  Has anyone experienced similar problem?
>
> Here's my config file:
>
> # "MYKERNEL"
> # Sung's custom kernel configuration file for laptop.
> #
>
> include "arch/i386/conf/std.i386"
>
> maxusers	32		# estimated number of users
>
> # CPU support.  At least one is REQUIRED.
> options 	I686_CPU
>
> # CPU-related options.
> options 	USER_LDT	# user-settable LDT; used by WINE
> options 	MTRR		# memory-type range register syscall support
> options 	DUMMY_NOPS
>
> # delay between "rebooting ..." message and hardware reset, in milliseconds
> options 	CPURESET_DELAY=2000
>
> # Misc. i386-specific options
> options 	XSERVER		# X server support in console drivers
>
> # Standard system options
> options 	UCONSOLE	# users can use TIOCCONS (for xconsole)
> options 	INSECURE	# disable kernel security levels
>
> 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 	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=1024	# 1024 pages is the default
>
> options 	LKM		# loadable kernel modules
>
> # Diagnostic/debugging support options
> options 	DDB		# in-kernel debugger
> options 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
>
> # Compatibility options
> options 	COMPAT_15	# NetBSD 1.5,
> options 	COMPAT_43	# and 4.3BSD
> options 	COMPAT_LINUX	# binary compatibility with Linux
>
> # File systems
> file-system 	FFS		# UFS
> file-system 	NFS		# Network File System client
> 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 options
> options 	QUOTA		# UFS quotas
> options 	SOFTDEP		# FFS soft updates support.
> options 	NFSSERVER	# Network File System server
>
> # Networking options
> options 	INET		# IP + ICMP + TCP + UDP
> options 	PFIL_HOOKS	# pfil(9) packet filter hooks
>
> #
> # wscons options
> #
> options 	WSEMUL_VT100		# VT100 / VT220 emulation
> options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
> options 	WSDISPLAY_COMPAT_USL		# VT handling
> options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
> options 	WSDISPLAY_DEFAULTSCREENS=10
>
> # Kernel root file system and dump configuration.
> config		netbsd	root on ? type ?
>
> #
> # Device configuration
> #
>
> mainbus0 at root
>
> apm0	at mainbus0			# Advanced power management
>
> # Basic Bus Support
>
> # PCI bus support
> pci*	at mainbus? bus ?
> pci*	at pchb? bus ?
> pci*	at ppb? bus ?
>
> # Configure PCI using BIOS information
> options 	PCIBIOS			# PCI BIOS support
> options 	PCIBIOS_BUS_FIXUP	# fixup PCI bus numbering
> options         PCIBIOS_INTR_FIXUP      # fixup PCI bus interrupt routing
>
> # PCI bridges
> pchb*	at pci? dev ? function ?	# PCI-Host bridges
> pcib*	at pci? dev ? function ?	# PCI-ISA bridges
> ppb*	at pci? dev ? function ?	# PCI-PCI bridges
>
> agp* 	at pchb?
>
> # ISA bus support
> isa*	at mainbus?
> isa0	at pcib?
>
> # CardBus bridge support
> cbb*		at pci? dev ? function ?
> cardslot*	at cbb?
>
> # CardBus bus support
> cardbus*	at cardslot?
> pcmcia* 	at cardslot?
>
> # 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
> vga*		at pci? dev ? function ?
> wsdisplay*	at vga? console ?
> wskbd* 		at pckbd? console ?
> wsmouse*	at pms? mux 0
>
> pcppi0		at isa?
> sysbeep0	at pcppi?
>
> # Parallel Printer Interfaces
>
> # ISA parallel printer interfaces
> lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
>
> # IDE and related devices
> pciide* at pci? dev ? function ? flags 0x0000
> wd*	at pciide? channel ? drive ? flags 0x0000
>
> # ATAPI bus support
> atapibus* at pciide? channel ?
> cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
>
> # Miscellaneous mass storage devices
>
> # ISA floppy
> fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
> fd*	at fdc? drive ?			# the drives themselves
>
> # Network Interfaces
>
> # PCMCIA network interfaces
> ne*	at pcmcia? function ?		# NE2000-compatible Ethernet
>
> # USB Controller and Devices
>
> # PCI USB controllers
> uhci*	at pci?	dev ? function ?	# Universal Host Controller (Intel)
>
> # USB bus support
> 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
>
> # Audio Devices
>
> # PCI audio devices
> esm*	at pci? dev ? function ?    # ESS Maestro-1/2/2e PCI Audio Accelerator
>
> # Audio support
> audio*	at esm?
>
> # The spkr driver provides a simple tone interface to the built in speaker.
> spkr0	at pcppi?		# PC speaker
>
> # Miscellaneous Devices
>
> # Pseudo-Devices
>
> # disk/mass storage pseudo-devices
> pseudo-device	md		1	# memory disk device (ramdisk)
> pseudo-device	vnd		4	# disk-like interface to files
>
> # network pseudo-devices
> pseudo-device	bpfilter	16	# Berkeley packet filter
> pseudo-device	loop			# network loopback
>
> # miscellaneous pseudo-devices
> pseudo-device	pty			# pseudo-terminals
> pseudo-device	sequencer	1	# MIDI sequencer
> pseudo-device	rnd			# /dev/random and in-kernel generator
>
> # wscons pseudo-devices
> pseudo-device	wsmux			# mouse & keyboard multiplexor
>
>
> Sung N. Cho