Re: TCP buffer problem with 2.1.11 (fwd)

Michael L. Galbraith (mikeg@mikeg.weiden.de)
Fri, 22 Nov 1996 07:37:29 +0100 (MET)


Alan, I tried to send this to you directly, didn't work - I get this when
doing an nslookup of lxorguk.ukuu.org.uk...

mikeg:# nslookup lxorguk.ukuu.org.uk bbn.com
Server: BBN.COM
Address: 128.89.0.122

*** No address (A) records available for lxorguk.ukuu.org.uk
so I had to send it to vger to get it to you... sorry.

---------- Forwarded message ----------
Date: Fri, 22 Nov 1996 07:28:22 +0100 (MET)
From: "Michael L. Galbraith" <mikeg@mikeg.weiden.de>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: TCP buffer problem with 2.1.11

On Thu, 21 Nov 1996, Alan Cox wrote:

> Yes a repeat request for tcpdump traces
>

Hi, settle for kprofile of tcpspray?

I profiled 'tcpspray -n 10240 localhost' for 2.0.25 and 2.1.10.
Also profiled tcpspray from my desktop running 2.0.25 and 2.1.10 to
my laptop which is still running 1.3.94.

The results can be seen below.

Configurations identical as far as possible; libc 5.4.13, and ld.so-1.8.5,
all compiled with pgcc-ss-961118 - the only variable is the kernel version.

The results are the same even if _everything_ is compiled with gcc-2.7.2.1;
did that first - same results.

Hints, tips, tricks for troubleshooting this?

Mike

***************************** 2.0.25 --> localhost ****************************
#!/bin/sh
rm /usr/src/linux
ln -s /usr/src/v2.0/linux /usr/src/linux
ln -fs /boot/System.bak /System.map
echo > /proc/profile
sync
sleep 10
strace -f -e trace=network tcpspray -n 10240 localhost > strace-2.0 2>&1
sync
sleep 10
kprofile-2.0 > profile.2.0.25 2>&1

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sin_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
connect(3, {sin_family=AF_INET, sin_port=htons(9), sin_addr=inet_addr("127.0.0.1")}, 16) = 0

Transmitted 10485760 bytes in 3.746042 seconds (2733.552 kbytes/s)
^^^^^^^^ starts around 5.5M
goes down after
two or three runs;
this is worst case

1 0.28% 00110824 wake_up_interruptible
1 0.28% 00110ae0 del_timer
1 0.28% 00114c24 send_sig
1 0.28% 001159f0 sys_sigprocmask
1 0.28% 00117dc4 copy_page_range
1 0.28% 00118e88 do_no_page
1 0.28% 0011b680 filemap_nopage
1 0.28% 0011e8f4 _get_free_pages
1 0.28% 00122698 get_empty_filp
1 0.28% 001228e8 sync_buffers
1 0.28% 0012343c getblk
1 0.28% 0012dbd4 padzero
1 0.28% 00136af4 sock_write
1 0.28% 00136cb4 sock_wake_async
1 0.28% 001385f4 sock_wmalloc
1 0.28% 00138874 _release_sock
1 0.28% 00138a40 alloc_skb
1 0.28% 00138e90 skb_device_locked
1 0.28% 00139874 netif_rx
1 0.28% 00140378 ip_rcv
1 0.28% 001429f0 ip_send_room
1 0.28% 001471d8 tcp_ack
1 0.28% 00148948 tcp_new_window
1 0.28% 00151c58 ipfw_output_check
1 0.28% 0016db54 read_profile
1 0.28% 0016dc48 write_profile
1 0.28% 0017dd94 unplug_device
1 0.28% 001a0d2c loopback_xmit
2 0.57% 0010e898 syscall_trace
2 0.57% 001381fc call_out_firewall
2 0.57% 00138e1c dev_kfree_skb
2 0.57% 00138f88 memcpy_toiovec
2 0.57% 00139850 dev_queue_xmit
2 0.57% 00139910 dev_transmit
2 0.57% 00139aa8 dev_tint
2 0.57% 0014501c tcp_send_check
2 0.57% 0014584c tcp_sendmsg
2 0.57% 001489d8 tcp_send_skb
2 0.57% 00148c44 tcp_dequeue_partial
3 0.85% 00120f88 sys_write
3 0.85% 00138bbc skb_clone
3 0.85% 00138db8 skb_device_lock
3 0.85% 00142b20 ip_build_header
3 0.85% 001480b4 tcp_rcv
4 1.14% 00139664 do_dev_queue_xmit
5 1.43% 00118970 do_wp_page
5 1.43% 0011cec0 kmalloc
5 1.43% 001d0298 csum_partial_copy_fromuser
7 2.00% 0010a990 ret_from_sys_call
10 2.86% 00142e30 ip_queue_xmit
11 3.15% 0013ba48 eth_header
12 3.43% 0010a910 system_call
13 3.72% 0011568c sys_wait4
13 3.72% 00118b9c verify_area
14 4.01% 00150b60 ip_fw_chk
19 5.44% 001104c4 schedule
27 7.73% 001d01fc csum_partial
38 10.88% 001451bc do_tcp_sendmsg
101 28.93% 0010e280 sys_ptrace
349 100.00% 00000000 total

