Subject: Re: Modem performance on 1.5_Alpha
To: David Forbes <david@flossy.u-net.com>
From: Mike Pumford <mpumford@trigati.home.net>
List: current-users
Date: 08/12/2000 12:54:29
> Since upgrading to 1.5_Alpha, my modem performance has become appalling.
> 

> Unfortunately, I was previously running 1.4 on this and have not been
> following -current on this machine, so I don't know at what point this
> began to be a problem.
> 
> Anyone got any ideas as to what has caused this or where I might start
> looking for a solution?
> 
I'd say you have a pretty specific problem. I have an Acorn RiscPC (also 
/arm32) which I use pppd running at 115200. The machine will report 
silo overflows but usually only 2 or 3 at a time. This is not enough to cause 
problems with TCP connections. I tried dropping the speed to 57600 a while 
back but the silo overflows were still just as frequent and it did slow 
my nntp transfers quite a lot. 

The modem I have is a 56k Pace external and I've been tracking current since 
1.3 came out. If anything 1.5_ALPHA is not as bad in this respect as the last 
current kernel (1.4R IIRC) I was using.

Mike
> Thanks,
> 
> David.
> 
> PS - My new kernel config is:
> 
> #	$NetBSD: CATS,v 1.35 2000/06/14 22:02:20 veego Exp $
> #
> #	CATS -- CHALTECH CATS Development kernel
> #
> 
> include	"arch/arm32/conf/std.arm32"
> 
> # estimated number of users
> 
> maxusers	32
> 
> # Standard system options
> 
> options 	UCONSOLE	# users can use TIOCCONS (for xconsole)
> options 	INSECURE	# disable kernel securelevel
> 
> options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
> #options 	NTP		# NTP phase/frequency locked loop
> 
> # CPU options
> 
> # For standard RiscPC's
> #options 	CPU_SA110	# Support the SA110 core
> #options 	CPU_ARM6	# Support the ARM6 core
> #options 	CPU_ARM7	# Support the ARM7 core
> #options 	CPU_ARM8	# Support the ARM8 core
> #options 	ARM6_LATE_ABORT	# ARM6XX late abort support
> 
> # For A7000, Stork and other ARM7500 machines
> #options 	CPU_ARM7	# Support the ARM7 core
> #options 	CPU_ARM7500	# We are actually an ARM7500
> 
> # For StrongARM systems
> options 	CPU_SA110	# Support the SA110 core
> 
> # Architecture options
> #options 	IOMD		# We have an IOMD
> #options 	RISCPC		# We are a RiscPC
> #options 	RC7500		# We are a RC7500
> options 	FOOTBRIDGE	# We have DC21285 'Footbridge' core logic
> options 	EBSA285		# We are an EBSA285
> 
> # FPA options
> 
> #options 	ARMFPE		# ARM Ltd FPE
> 
> # File systems
> 
> file-system	FFS		# UFS
> #file-system	LFS		# log-structured file system
> #file-system	MFS		# memory file system
> file-system	NFS		# Network file system
> #file-system 	ADOSFS		# AmigaDOS-compatible file system
> #file-system 	EXT2FS		# second extended file system (linux)
> file-system	CD9660		# ISO 9660 + Rock Ridge file system
> file-system	MSDOSFS		# MS-DOS file system
> #file-system	FDESC		# /dev/fd
> file-system	KERNFS		# /kern
> #file-system	NULLFS		# loopback file system
> #file-system 	OVERLAY		# overlay filesystem
> #file-system	PORTAL		# portal filesystem (still experimental)
> file-system	PROCFS		# /proc
> #file-system	UMAPFS		# NULLFS + uid and gid remapping
> #file-system	UNION		# union file system
> #file-system	CODA		# Coda File System; also needs vcode (below)
> 
> # File system options
> #options 	QUOTA		# UFS quotas
> #options 	FFS_EI		# FFS Endian Independant support
> options 	NFSSERVER
> #options 	SOFTDEP         # FFS soft updates support
> 
> # 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_DEBUG	# debug for IP security
> #options 	MROUTING	# IP multicast routing
> #options 	NS		# XNS
> #options 	NSIP		# XNS tunneling over IP
> #options 	ISO,TPIP	# OSI
> #options 	EON		# OSI tunneling over IP
> #options 	CCITT,LLC,HDLC	# X.25
> #options 	NETATALK	# AppleTalk networking
> options 	PFIL_HOOKS	# pfil(9) packet filter hooks
> 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 	NFS_BOOT_BOOTP
> #options 	NFS_BOOT_DHCP
> #options 	NFS_BOOT_BOOTPARAM
> 
> # Compatibility options
> 
> #options 	COMPAT_43	# 4.3BSD compatibility.
> options 	COMPAT_14	# NetBSD 1.4 compatibility.
> options 	COMPAT_13	# NetBSD 1.3 compatibility.
> #options 	COMPAT_12	# NetBSD 1.2 compatibility.
> #options 	COMPAT_11	# NetBSD 1.1 compatibility.
> #options 	COMPAT_10	# NetBSD 1.0 compatibility.
> #options 	COMPAT_09	# NetBSD 0.9 compatibility.
> #options 	TCP_COMPAT_42   # TCP bug compatibility with 4.2BSD
> 
> # Shared memory options
> 
> options 	SYSVMSG		# System V-like message queues
> options 	SYSVSEM		# System V-like semaphores
> options 	SYSVSHM		# System V-like memory sharing
> #options 	SHMMAXPGS=1024	# 1024 pages is the default
> 
> # Device options
> 
> #options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
> #options 	MEMORY_DISK_SIZE=0	# Size in blocks
> #options 	MINIROOTSIZE=3400	# Size in blocks
> #options 	MEMORY_DISK_IS_ROOT	# use memory disk as root
> 
> # Miscellaneous kernel options
> options 	KTRACE		# system call tracing, a la ktrace(1)
> options 	IRQSTATS	# manage IRQ statistics
> #options 	LKM		# loadable kernel modules
> #options 	KMEMSTATS	# kernel memory statistics
> #options 	SCSIVERBOSE	# Verbose SCSI errors
> options 	PCIVERBOSE	# Verbose PCI descriptions
> #options 	MIIVERBOSE	# verbose PHY autoconfig messages
> #options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
> #options 	USBVERBOSE	# verbose USB device autoconfig messages
> options 	DDB_KEYCODE=0x40
> options		PMAP_STATIC_L1S=128
> 
> # wscons options
> #options 	WSEMUL_SUN		# sun terminal emulation
> options 	WSEMUL_VT100		# VT100 / VT220 emulation
> # different kernel output - see dev/wscons/wsdisplayvar.h
> options 	WS_KERNEL_FG=WSCOL_MAGENTA
> 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
> # see dev/wscons/wskbdmap_mfii.h for implemented layouts
> #options 	PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
> options 	PCKBD_LAYOUT="KB_UK"
> 
> # Development and Debugging options
> 
> #options 	ARM700BUGTRACK	# track the ARM700 swi bug
> #options 	PORTMASTER	# Enable PortMaster only options
> #options 	DIAGNOSTIC	# internally consistency checks
> #options  	PMAP_DEBUG	# Enable pmap_debug_level code
> #options 	IPKDB		# remote kernel debugging
> options 	DDB		# in-kernel debugger
> options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
> #makeoptions	DEBUG="-g"	# compile full symbol table
> 
> config		netbsd	root on ? type ?
> 
> # The main bus device
> mainbus0 at root
> 
> # The boot cpu
> cpu0 at mainbus?
> 
> # Core logic
> footbridge0	at mainbus?
> 
> # footbridge uart
> fcom0	at footbridge?
> 
> # system clock via footbridge
> #clock*	at footbridge?
> 
> # time-of-day device via footbridge or RTC
> todclock0	at todservice?
> 
> # PCI bus support
> # PCI bus via footbridge
> pci0	at footbridge?			# PCI bus
> 
> #pci*	at ppb? bus ?
> 
> # PCI bridges
> #ppb*	at pci? dev ? function ?	# PCI-PCI bridges
> # XXX 'puc's aren't really bridges, but there's no better place for them here
> #puc*	at pci? dev ? function ?	# PCI "universal" comm. cards
> 
> # PCI serial interfaces
> #com*	at puc? port ?			# 16x50s on "universal" comm boards
> #cy*	at pci? dev ? function ?	# Cyclades Cyclom-Y serial boards
> 
> # PCI parallel printer interfaces
> #lpt*	at puc? port ?			# || ports on "universal" comm boards
> 
> # PCI SCSI Controllers and Buses
> #adv*	at pci? dev ? function ?	# AdvanSys 1200[A,B], ULTRA SCSI
> #scsibus* at adv?
> #adw*	at pci? dev ? function ?	# AdvanSys 9xxUW SCSI
> #scsibus* at adw?
> #ahc*	at pci? dev ? function ?	# Adaptec [23]94x, aic78x0 SCSI controllers
> #scsibus* at ahc?
> #bha*	at pci? dev ? function ?	# BusLogic 9xx SCSI
> #scsibus* at bha?
> #isp*	at pci? dev ? function ?	# Qlogic ISP 10x0 SCSI controllers
> #scsibus* at isp?
> #pcscp*	at pci? dev ? function ?	# AMD 53c974 PCscsi-PCI SCSI
> #scsibus* at pcscp?
> #siop*	at pci? dev ? function ?	# NCR 53c8xx SCSI
> #scsibus* at siop?
> 
> # 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
> #ch*	at scsibus? target ? lun ?	# SCSI auto-changers
> #uk*	at scsibus? target ? lun ?	# SCSI unknown device
> #ss*	at scsibus? target ? lun ?	# SCSI scanner
> 
> # PCI IDE Controllers and Devices
> # PCI IDE controllers - see pciide(4) for supported hardware.
> # The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
> # how to set up DMA modes for this chip. This may work, or may cause
> # a machine hang with some controllers.
> pciide* at pci? dev ? function ? flags 0x0000
> 
> # IDE drives
> # Flags are used only with controllers that support DMA operations
> # and mode settings (e.g. some pciide controllers)
> # The lowest order four bits (rightmost digit) of the flags define the PIO
> # mode to use, the next set of four bits the DMA mode and the third set the
> # UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
> # to use, and the last bit must be 1 for this setting to be used.
> # For DMA and UDMA, 0xf (1111) means 'disable'.
> # 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
> # (0xc=1100, 0xa=1010, 0xf=1111)
> # 0x0000 means "use whatever the drive claims to support".
> wd*	at pciide? channel ? drive ? flags 0x0000	# the drives themselves
> 
> # ATAPI bus support
> atapibus* at pciide? channel ?
> 
> # ATAPI devices
> cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
> sd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
> uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown
> 
> # PCI network interfaces
> de*	at pci? dev ? function ?	# DC21X4X-based ethernet cards
> #en*	at pci? dev ? function ?	# ENI/Adaptec ATM
> #ep*	at pci? dev ? function ?	# 3C590 ethernet cards
> #ex*	at pci? dev ? function ?	# 3Com 90x[B]
> #epic*	at pci? dev ? function ?	# SMC EPIC/100 Ethernet
> #esh*	at pci? dev ? function ?	# Essential HIPPI card
> #fpa*	at pci? dev ? function ?	# DEC DEFPA FDDI
> #fxp*	at pci? dev ? function ?	# Intel EtherExpress PRO 10+/100B
> #le*	at pci? dev ? function ?	# PCnet-PCI Ethernet
> #ne*	at pci? dev ? function ?	# NE2000 compat ethernet
> #ntwoc*	at pci? dev ? function ?	# Riscom/N2 PCI Sync Serial
> #sip*	at pci? dev ? function ?	# SiS 900 Ethernet
> #tl*	at pci? dev ? function ?	# ThunderLAN-based Ethernet
> #tlp*	at pci? dev ? function ?	# DECchip 21x4x (and clones) Ethernet
> #options 	TLP_MATCH_21040
> #options 	TLP_MATCH_21041
> #options 	TLP_MATCH_21140
> #options 	TLP_MATCH_21142
> #vr*	at pci? dev ? function ?	# VIA Rhine Fast Ethernet
> #lmc*	at pci? dev ? function ?	# Lan Media Corp SSI/HSSI/DS3
> #rtk*	at pci? dev ? function ?	# Realtek 8129/8139
> 
> # MII/PHY support
> #exphy*	at mii? phy ?			# 3Com internal PHYs
> #icsphy* at mii? phy ?			# Integrated Circuit Systems ICS1890
> #inphy*	at mii? phy ?			# Intel 82555 PHYs
> #iophy*	at mii? phy ?			# Intel 82553 PHYs
> #lxtphy*	at mii? phy ?			# Level One LXT-970 PHYs
> #nsphy*	at mii? phy ?			# NS83840 PHYs
> #nsphyter* at mii? phy ?		# NS83843 PHYs
> #qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
> #sqphy*	at mii? phy ?			# Seeq 80220/80221/80223 PHYs
> #tlphy*	at mii? phy ?			# ThunderLAN PHYs
> #tqphy*	at mii? phy ?			# TDK Semiconductor PHYs
> #ukphy*	at mii? phy ?			# generic unknown PHYs
> 
> # USB Controller and Devices
> 
> # PCI USB controllers
> #uhci*	at pci?				# Universal Host Controller (Intel)
> #ohci*	at pci?				# Open Host Controller
> 
> # USB bus support
> #usb*	at uhci?
> #usb*	at ohci?
> 
> # USB Hubs
> #uhub*	at usb?
> #uhub*	at uhub? port ? configuration ? interface ?
> 
> # USB Mice
> #ums*	at uhub? port ? configuration ? interface ?
> #wsmouse*	at ums?
> 
> # USB Keyboards
> #ukbd*	at uhub? port ? configuration ? interface ?
> #wskbd*	at ukbd? console ?
> 
> # USB Generic HID devices
> #uhid*	at uhub? port ? configuration ? interface ?
> 
> # 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 ?
> #atapibus* at umass? channel ?
> #scsibus* at umass? channel ?
> 
> # USB audio
> #uaudio*	at uhub? port ? configuration ?
> #audio*	at uaudio?
> 
> # USB Ethernet adapters
> #aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
> #cue*	at uhub? port ?		# CATC USB-EL1201A based adapters
> #kue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters
> 
> # USB Generic driver
> #ugen* at uhub? port ?
> 
> # Audio Devices
> 
> # PCI audio devices
> #eap*	at pci? dev ? function ?	# Ensoniq AudioPCI
> #sv*	at pci? dev ? function ?	# S3 SonicVibes
> 
> # Audio support
> #audio*	at eap?
> #audio*	at sv?
> 
> vga*		at pci?
> wsdisplay*	at vga? console ?
> 
> # ISA bus bridging
> 
> pcib*	at pci? dev ? function ?	# PCI-ISA bridge
> isa*	at pcib?			# ISA bus
> 
> # ISA Plug-and-Play bus support
> isapnp0	at isa?
> 
> # wscons
> pckbc0	at isa?			# pc keyboard controller
> pckbd*	at pckbc?		# PC keyboard
> pms*		at pckbc?		# PS/2 mouse for wsmouse
> pmsi*		at pckbc?	# PS/2 "Intelli"mouse for wsmouse
> wskbd*		at pckbd? console ?
> wsmouse*	at pms?
> wsmouse*	at pmsi?
> 
> pcppi0	at isa?
> sysbeep0	at pcppi?
> 
> # ISA Plug-and-Play serial interfaces
> #com*	at isapnp?			# Modems and serial boards
> 
> # ISA serial interfaces
> com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
> com1	at isa? port 0x2f8 irq 3
> #com2	at isa? port 0x3e8 irq 9
> #com3	at isa? port 0x2e8 irq 10
> 
> # ISA parallel printer interfaces
> lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
> #lpt1	at isa? port 0x278 irq 5
> #lpt2	at isa? port 0x3bc
> 
> # ISA floppy
> #fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
> #fdc1	at isa? port 0x370 irq ? drq ?
> #fd*	at fdc? drive ?			# the drives themselves
> 
> # ISA network interface
> #ne0	at isa? port 0x280 irq 9
> #ne1	at isa? port 0x300 irq 10
> 
> # The spkr driver provides a simple tone interface to the built in speaker.
> spkr0	at pcppi?			# PC speaker
> 
> dsrtc0	at isa? port 0x72		# Dallas RTC
> 
> # ISA Plug-and-Play audio devices
> #ess*	at isapnp?			# ESS Tech ES1887, ES1888, ES888 audio
> #sb*	at isapnp?			# SoundBlaster-compatible audio
> #wss*	at isapnp?			# Windows Sound System
> 
> # OPL[23] FM syntheziers
> #opl*	at ess?
> #opl*	at sb?
> 
> # Audio support
> #audio*	at ess?
> #audio*	at sb?
> #audio*	at wss?
> 
> # MPU 401 UARTs
> #mpu*	at sb?
> 
> # MIDI support
> #midi*	at pcppi?		# MIDI interface to the PC speaker
> #midi*	at sb?			# SB MPU401 port
> #midi*	at opl?			# OPL FM synth
> #midi*	at mpu?			# MPU 401
> 
> # Joysticks
> 
> # ISA Plug-and-Play joysticks
> #joy*	at isapnp?			# Game ports (usually on audio cards)
> 
> # ISA joysticks. Probe is a little strange; add only if you have one.
> #joy0	at isa? port 0x201
> 
> # Pseudo-Devices
> 
> # disk/mass storage pseudo-devices
> #pseudo-device	ccd		2	# concatenated/striped disk devices
> #pseudo-device	md		1	# memory disk device (ramdisk)
> pseudo-device	vnd		4	# disk-like interface to files
> 
> # network pseudo-devices
> pseudo-device	bpfilter	4	# Berkeley packet filter
> pseudo-device	ipfilter		# IP filter (firewall) and NAT
> pseudo-device	loop			# network loopback
> pseudo-device	ppp		2	# Point-to-Point Protocol
> #pseudo-device	sl		2	# Serial Line IP
> #pseudo-device	strip		2	# Starmode Radio IP (Metricom)
> pseudo-device	tun		2	# network tunneling over tty
> 
> # miscellaneous pseudo-devices
> pseudo-device	pty		64	# pseudo-terminals
> #pseudo-device	tb		1	# tablet line discipline
> #pseudo-device	sequencer	1	# MIDI sequencer
> pseudo-device	rnd			# /dev/random and in-kernel generator
> #options 	RND_COM			# use "com" randomness as well (BROKEN)
> #pseudo-device	vcoda		4	# coda minicache <-> venus comm.
> 
> # mouse & keyboard multiplexor pseudo-devices
> pseudo-device	wsmux		2
> 
> # for IPv6
> #pseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
> #pseudo-device	faith		1	# IPv[46] tcp relay translation i/f
>