***************************** 2.0.25 --> laptop ***************************************
#!/bin/sh
rm /usr/src/linux
ln -s /usr/src/v2.0/linux /usr/src/linux
ln -fs /boot/System.bak /System.map
echo > /proc/profile
sync
sleep 10
strace -f -e trace=network tcpspray -n 10240 laptop > strace-2.0.laptop 2>&1
sync
sleep 10
kprofile-2.0 > profile.2.0.25.laptop 2>&1

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sin_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
connect(3, {sin_family=AF_INET, sin_port=htons(9), sin_addr=inet_addr("199.56.131.139")}, 16) = 0

Transmitted 10485760 bytes in 13.351898 seconds (766.932 kbytes/s)
^^^^^^^
very consistent

1 0.16% 0010cb70 do_IRQ
1 0.16% 0010e898 syscall_trace
1 0.16% 00114d6c notify_parent
1 0.16% 0011667c do_bottom_half
1 0.16% 0011e7e8 free_pages
1 0.16% 00122c40 get_hash_table
1 0.16% 00136af4 sock_write
1 0.16% 001385f4 sock_wmalloc
1 0.16% 00139910 dev_transmit
1 0.16% 00139aa8 dev_tint
1 0.16% 0014584c tcp_sendmsg
1 0.16% 00148948 tcp_new_window
1 0.16% 0014e580 ip_chk_addr
1 0.16% 0014ecdc inet_autobind
1 0.16% 0014f8c0 inet_sendmsg
1 0.16% 001a4778 ei_start_xmit
1 0.16% 001a4cbc ei_tx_intr
1 0.16% 001a4e68 ei_receive
2 0.32% 001103e0 wake_up_process
2 0.32% 00114c24 send_sig
2 0.32% 00118970 do_wp_page
2 0.32% 00118e88 do_no_page
2 0.32% 0011e8f4 _get_free_pages
2 0.32% 0013ba48 eth_header
2 0.32% 001429f0 ip_send_room
2 0.32% 00148c44 tcp_dequeue_partial
2 0.32% 00148c9c tcp_enqueue_partial
2 0.32% 0016dc48 write_profile
3 0.48% 00110824 wake_up_interruptible
3 0.48% 001159f0 sys_sigprocmask
3 0.48% 00128a58 copy_strings
3 0.48% 00138874 _release_sock
3 0.48% 001489d8 tcp_send_skb
4 0.64% 0011cec0 kmalloc
4 0.64% 00120f88 sys_write
4 0.64% 00138a40 alloc_skb
5 0.80% 001228e8 sync_buffers
5 0.80% 00142b20 ip_build_header
5 0.80% 001a4a60 ei_interrupt
5 0.80% 001a54ec NS8390_trigger_send
8 1.28% 0010a990 ret_from_sys_call
8 1.28% 0011568c sys_wait4
14 2.24% 0010a910 system_call
14 2.24% 001d0298 csum_partial_copy_fromuser
16 2.56% 001d01fc csum_partial
17 2.72% 00118b9c verify_area
23 3.69% 001104c4 schedule
31 4.97% 001451bc do_tcp_sendmsg
65 10.43% 0010e280 sys_ptrace
342 54.89% 001a18ec ne_block_output
623 100.00% 00000000 total

******************************** 2.1.10 --> localhost ***********************
#!/bin/sh
rm /usr/src/linux
ln -s /usr/src/v2.1/linux /usr/src/linux
ln -fs /boot/System.map /System.map
echo > /proc/profile
sync
sleep 10
strace -f -e trace=network tcpspray -n 10240 localhost > strace-2.1 2>&1
sync
sleep 10
kprofile-2.1 > profile.2.1.10 2>&1

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sin_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
connect(3, {sin_family=AF_INET, sin_port=htons(9), sin_addr=inet_addr("127.0.0.1")}, 16) = 0

Transmitted 10485760 bytes in 102.381573 seconds (100.018 kbytes/s)
^^^^^^^ gak!
also very consistent
1 7.14% c010e570 sys_ptrace
1 7.14% c0119564 copy_page_range
1 7.14% c011bb30 remove_shared_vm_struct
1 7.14% c011c5f4 try_to_read_ahead
1 7.14% c011d834 mprotect_fixup
1 7.14% c0122f6c iput
1 7.14% c0124080 get_hash_table
1 7.14% c012a014 open_inode
1 7.14% c0172718 read_profile
1 7.14% c0172818 write_profile
2 14.28% c010ac70 error_code
2 14.28% c0182b30 unplug_device
14 100.00% 00000000 total

******************************** 2.1.10 --> laptop ***************************
#!/bin/sh
rm /usr/src/linux
ln -s /usr/src/v2.1/linux /usr/src/linux
ln -fs /boot/System.map /System.map
echo > /proc/profile
sync
sleep 10
strace -f -e trace=network tcpspray -n 10240 laptop > strace-2.1.laptop 2>&1
sync
sleep 10
kprofile-2.1 > profile.2.1.10.laptop 2>&1

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sin_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
connect(3, {sin_family=AF_INET, sin_port=htons(9), sin_addr=inet_addr("199.56.131.139")}, 16) = 0

Transmitted 10485760 bytes in 18.714208 seconds (547.178 kbytes/s)
^^^^^^^
much slower - yuk!
also very consistent

1 0.15% c010c690 IRQ12_interrupt
1 0.15% c010cc10 do_IRQ
1 0.15% c0110dbc wake_up_process
1 0.15% c0111120 wake_up
1 0.15% c0111204 wake_up_interruptible
1 0.15% c011257c do_fork
1 0.15% c0117920 do_bottom_half
1 0.15% c011a508 do_no_page
1 0.15% c011ab10 do_mmap
1 0.15% c011cdc8 filemap_nopage
1 0.15% c011e648 kmalloc
1 0.15% c0122404 sys_read
1 0.15% c01224cc sys_write
1 0.15% c0138b38 sock_write
1 0.15% c013ad5c kfree_skb
1 0.15% c013afdc skb_clone
1 0.15% c013be90 do_dev_queue_xmit
1 0.15% c015270c def_callback3
1 0.15% c0153168 inet_sendmsg
1 0.15% c0172718 read_profile
1 0.15% c0172818 write_profile
1 0.15% c019e770 SHATransform
2 0.30% c0115c78 send_sig
2 0.30% c0116a88 sys_sigprocmask
2 0.30% c011a180 do_wp_page
2 0.30% c011fde8 _get_free_pages
2 0.30% c013aa08 sock_wmalloc
2 0.30% c013aab0 sock_rspace
2 0.30% c013ac90 _release_sock
2 0.30% c013c2b0 dev_tint
2 0.30% c013e328 eth_header
2 0.30% c01451c0 ip_send_room
2 0.30% c0148b18 tcp_select_window
2 0.30% c014a7f0 tcp_send_skb
2 0.30% c014ca20 tcp_v4_sendmsg
2 0.30% c014dca4 tcp_v4_build_header
3 0.46% c010e4f0 getreg
3 0.46% c010eb68 syscall_trace
3 0.46% c013ae48 alloc_skb
4 0.61% c010ab80 ret_from_sys_call
4 0.61% c01452e0 ip_build_header
5 0.76% c0115dc0 notify_parent
5 0.76% c01ab0bc ei_start_xmit
6 0.92% c01ab5fc ei_tx_intr
10 1.53% c010ab40 system_call
10 1.53% c0147910 tcp_do_sendmsg
12 1.84% c01166e0 sys_wait4
14 2.14% c01abe2c NS8390_trigger_send
19 2.91% c0110ea0 schedule
19 2.91% c01ab3a0 ei_interrupt
31 4.75% c01d895c csum_partial_copy
92 14.11% c010e570 sys_ptrace
362 55.52% c01a81a4 ne_block_output
652 100.00% 00000000 total

************************* /usr/src/v2.0/linux/.config *******************
#
# Automatically generated by make menuconfig: don't edit
#

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KERNELD=y

#
# General setup
#
# CONFIG_MATH_EMULATION is not set
CONFIG_NET=y
# CONFIG_MAX_16M is not set
CONFIG_PCI=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_SYSVIPC=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_JAVA=y
CONFIG_KERNEL_ELF=y
CONFIG_M586=y

#
# Floppy, IDE, and other block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_IDE is not set
# CONFIG_BLK_DEV_HD_ONLY is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_DEV_HD is not set

#
# Networking options
#
CONFIG_FIREWALL=y
CONFIG_NET_ALIAS=y
CONFIG_INET=y
CONFIG_IP_FORWARD=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_VERBOSE=y
CONFIG_IP_MASQUERADE=y
CONFIG_IP_TRANSPARENT_PROXY=y
CONFIG_IP_ALWAYS_DEFRAG=y
CONFIG_IP_ACCT=y
# CONFIG_IP_ROUTER is not set
CONFIG_NET_IPIP=m
CONFIG_IP_MROUTE=y
CONFIG_IP_ALIAS=m
CONFIG_ARPD=y
# CONFIG_INET_PCTCP is not set
CONFIG_INET_RARP=y
# CONFIG_NO_PATH_MTU_DISCOVERY is not set
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_AX25 is not set
CONFIG_BRIDGE=y
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y

#
# SCSI support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set

#
# SCSI low-level drivers
#
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
CONFIG_SCSI_AIC7XXX=y
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_EQUALIZER=y
# CONFIG_DLCI is not set
CONFIG_PLIP=y
CONFIG_PPP=y
CONFIG_SLIP=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
# CONFIG_NET_RADIO is not set
CONFIG_NET_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
CONFIG_NET_ISA=y
# CONFIG_AT1700 is not set
# CONFIG_E2100 is not set
# CONFIG_DEPCA is not set
# CONFIG_EWRK3 is not set
# CONFIG_EEXPRESS is not set
# CONFIG_EEXPRESS_PRO is not set
# CONFIG_FMV18X is not set
# CONFIG_HPLAN_PLUS is not set
# CONFIG_HPLAN is not set
# CONFIG_HP100 is not set
# CONFIG_ETH16I is not set
CONFIG_NE2000=y
# CONFIG_NI52 is not set
# CONFIG_NI65 is not set
# CONFIG_SEEQ8005 is not set
# CONFIG_SK_G16 is not set
# CONFIG_NET_EISA is not set
# CONFIG_NET_POCKET is not set
# CONFIG_TR is not set
# CONFIG_FDDI is not set
# CONFIG_ARCNET is not set

#
# ISDN subsystem
#
CONFIG_ISDN=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_ISDN_AUDIO=y
# CONFIG_ISDN_DRV_ICN is not set
# CONFIG_ISDN_DRV_PCBIT is not set
CONFIG_ISDN_DRV_TELES=m

#
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Filesystems
#
CONFIG_QUOTA=y
CONFIG_LOCK_MANDATORY=y
CONFIG_MINIX_FS=y
# CONFIG_EXT_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_XIA_FS is not set
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_UMSDOS_FS=y
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
CONFIG_ROOT_NFS=y
CONFIG_RNFS_BOOTP=y
CONFIG_RNFS_RARP=y
# CONFIG_SMB_FS is not set
CONFIG_ISO9660_FS=y
# CONFIG_HPFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_UFS_FS is not set

#
# Character devices
#
CONFIG_SERIAL=y
# CONFIG_DIGI is not set
# CONFIG_CYCLADES is not set
# CONFIG_STALDRV is not set
# CONFIG_RISCOM8 is not set
CONFIG_PRINTER=y
# CONFIG_MOUSE is not set
# CONFIG_UMISC is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_FTAPE is not set
# CONFIG_APM is not set
# CONFIG_WATCHDOG is not set
CONFIG_RTC=y

#
# Sound
#
CONFIG_SOUND=y
# CONFIG_PAS is not set
CONFIG_SB=y
# CONFIG_ADLIB is not set
# CONFIG_GUS is not set
# CONFIG_MPU401 is not set
# CONFIG_UART6850 is not set
# CONFIG_PSS is not set
# CONFIG_GUS16 is not set
# CONFIG_GUSMAX is not set
# CONFIG_MSS is not set
# CONFIG_SSCAPE is not set
# CONFIG_TRIX is not set
# CONFIG_MAD16 is not set
# CONFIG_CS4232 is not set
# CONFIG_MAUI is not set
CONFIG_AUDIO=y
CONFIG_MIDI=y
CONFIG_YM3812=y
SBC_BASE=220
SBC_IRQ=5
SBC_DMA=1
SB_DMA2=7
SB_MPU_BASE=300
SB_MPU_IRQ=-1
DSP_BUFFSIZE=65536
# CONFIG_LOWLEVEL_SOUND is not set

#
# Kernel hacking
#
CONFIG_PROFILE=y
CONFIG_PROFILE_SHIFT=2

************************* /usr/src/v2.1/linux/.config *************************
#
# Automatically generated by make menuconfig: don't edit
#

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KERNELD=y

#
# General setup
#
# CONFIG_MATH_EMULATION is not set
CONFIG_NET=y
# CONFIG_MAX_16M is not set
CONFIG_PCI=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_SYSVIPC=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_JAVA=y
CONFIG_M586=y
CONFIG_VIDEO_SELECT=y

#
# Floppy, IDE, and other block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_IDE is not set
# CONFIG_BLK_DEV_HD_ONLY is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_DEV_HD is not set

#
# Networking options
#
CONFIG_FIREWALL=y
CONFIG_NET_ALIAS=y
CONFIG_INET=y
CONFIG_IP_FORWARD=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_VERBOSE=y
CONFIG_IP_MASQUERADE=y
CONFIG_IP_TRANSPARENT_PROXY=y
CONFIG_IP_ALWAYS_DEFRAG=y
CONFIG_IP_ACCT=y
# CONFIG_IP_ROUTER is not set
CONFIG_NET_IPIP=m
CONFIG_IP_MROUTE=y
CONFIG_IP_ALIAS=m
CONFIG_ARPD=y
# CONFIG_INET_PCTCP is not set
CONFIG_INET_RARP=y
# CONFIG_NO_PATH_MTU_DISCOVERY is not set
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
# CONFIG_IPV6 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_AX25 is not set
CONFIG_BRIDGE=y
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y

#
# SCSI support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set

#
# SCSI low-level drivers
#
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
CONFIG_SCSI_AIC7XXX=y
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_EQUALIZER=y
# CONFIG_DLCI is not set
CONFIG_PLIP=y
CONFIG_PPP=y
CONFIG_SLIP=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
# CONFIG_NET_RADIO is not set
CONFIG_NET_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
CONFIG_NET_ISA=y
# CONFIG_AT1700 is not set
# CONFIG_E2100 is not set
# CONFIG_DEPCA is not set
# CONFIG_EWRK3 is not set
# CONFIG_EEXPRESS is not set
# CONFIG_EEXPRESS_PRO is not set
# CONFIG_FMV18X is not set
# CONFIG_HPLAN_PLUS is not set
# CONFIG_HPLAN is not set
# CONFIG_HP100 is not set
# CONFIG_ETH16I is not set
CONFIG_NE2000=y
# CONFIG_NI52 is not set
# CONFIG_NI65 is not set
# CONFIG_SEEQ8005 is not set
# CONFIG_SK_G16 is not set
# CONFIG_NET_EISA is not set
# CONFIG_NET_POCKET is not set
# CONFIG_TR is not set
# CONFIG_ARCNET is not set

#
# ISDN subsystem
#
CONFIG_ISDN=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_ISDN_AUDIO=y
# CONFIG_ISDN_DRV_ICN is not set
# CONFIG_ISDN_DRV_PCBIT is not set
CONFIG_ISDN_DRV_TELES=m

#
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Filesystems
#
CONFIG_QUOTA=y
CONFIG_MINIX_FS=y
# CONFIG_EXT_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_XIA_FS is not set
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_UMSDOS_FS=y
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
CONFIG_ROOT_NFS=y
CONFIG_RNFS_BOOTP=y
CONFIG_RNFS_RARP=y
# CONFIG_SMB_FS is not set
CONFIG_ISO9660_FS=y
# CONFIG_HPFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_UFS_FS is not set

#
# Character devices
#
CONFIG_SERIAL=y
# CONFIG_DIGI is not set
# CONFIG_CYCLADES is not set
# CONFIG_STALDRV is not set
# CONFIG_RISCOM8 is not set
CONFIG_PRINTER=y
# CONFIG_MOUSE is not set
# CONFIG_UMISC is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_FTAPE is not set
# CONFIG_APM is not set
# CONFIG_WATCHDOG is not set
CONFIG_RTC=y

#
# Sound
#
CONFIG_SOUND=y
# CONFIG_PAS is not set
CONFIG_SB=y
# CONFIG_ADLIB is not set
# CONFIG_GUS is not set
# CONFIG_MPU401 is not set
# CONFIG_UART6850 is not set
# CONFIG_PSS is not set
# CONFIG_GUS16 is not set
# CONFIG_GUSMAX is not set
# CONFIG_MSS is not set
# CONFIG_SSCAPE is not set
# CONFIG_TRIX is not set
# CONFIG_MAD16 is not set
# CONFIG_CS4232 is not set
# CONFIG_MAUI is not set
CONFIG_YM3812=y
SBC_BASE=220
SBC_IRQ=5
SBC_DMA=1
SB_DMA2=7
SB_MPU_BASE=300
SB_MPU_IRQ=-1
# CONFIG_LOWLEVEL_SOUND is not set

#
# Kernel hacking
#
CONFIG_PROFILE=y
CONFIG_PROFILE_SHIFT=2

******************************** IPV6 Woes *********************************

Adding ipv6 to the above configuration results in MegaOops after boot.
If I put this into 2.1..11, it dies before syslogd gets started.
I tried to stop scrolling prior to death - no such luck.

Unable to handle kernel paging request at virtual address 08049db0
current->tss.cr3 = 04d5e000, |r3 = 04d5e000
*pde = 00fba067
*pte = 04ef6025
Oops: 0003
CPU: 0
EIP: 0010:[<c013c542>]
EFLAGS: 00010002
eax: 08049db0 ebx: 00000001 ecx: c4d3067c edx: c0016800
esi: c4d3067c edi: c00168b0 ebp: c0016818 esp: c4eadeb8
ds: 0018 es: 0018 ss: 0018
Process rc.M (pid: 37, process nr: 8, stackpage=c4ead000)
Stack: c0017810 c0016818 c4d30634 4ab6d049 00000000 00000246 c013c5d2 c4d3067c
c0016818 00000001 c015a351 c4d3067c c0016818 00000001 c0016818 c0017810
c015fc90 c0017810 c0016818 c4d3067c 00000001 c0016f18 c4eadf84 c4eadf74
Call Trace: [<c013c5d2>] [<c015a351>] [<c015fc90>] [<c0119e82>] [<c015c7a8>] [<c015c728>] [<c01117f8>]
[<c01175f7>] [<c010a80b>]
Code: 89 30 8b 17 31 c0 39 fa 74 20 89 d0 8b 10 ff 4f 08 89 7a 04

Using `System.map' to map addresses to symbols.

>>EIP: c013c542 <do_dev_queue_xmit+172/1e8>
Trace: c013c5d2 <dev_queue_xmit+1a/24>
Trace: c015a351 <ipv6_queue_xmit+6d/98>
Trace: c015fc90 <ndisc_send_ns+2b8/2c4>
Trace: c0119e82 <do_wp_page+12/244>
Trace: c015c7a8 <addrconf_dad_timer+80/b0>
Trace: c015c7a8 <addrconf_dad_timer+80/b0>
Trace: c01117f8 <timer_bh+13c/15c>
Trace: c01175f7 <do_bottom_half+3b/5c>
Trace: c010a80b <handle_bottom_half+b/20>

Code: c013c542 <do_dev_queue_xmit+172/1e8> movl %esi,(%eax)
Code: c013c544 <do_dev_queue_xmit+174/1e8> movl (%edi),%edx
Code: c013c546 <do_dev_queue_xmit+176/1e8> xorl %eax,%eax
Code: c013c548 <do_dev_queue_xmit+178/1e8> cmpl %edi,%edx
Code: c013c54a <do_dev_queue_xmit+17a/1e8> je c013c56c <do_dev_queue_xmit+19c/1e8>
Code: c013c54c <do_dev_queue_xmit+17c/1e8> movl %edx,%eax
Code: c013c54e <do_dev_queue_xmit+17e/1e8> movl (%eax),%edx
Code: c013c550 <do_dev_queue_xmit+180/1e8> decl 0x8(%edi)
Code: c013c553 <do_dev_queue_xmit+183/1e8> movl %edi,0x4(%edx)
Code: c013c556 <do_dev_queue_xmit+186/1e8>

Unable to handle kernel NULL pointer dereference at virtual address 0000006a
current->tss.cr3 = 00101000, |r3 = 00101000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c015fd13>]
EFLAGS: 00010286
eax: 0000001d ebx: c0017810 ecx: 00000001 edx: c4ce1810
esi: 00000000 edi: c021e54c ebp: c0016e98 esp: c021e50c
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 0, process nr: 0, stackpage=c021c64c)
Stack: c0016e98 c0016e98 00000001 c021e594 c4d30050 00000001 00000286 c4c5a23c
c021e594 00000060 c4c5a23c 00000001 00000010 c4c5a218 00000000 c0017810
ffffff9c c015c833 c0ffcdfc c0016e98 c021e570 c015c7d8 c0016ebc 00000001
Call Trace: [<c015c833>] [<c015c7d8>] [<c01117f8>] [<c01175f7>] [<c010a80b>] [<c0109698>] [<c010a868>]
[<c0109334>] [<c01091a7>] [<c01fd43e>] [<c0116cec>]
Code: c6 46 6a 01 8b 7c 24 30 57 6a 3a 8b 44 24 58 50 55 6a 00 8b
kfree of non-kmalloced memory: c021e694, next= 00000000, order=0
kfree of non-kmalloced memory: c021e684, next= 00000000, order=0
kfree of non-kmalloced memory: c021eb98, next= 00000000, order=0

>>EIP: c015fd13 <ndisc_send_rs+77/248>
Trace: c015c833 <addrconf_rs_timer+5b/ec>
Trace: c015c833 <addrconf_rs_timer+5b/ec>
Trace: c01117f8 <timer_bh+13c/15c>
Trace: c01175f7 <do_bottom_half+3b/5c>
Trace: c010a80b <handle_bottom_half+b/20>
Trace: c0109698 <sys_idle+5c/74>
Trace: c010a868 <system_call+38/40>
Trace: c0109334 <init>
Trace: c01091a7 <start_kernel+1cb/1d8>
Trace: c01fd43e <_etext>
Trace: c0116cec <it_real_fn>

Code: c015fd13 <ndisc_send_rs+77/248> movb $0x1,0x6a(%esi)
Code: c015fd17 <ndisc_send_rs+7b/248> movl 0x30(%esp,1),%edi
Code: c015fd1b <ndisc_send_rs+7f/248> pushl %edi
Code: c015fd1c <ndisc_send_rs+80/248> pushl $0x3a
Code: c015fd1e <ndisc_send_rs+82/248> movl 0x58(%esp,1),%eax
Code: c015fd22 <ndisc_send_rs+86/248> pushl %eax
Code: c015fd23 <ndisc_send_rs+87/248> pushl %ebp
Code: c015fd24 <ndisc_send_rs+88/248> pushl $0x0
Code: c015fd26 <ndisc_send_rs+8a/248> movl (%eax),%eax
Code: c015fd28 <ndisc_send_rs+8c/248> nop
Code: c015fd29 <ndisc_send_rs+8d/248> nop
Code: c015fd2a <ndisc_send_rs+8e/248> nop

Unable to handle kernel paging request at virtual address 08049db0
current->tss.cr3 = 04d5e000, |r3 = 04d5e000
*pde = 00fba067
*pte = 04ef6025
Oops: 0003
CPU: 0
EIP: 0010:[<c013c542>]
EFLAGS: 00010002
eax: 08049db0 ebx: 00000001 ecx: c4d3067c edx: c0016800
esi: c4d3067c edi: c00168b0 ebp: c0016818 esp: c4eadeb8
ds: 0018 es: 0018 ss: 0018
Process rc.M (pid: 37, process nr: 8, stackpage=c4ead000)
Stack: c0017810 c0016818 c4d30634 4ab6d049 00000000 00000246 c013c5d2 c4d3067c
c0016818 00000001 c015a351 c4d3067c c0016818 00000001 c0016818 c0017810
c015fc90 c0017810 c0016818 c4d3067c 00000001 c0016f18 c4eadf84 c4eadf74
Call Trace: [<c013c5d2>] [<c015a351>] [<c015fc90>] [<c0119e82>] [<c015c7a8>] [<c015c728>] [<c01117f8>]
[<c01175f7>] [<c010a80b>]
Code: 89 30 8b 17 31 c0 39 fa 74 20 89 d0 8b 10 ff 4f 08 89 7a 04

>>EIP: c013c542 <do_dev_queue_xmit+172/1e8>
Trace: c013c5d2 <dev_queue_xmit+1a/24>
Trace: c015a351 <ipv6_queue_xmit+6d/98>
Trace: c015fc90 <ndisc_send_ns+2b8/2c4>
Trace: c0119e82 <do_wp_page+12/244>
Trace: c015c7a8 <addrconf_dad_timer+80/b0>
Trace: c015c7a8 <addrconf_dad_timer+80/b0>
Trace: c01117f8 <timer_bh+13c/15c>
Trace: c01175f7 <do_bottom_half+3b/5c>
Trace: c010a80b <handle_bottom_half+b/20>

Code: c013c542 <do_dev_queue_xmit+172/1e8> movl %esi,(%eax)
Code: c013c544 <do_dev_queue_xmit+174/1e8> movl (%edi),%edx
Code: c013c546 <do_dev_queue_xmit+176/1e8> xorl %eax,%eax
Code: c013c548 <do_dev_queue_xmit+178/1e8> cmpl %edi,%edx
Code: c013c54a <do_dev_queue_xmit+17a/1e8> je c013c56c <do_dev_queue_xmit+19c/1e8>
Code: c013c54c <do_dev_queue_xmit+17c/1e8> movl %edx,%eax
Code: c013c54e <do_dev_queue_xmit+17e/1e8> movl (%eax),%edx
Code: c013c550 <do_dev_queue_xmit+180/1e8> decl 0x8(%edi)
Code: c013c553 <do_dev_queue_xmit+183/1e8> movl %edi,0x4(%edx)
Code: c013c556 <do_dev_queue_xmit+186/1e8> Using `System.map' to map addresses to symbols.

Unable to handle kernel NULL pointer dereference at virtual address 0000006a
current->tss.cr3 = 00101000, |r3 = 00101000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c015fd13>]
EFLAGS: 00010286
eax: 0000001d ebx: c0017810 ecx: 00000001 edx: c4ce1810
esi: 00000000 edi: c021e54c ebp: c0016e98 esp: c021e50c
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 0, process nr: 0, stackpage=c021c64c)
Stack: c0016e98 c0016e98 00000001 c021e594 c4d30050 00000001 00000286 c4c5a23c
c021e594 00000060 c4c5a23c 00000001 00000010 c4c5a218 00000000 c0017810
ffffff9c c015c833 c0ffcdfc c0016e98 c021e570 c015c7d8 c0016ebc 00000001
Call Trace: [<c015c833>] [<c015c7d8>] [<c01117f8>] [<c01175f7>] [<c010a80b>] [<c0109698>] [<c010a868>]
[<c0109334>] [<c01091a7>] [<c01fd43e>] [<c0116cec>]
Code: c6 46 6a 01 8b 7c 24 30 57 6a 3a 8b 44 24 58 50 55 6a 00 8b
kfree of non-kmalloced memory: c021e694, next= 00000000, order=0
kfree of non-kmalloced memory: c021e684, next= 00000000, order=0
kfree of non-kmalloced memory: c021eb98, next= 00000000, order=0

>>EIP: c015fd13 <ndisc_send_rs+77/248>
Trace: c015c833 <addrconf_rs_timer+5b/ec>
Trace: c015c833 <addrconf_rs_timer+5b/ec>
Trace: c01117f8 <timer_bh+13c/15c>
Trace: c01175f7 <do_bottom_half+3b/5c>
Trace: c010a80b <handle_bottom_half+b/20>
Trace: c0109698 <sys_idle+5c/74>
Trace: c010a868 <system_call+38/40>
Trace: c0109334 <init>
Trace: c01091a7 <start_kernel+1cb/1d8>
Trace: c01fd43e <_etext>
Trace: c0116cec <it_real_fn>

Code: c015fd13 <ndisc_send_rs+77/248> movb $0x1,0x6a(%esi)
Code: c015fd17 <ndisc_send_rs+7b/248> movl 0x30(%esp,1),%edi
Code: c015fd1b <ndisc_send_rs+7f/248> pushl %edi
Code: c015fd1c <ndisc_send_rs+80/248> pushl $0x3a
Code: c015fd1e <ndisc_send_rs+82/248> movl 0x58(%esp,1),%eax
Code: c015fd22 <ndisc_send_rs+86/248> pushl %eax
Code: c015fd23 <ndisc_send_rs+87/248> pushl %ebp
Code: c015fd24 <ndisc_send_rs+88/248> pushl $0x0
Code: c015fd26 <ndisc_send_rs+8a/248> movl (%eax),%eax
Code: c015fd28 <ndisc_send_rs+8c/248> nop
Code: c015fd29 <ndisc_send_rs+8d/248> nop
Code: c015fd2a <ndisc_send_rs+8e/248> nop