2002-10-22 22:01:45

by erik

[permalink] [raw]
Subject: 2.5.44 fs corruption

I have a happy little dual athlon desktop (Athlon MP1600+ processors -
should be rated for SMP use, no funny stuff), which has been running
nicely for months. I installed 2.5.44 on it last night, and it seemed
to work fine.

This morning when I went to use it I was greeted by a screen full of
"eth0: transmit timed out" (eth0 being an Intel EtherExpress Pro 100
using the eepro100 driver). Trying to run commands (like sudo, dmesg,
ping) I got a lot of "unable to execute binary file foo" and IDE
errors complaining about attempts to read past the end of the device.
I was unable to do a graceful reboot, and had to hit the reset button.

Upon reboot my root fs (ext2 under 2.4, but I loaded ext3 under
2.5...) came up corrupted. Fortunately it didn't seem to hit anything
important (I'll be reinstalling shortly). None of the other
filesystems (all reiserfs or NFS) had problems.

After repairing the fs I've tried a couple reboots into 2.5.44 to see
if corruption happens immediately - with no luck. Looks like
something corrupted kernel memory overnight, and ended up stepping on
my filesystem along the way.

I've got an nVidia video card, but I don't use the binary only module.
2.4.18 actually thinks it finds a Radeon.

dmesg from one of the later boots and .config included below.


Erik

Linux version 2.5.44 (edebill@hagbard) (gcc version 2.95.4 20011002 (Debian prerelease)) #1 SMP Mon Oct 21 16:10:59 CDT 2002
Video mode to be used for restore is ffff
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001fff0000 (usable)
BIOS-e820: 000000001fff0000 - 000000001fff3000 (ACPI NVS)
BIOS-e820: 000000001fff3000 - 0000000020000000 (ACPI data)
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
user-defined physical RAM map:
user: 0000000000000000 - 00000000000a0000 (usable)
user: 00000000000f0000 - 0000000000100000 (reserved)
user: 0000000000100000 - 000000001fff0000 (usable)
user: 000000001fff0000 - 000000001fff3000 (ACPI NVS)
user: 000000001fff3000 - 0000000020000000 (ACPI data)
user: 00000000fec00000 - 0000000100000000 (reserved)
511MB LOWMEM available.
found SMP MP-table at 000f4ad0
hm, page 000f4000 reserved twice.
hm, page 000f5000 reserved twice.
hm, page 000f1000 reserved twice.
hm, page 000f2000 reserved twice.
On node 0 totalpages: 131056
DMA zone: 4096 pages
Normal zone: 126960 pages
HighMem zone: 0 pages
Intel MultiProcessor Specification v1.4
Virtual Wire compatibility mode.
OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000
Processor #0 6:6 APIC version 17
Processor #1 6:6 APIC version 17
I/O APIC #2 Version 17 at 0xFEC00000.
Enabling APIC mode: Flat. Using 1 I/O APICs
Processors: 2
Building zonelist for node : 0
Kernel command line: root=/dev/hda2 mem=524224K
Initializing CPU#0
Detected 1057.356 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 2080.76 BogoMIPS
Memory: 514032k/524224k available (2199k kernel code, 9808k reserved, 1764k data, 104k init, 0k highmem)
Security Scaffold v1.0.0 initialized
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: Before vendor init, caps: 0383fbff c1cbfbff 00000000, vendor = 2
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
CPU: After vendor init, caps: 0383fbff c1cbfbff 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Machine check exception polling timer started.
CPU: After generic, caps: 0383fbff c1cbfbff 00000000 00000000
CPU: Common caps: 0383fbff c1cbfbff 00000000 00000000
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
CPU: Before vendor init, caps: 0383fbff c1cbfbff 00000000, vendor = 2
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
CPU: After vendor init, caps: 0383fbff c1cbfbff 00000000 00000000
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0383fbff c1cbfbff 00000000 00000000
CPU: Common caps: 0383fbff c1cbfbff 00000000 00000000
CPU0: AMD Athlon(tm) stepping 02
per-CPU timeslice cutoff: 731.26 usecs.
task migration cache decay timeout: 1 msecs.
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Booting processor 1/1 eip 2000
Initializing CPU#1
masked ExtINT on CPU#1
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Calibrating delay loop... 2105.34 BogoMIPS
CPU: Before vendor init, caps: 0383fbff c1cbfbff 00000000, vendor = 2
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
CPU: After vendor init, caps: 0383fbff c1cbfbff 00000000 00000000
Intel machine check reporting enabled on CPU#1.
CPU: After generic, caps: 0383fbff c1cbfbff 00000000 00000000
CPU: Common caps: 0383fbff c1cbfbff 00000000 00000000
CPU1: AMD Athlon(tm) MP stepping 02
Total of 2 processors activated (4186.11 BogoMIPS).
ENABLING IO-APIC IRQs
Setting 2 in the phys_id_present_map
...changing IO-APIC physical APIC ID to 2 ... ok.
init IO_APIC IRQs
IO-APIC (apicid-pin) 2-0, 2-5, 2-11, 2-12, 2-20, 2-21, 2-22, 2-23 not connected.
..TIMER: vector=0x31 pin1=2 pin2=0
number of MP IRQ sources: 19.
number of IO-APIC #2 registers: 24.
testing the IO APIC.......................

IO APIC #2......
.... register #00: 02000000
....... : physical APIC id: 02
....... : Delivery Type: 0
....... : LTS : 0
.... register #01: 00170011
....... : max redirection entries: 0017
....... : PRQ implemented: 0
....... : IO APIC version: 0011
.... register #02: 00000000
....... : arbitration: 00
.... IRQ redirection table:
NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
00 000 00 1 0 0 0 0 0 0 00
01 001 01 0 0 0 0 0 1 1 39
02 001 01 0 0 0 0 0 1 1 31
03 001 01 0 0 0 0 0 1 1 41
04 001 01 0 0 0 0 0 1 1 49
05 000 00 1 0 0 0 0 0 0 00
06 001 01 0 0 0 0 0 1 1 51
07 001 01 0 0 0 0 0 1 1 59
08 001 01 0 0 0 0 0 1 1 61
09 001 01 0 0 0 0 0 1 1 69
0a 001 01 0 0 0 0 0 1 1 71
0b 000 00 1 0 0 0 0 0 0 00
0c 000 00 1 0 0 0 0 0 0 00
0d 001 01 0 0 0 0 0 1 1 79
0e 001 01 0 0 0 0 0 1 1 81
0f 001 01 0 0 0 0 0 1 1 89
10 001 01 1 1 0 1 0 1 1 91
11 001 01 1 1 0 1 0 1 1 99
12 001 01 1 1 0 1 0 1 1 A1
13 001 01 1 1 0 1 0 1 1 A9
14 000 00 1 0 0 0 0 0 0 00
15 000 00 1 0 0 0 0 0 0 00
16 000 00 1 0 0 0 0 0 0 00
17 000 00 1 0 0 0 0 0 0 00
IRQ to pin mappings:
IRQ0 -> 0:2
IRQ1 -> 0:1
IRQ3 -> 0:3
IRQ4 -> 0:4
IRQ6 -> 0:6
IRQ7 -> 0:7
IRQ8 -> 0:8
IRQ9 -> 0:9
IRQ10 -> 0:10
IRQ13 -> 0:13
IRQ14 -> 0:14
IRQ15 -> 0:15
IRQ16 -> 0:16
IRQ17 -> 0:17
IRQ18 -> 0:18
IRQ19 -> 0:19
.................................... done.
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1057.0184 MHz.
..... host bus clock speed is 201.0368 MHz.
checking TSC synchronization across 2 CPUs: passed.
Starting migration thread for cpu 0
Bringing up 1
CPU 1 IS NOW UP!
Starting migration thread for cpu 1
CPUS done 4294967295
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
mtrr: v2.0 (20020519)
mtrr: your CPUs had inconsistent fixed MTRR settings
mtrr: probably your BIOS does not setup all CPUs
Linux Plug and Play Support v0.9 (c) Adam Belay
PCI: PCI BIOS revision 2.10 entry at 0xfb130, last bus=2
PCI: Using configuration type 1
Registering system device cpu0
adding '' to cpu class interfaces
Registering system device cpu1
adding '' to cpu class interfaces
PnPBIOS: Found PnP BIOS installation structure at 0xc00fbb30
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbb60, dseg 0xf0000
PnPBIOS: 16 nodes reported by PnP BIOS; 16 recorded by driver
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
drivers/usb/core/usb.c: registered new driver usbfs
drivers/usb/core/usb.c: registered new driver hub
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI: Using IRQ router default [1022/700c] at 00:00.0
PCI->APIC IRQ transform: (B1,I5,P0) -> 17
PCI->APIC IRQ transform: (B2,I4,P0) -> 16
PCI->APIC IRQ transform: (B2,I5,P0) -> 17
PCI->APIC IRQ transform: (B2,I6,P0) -> 18
PCI->APIC IRQ transform: (B2,I6,P1) -> 19
PCI->APIC IRQ transform: (B2,I6,P2) -> 16
Registering system device pic0
Registering system device rtc0
Starting kswapd
BIO: pool of 256 setup, 14Kb (56 bytes/bio)
biovec pool[0]: 1 bvecs: 256 entries (12 bytes)
biovec pool[1]: 4 bvecs: 256 entries (48 bytes)
biovec pool[2]: 16 bvecs: 256 entries (192 bytes)
biovec pool[3]: 64 bvecs: 256 entries (768 bytes)
biovec pool[4]: 128 bvecs: 256 entries (1536 bytes)
biovec pool[5]: 256 bvecs: 256 entries (3072 bytes)
aio_setup: sizeof(struct page) = 40
Journalled Block Device driver loaded
devfs: v1.21 (20020820) Richard Gooch ([email protected])
devfs: boot_options: 0x1
Installing knfsd (copyright (C) 1996 [email protected]).
Capability LSM initialized
BIOS failed to enable PCI standards compliance, fixing this error.
pty: 256 Unix98 ptys configured
Real Time Clock Driver v1.11
amd768_rng: AMD768 system management I/O registers at 0x600.
amd768_rng hardware driver 0.1.0 loaded
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 439M
agpgart: Detected AMD 760MP chipset
agpgart: AGP aperture is 256M @ 0xd0000000
block request queues:
128 requests per read queue
128 requests per write queue
8 requests per batch
enter congestion at 31
exit congestion at 33
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
AMD7441: IDE controller at PCI slot 00:07.1
AMD7441: chipset revision 4
AMD7441: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xe008-0xe00f, BIOS settings: hdc:DMA, hdd:pio
hda: ST330630A, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: DVDROM 8X, ATAPI CD/DVD-ROM drive
hdd: no response (status = 0xff), resetting drive
hdd: no response (status = 0xff)
ide1 at 0x170-0x177,0x376 on irq 15
hda: setmax LBA 59777641, native 59777640
hda: 59777640 sectors (30606 MB) w/2048KiB Cache, CHS=3720/255/63, UDMA(66)
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4 < p5 p6 >
end_request: I/O error, dev 16:00, sector 0
hdc: ATAPI DVD-ROM drive, 512kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
SCSI subsystem driver Revision: 1.00
request_module[scsi_hostadapter]: not ready
request_module[scsi_hostadapter]: not ready
drivers/usb/core/hcd-pci.c: ohci-hcd @ 02:06.0, NEC Corporation USB
drivers/usb/core/hcd-pci.c: irq 18, pci mem e088d000
drivers/usb/core/hcd.c: new USB bus registered, assigned bus number 1
drivers/usb/core/hub.c: USB hub found at 0
drivers/usb/core/hub.c: 3 ports detected
drivers/usb/core/hcd-pci.c: ohci-hcd @ 02:06.1, NEC Corporation USB (#2)
drivers/usb/core/hcd-pci.c: irq 19, pci mem e088f000
drivers/usb/core/hcd.c: new USB bus registered, assigned bus number 2
drivers/usb/core/hub.c: USB hub found at 0
drivers/usb/core/hub.c: 2 ports detected
Initializing USB Mass Storage driver...
drivers/usb/core/usb.c: registered new driver usb-storage
USB Mass Storage support registered.
drivers/usb/core/usb.c: registered new driver hid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
drivers/usb/core/usb.c: registered new driver serial
drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core v1.6
register interface 'mouse' with class 'input
mice: PS/2 mouse device common for all mice
serio: i8042 AUX port at 0x60,0x64 irq 12
input: AT Set 2 keyboard on isa0060/serio0
serio: i8042 KBD port at 0x60,0x64 irq 1
Advanced Linux Sound Architecture Driver Version 0.9.0rc3 (Mon Oct 14 16:41:26 2002 UTC).
request_module[snd-card-0]: not ready
request_module[snd-card-1]: not ready
request_module[snd-card-2]: not ready
request_module[snd-card-3]: not ready
request_module[snd-card-4]: not ready
request_module[snd-card-5]: not ready
request_module[snd-card-6]: not ready
request_module[snd-card-7]: not ready
AC'97 0:0 analog subsections not ready
ALSA device list:
#0: Sound Blaster Live! at 0xd000, irq 16
NET4: Linux TCP/IP 1.0 for NET4.0
IP: routing cache hash table of 2048 buckets, 32Kbytes
TCP: Hash tables configured (established 16384 bind 21845)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 104k freed
drivers/usb/core/hub.c: new USB device 02:06.1-2, assigned address 2
input: USB HID v1.00 Mouse [Logitech USB-PS/2 Trackball] on usb-02:06.1-2
Adding 530136k swap on /dev/hda3. Priority:-1 extents:1
inserting floppy driver for 2.5.44
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
found reiserfs format "3.6" with standard journal
Reiserfs journal params: device ide0(3,5), size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
reiserfs: checking transaction log (ide0(3,5)) for (ide0(3,5))
Using r5 hash to sort names
eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin <[email protected]> and others
eth0: OEM i82557/i82558 10/100 Ethernet, 00:50:8B:13:1A:39, IRQ 17.
Receiver lock-up bug exists -- enabling work-around.
Board assembly 692290-005, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x24c9f043).
Receiver lock-up workaround activated.
eth0: speedo_open() irq 17.
eth0: Done speedo_open(), status 00000850.
eth0: Sending a multicast list set command from a timer routine, m=-1, j=60245, l=60131.
atkbd.c: Unknown key (set 2, scancode 0x1c9, on isa0060/serio0) pressed.
eth0: Sending a multicast list set command from a timer routine, m=0, j=280255, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=282255, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=284255, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=286255, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=288255, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=290256, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=292256, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=294256, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=296256, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=298256, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=300256, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=302256, l=277246.
eth0: Sending a multicast list set command from a timer routine, m=0, j=304257, l=277246.


#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_X86=y
# CONFIG_SBUS is not set
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# General setup
#
CONFIG_NET=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y

#
# Processor type and features
#
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# CONFIG_MELAN is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_USE_3DNOW=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_SMP=y
CONFIG_PREEMPT=y
CONFIG_NR_CPUS=32
# CONFIG_X86_NUMA is not set
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
# CONFIG_EDD is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_HAVE_DEC_LOCK=y

#
# Power management options (ACPI, APM)
#

#
# ACPI Support
#
# CONFIG_ACPI is not set
# CONFIG_PM is not set
# CONFIG_APM is not set

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
# CONFIG_SCx200 is not set
CONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_EISA is not set
# CONFIG_MCA is not set
CONFIG_HOTPLUG=y

#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_HOTPLUG_PCI_COMPAQ is not set
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
# CONFIG_HOTPLUG_PCI_IBM is not set

#
# Executable file formats
#
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play configuration
#
CONFIG_PNP=y
# CONFIG_PNP_NAMES is not set
# CONFIG_PNP_DEBUG is not set
CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y

#
# Block devices
#
CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_CISS_SCSI_TAPE is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_LBD is not set

#
# ATA/ATAPI/MFM/RLL device support
#
CONFIG_IDE=y

#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set
# CONFIG_BLK_DEV_IDECS is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_ISAPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_IDE_TCQ_DEFAULT is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_WDC_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
# CONFIG_AMD74XX_OVERRIDE is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_HPT34X_AUTODMA is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NFORCE is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_PDC202XX_BURST is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_PDC202XX_FORCE is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_IDEDMA_IVB is not set
# CONFIG_DMA_NONPCI is not set
CONFIG_BLK_DEV_IDE_MODES=y

#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_REPORT_LUNS=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_BOOT is not set
# CONFIG_FUSION_ISENSE is not set
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LAN is not set

#
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_IPV6 is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_DEV_APPLETALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# Network device support
#
CONFIG_NETDEVICES=y

#
# ARCnet devices
#
# CONFIG_ARCNET is not set
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
# CONFIG_NET_SB1000 is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_SUNLANCE is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_APRICOT is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not set
CONFIG_EEPRO100=m
CONFIG_E100=m
# CONFIG_LNE390 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_NE3210 is not set
# CONFIG_ES3210 is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_SUNDANCE_MMIO is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_RHINE_MMIO is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_E1000_NAPI is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set

#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set

#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set

#
# ISDN subsystem
#
# CONFIG_ISDN_BOOL is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set
# CONFIG_PHONE_IXJ is not set
# CONFIG_PHONE_IXJ_PCMCIA is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_VORTEX is not set
# CONFIG_GAMEPORT_FM801 is not set
# CONFIG_GAMEPORT_CS461x is not set
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDDLER is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_INPUT_JOYDUMP is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_INPUT_MISC is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_UINPUT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
# CONFIG_SERIAL_8250_CONSOLE is not set
# CONFIG_SERIAL_8250_CS is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_MANY_PORTS is not set
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256

#
# I2C support
#
# CONFIG_I2C is not set

#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_QIC02_TAPE is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_INTEL_RNG is not set
CONFIG_AMD_RNG=y
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=y
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_I810 is not set
# CONFIG_AGP_VIA is not set
CONFIG_AGP_AMD=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_AMD_8151 is not set
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_MGA is not set
# CONFIG_MWAVE is not set
# CONFIG_SCx200_GPIO is not set
# CONFIG_RAW_DRIVER is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_QFMT_V1 is not set
# CONFIG_QFMT_V2 is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BFS_FS is not set
CONFIG_EXT3_FS=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
# CONFIG_UMSDOS_FS is not set
CONFIG_VFAT_FS=m
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
# CONFIG_JFS_FS is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
CONFIG_UDF_FS=m
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_XFS_FS is not set
# CONFIG_XFS_RT is not set
# CONFIG_XFS_QUOTA is not set

#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not set
# CONFIG_ROOT_NFS is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not set
# CONFIG_NFSD_TCP is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
# CONFIG_CIFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_AFS_FS is not set
# CONFIG_ZISOFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SMB_NLS is not set
CONFIG_NLS=y

#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Console drivers
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VIDEO_SELECT is not set
# CONFIG_MDA_CONSOLE is not set

#
# Frame-buffer support
#
# CONFIG_FB is not set

#
# Sound
#
CONFIG_SOUND=y

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=y
CONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_RTCTIMER is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
# CONFIG_SND_DEBUG_MEMORY is not set
# CONFIG_SND_DEBUG_DETECT is not set

#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set

#
# PCI devices
#
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS46XX_NEW_DSP is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=y
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set

#
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set

#
# USB support
#
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
CONFIG_USB_DEVICEFS=y
CONFIG_USB_LONG_TIMEOUT=y
CONFIG_USB_BANDWIDTH=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_UHCI_HCD_ALT is not set
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
CONFIG_USB_STORAGE=y
CONFIG_USB_STORAGE_DEBUG=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_HP8200e=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
# CONFIG_HID_PID is not set
# CONFIG_LOGITECH_FF is not set
# CONFIG_USB_HIDDEV is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_SCANNER is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
# CONFIG_USB_PWC is not set
# CONFIG_USB_SE401 is not set
# CONFIG_USB_STV680 is not set
# CONFIG_USB_CATC is not set
# CONFIG_USB_CDCETHER is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=y
# CONFIG_USB_SERIAL_DEBUG is not set
# CONFIG_USB_SERIAL_CONSOLE is not set
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
CONFIG_USB_SERIAL_VISOR=m
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_BRLVGER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_SPEEDTOUCH is not set
# CONFIG_USB_TEST is not set

#
# Bluetooth support
#
# CONFIG_BT is not set

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
# CONFIG_SOFTWARE_SUSPEND is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_SLAB=y
# CONFIG_DEBUG_IOVIRT is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_KALLSYMS=y
CONFIG_X86_EXTRA_IRQS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#
CONFIG_SECURITY_CAPABILITIES=y

#
# Library routines
#
# CONFIG_CRC32 is not set
# CONFIG_ZLIB_INFLATE is not set
# CONFIG_ZLIB_DEFLATE is not set
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y


2002-10-23 04:46:10

by Armin Schindler

[permalink] [raw]
Subject: module_init in interrupt context ?

With kernel 2.4.19 I noticed that calls from module_init()
may be done in interrupt context. I didn't have a problem here
before 2.4.17.

E.g. in module_init() I use pci_module_init() for my driver
(I don't have HOTPLUG enabled), the when the .probe function is called
and the card is detected I create a proc entry for this new
found device, but most of the time create_proc_entry causes
BUG(), because it is called from interrupt context.

What and where is the reason for that ?
Shall the pci_module function be interrupt-save, or
all functions called from module_init() ?

Thanks,
Armin


2002-10-23 10:13:58

by Chris Newland

[permalink] [raw]
Subject: RE: 2.5.44 fs corruption

Hi Erik,

Does your motherboard use the 760MPX chipset?

I used to get DMA related lockups on my MSI K7D-Master (760MPX, Dual 1900+)
until I heard about the erratum in the 768 southbridge (see attached mail).
>From your dmesg it looks like you are using a USB trackball. Switching from
USB to PS2 mouse fixed the problem for me.

Hope this helps.

Best Regards,

Chris

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of [email protected]
> Sent: 22 October 2002 23:08
> To: [email protected]
> Subject: 2.5.44 fs corruption
>
>
> I have a happy little dual athlon desktop (Athlon MP1600+ processors -
> should be rated for SMP use, no funny stuff), which has been running
> nicely for months. I installed 2.5.44 on it last night, and it seemed
> to work fine.
>
> This morning when I went to use it I was greeted by a screen full of
> "eth0: transmit timed out" (eth0 being an Intel EtherExpress Pro 100
> using the eepro100 driver). Trying to run commands (like sudo, dmesg,
> ping) I got a lot of "unable to execute binary file foo" and IDE
> errors complaining about attempts to read past the end of the device.
> I was unable to do a graceful reboot, and had to hit the reset button.
>
> Upon reboot my root fs (ext2 under 2.4, but I loaded ext3 under
> 2.5...) came up corrupted. Fortunately it didn't seem to hit anything
> important (I'll be reinstalling shortly). None of the other
> filesystems (all reiserfs or NFS) had problems.
>
> After repairing the fs I've tried a couple reboots into 2.5.44 to see
> if corruption happens immediately - with no luck. Looks like
> something corrupted kernel memory overnight, and ended up stepping on
> my filesystem along the way.
>
> I've got an nVidia video card, but I don't use the binary only module.
> 2.4.18 actually thinks it finds a Radeon.
>
> dmesg from one of the later boots and .config included below.
>
>
> Erik

<dmesg snipped>


Attachments:
AMD 768 erratum 10 (solved AMD 760MPX DMA lockup).txt (3.66 kB)

2002-10-23 14:40:11

by erik

[permalink] [raw]
Subject: Re: 2.5.44 fs corruption

On Wed, Oct 23, 2002 at 11:19:37AM +0100, Chris Newland wrote:
> Hi Erik,
>
> Does your motherboard use the 760MPX chipset?
>
> I used to get DMA related lockups on my MSI K7D-Master (760MPX, Dual 1900+)
> until I heard about the erratum in the 768 southbridge (see attached mail).
> From your dmesg it looks like you are using a USB trackball. Switching from
> USB to PS2 mouse fixed the problem for me.

That'd be my exact motherboard. It's been quite stable for months
(with my beloved trackball plugged into the USB port), but I'll give
it a shot.

Both you and the errata mention lockups. In my case the system
certainly didn't lock up - existing shell sessions still responded
(and generated new and interesting error messages).

Hmmm... on second thought, I suspect this was the first time it put
the IDE bus in anything like UDMA 66. 2.5.44 had the Viper driver,
where 2.4.18 was just punting and running in UDMA 33.

I'll go stick a ps/2 mouse on the bugger and run w/ 2.5.44 for the
next day or so and see if it goes belly up again.


Erik




> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]]On Behalf Of [email protected]
> > Sent: 22 October 2002 23:08
> > To: [email protected]
> > Subject: 2.5.44 fs corruption
> >
> >
> > I have a happy little dual athlon desktop (Athlon MP1600+ processors -
> > should be rated for SMP use, no funny stuff), which has been running
> > nicely for months. I installed 2.5.44 on it last night, and it seemed
> > to work fine.
> >
> > This morning when I went to use it I was greeted by a screen full of
> > "eth0: transmit timed out" (eth0 being an Intel EtherExpress Pro 100
> > using the eepro100 driver). Trying to run commands (like sudo, dmesg,
> > ping) I got a lot of "unable to execute binary file foo" and IDE
> > errors complaining about attempts to read past the end of the device.
> > I was unable to do a graceful reboot, and had to hit the reset button.
> >
> > Upon reboot my root fs (ext2 under 2.4, but I loaded ext3 under
> > 2.5...) came up corrupted. Fortunately it didn't seem to hit anything
> > important (I'll be reinstalling shortly). None of the other
> > filesystems (all reiserfs or NFS) had problems.
> >
> > After repairing the fs I've tried a couple reboots into 2.5.44 to see
> > if corruption happens immediately - with no luck. Looks like
> > something corrupted kernel memory overnight, and ended up stepping on
> > my filesystem along the way.
> >
> > I've got an nVidia video card, but I don't use the binary only module.
> > 2.4.18 actually thinks it finds a Radeon.
> >
> > dmesg from one of the later boots and .config included below.
> >
> >
> > Erik
>
> <dmesg snipped>

> From: [email protected] on behalf of Jan Kasprzak
> [[email protected]]
> Sent: 25 September 2002 14:24
> To: [email protected]
> Cc: Mark Hahn; [email protected]; Petr Konecny; Bruno A. Crespo;
> Denis Vlasenko; Alan Cox
> Subject: AMD 768 erratum 10 (solved: AMD 760MPX DMA lockup)
>
> Hello, all!
>
> two weeks ago I've posted to the LKML the following message:
>
> [...]
> : my dual athlon box is unstable in some situations. I can consistently
> : lock it up by running the following code:
> :
> : fd = open("/dev/hda3", O_RDWR);
> : for (i=0; i<1024*1024; i++) {
> : read(fd, buffer, 8192);
> : lseek(fd, -8192, SEEK_CUR);
> : write(fd, buffer, 8192);
> : }
> [...]
>
> I think I have been hit by AMD 768 southbridge erratum number 10.
> After plugging in the PS/2 mouse, the server is able to run 10 iterations
> of bonnie++ without any problem (w/o PS/2 mouse it locks up in first
> or second iterations).
>
> I want to ask everyone who replied to me that the above code
> works for him on the 760MPX-based system to re-run the above code
> (or run bonnie++ benchmark several times in a loop), but _without_
> the PS/2 mouse connected?
>
> Since this is an official AMD errata, we should have a work-around
> for this, or at least the big fat warning during boot, when the 768
> southbridge is detected - something like the following:
>
> WARNING: Using the system with AMD 768 southbridge without the PS/2
> WARNING: mouse plugged in can cause instabilities. See the AMD 768 erratum #10
>
> The AMD 768 Revision Guide is at the following URL:
>
> http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24472.pdf
>
> the erratum #10 is described on page 7 (pstotext output, manually edited):
>
> : 10 Multiprocessor System May Hang While in FULL APIC Mode
> : and IOAPIC Interrupt is Masked
> :
> : Products Affected. B1, B2
> :
> : Normal Specified Operation. The AMD-768 peripheral bus controller is
> : designed to support FULL APIC mode in multiprocessor systems for system
> : management events. If an interrupt is masked in the APIC controller of
> : the AMD-768, then the corresponding interrupt message should not be
> : sent to the processor via the 3-wire APIC bus.
> :
> : Non-conformance. The AMD-768 peripheral bus controller will send an
> : interrupt message via the 3-wire APIC bus regardless if the interrupt
> : is masked or not.
> :
> : Potential Effect on System. Since the processor had previously masked
> : the APIC interrupt, it is not expecting to receive future APIC messages
> : for the masked interrupt. The APIC controller will continuously send
> : the interrupt message via the 3-wire bus until a processor accepts the
> : message, causing the system to hang.
> :
> : A system hang has been observed when executing a server shutdown
> : command in Novell Netware versions 5.0 or 5.1 while using a serial
> : mouse. During the server shutdown sequence, software writes an invalid
> : CPU ID to the IOAPIC redirection table, and the system does not
> : complete the shutdown.
> :
> : Note: No failure has been observed when using a PS/2 mouse.
> :
> : Suggested Workaround. None.
> :
> : Resolution Status: No fix planned.
>
>
> --
> | Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
> | GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
> | http://www.fi.muni.cz/~kas/ Czech Linux Homepage: http://www.linux.cz/ |
> |----------- If you want the holes in your knowledge showing up -----------|
> |----------- try teaching someone. -- Alan Cox -----------|
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/


--
If somebody sues you, you change the algorithm or you just hire a
hit-man to whack the stupid git.

-Linus Torvalds
(talking about software patents)



I understand everything perfectly. Not my fault you guys don't know
what you're saying.

2002-10-23 15:07:55

by Chris Newland

[permalink] [raw]
Subject: RE: 2.5.44 fs corruption

Erik,

Sometimes my system locked instantly, sometimes it failed like you described
(common executables suddenly not found) followed by a lockup. This bug cost
me several rebuilds and a lot of trashed data :(

My solution was to stick a USB->PS2 converter on my MS Intellimouse.
Disabling DMA on my hard disks also worked (but causes a massive performance
hit).

A good way to test if the problem has gone is to try to 'dd' the contents of
an entire partition into /dev/null. This used to have a 100% lockup rate
when I had the problem.

dd if=/dev/hda5 of=/dev/null bs=1048576

My thanks to Jan Kasprzak and Bruno Crespo for finding the root cause of the
bug.

<Chris/>

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of [email protected]
> Sent: 23 October 2002 15:46
> To: Chris Newland
> Cc: [email protected]
> Subject: Re: 2.5.44 fs corruption
>
>
> On Wed, Oct 23, 2002 at 11:19:37AM +0100, Chris Newland wrote:
> > Hi Erik,
> >
> > Does your motherboard use the 760MPX chipset?
> >
> > I used to get DMA related lockups on my MSI K7D-Master (760MPX,
> Dual 1900+)
> > until I heard about the erratum in the 768 southbridge (see
> attached mail).
> > From your dmesg it looks like you are using a USB trackball.
> Switching from
> > USB to PS2 mouse fixed the problem for me.
>
> That'd be my exact motherboard. It's been quite stable for months
> (with my beloved trackball plugged into the USB port), but I'll give
> it a shot.
>
> Both you and the errata mention lockups. In my case the system
> certainly didn't lock up - existing shell sessions still responded
> (and generated new and interesting error messages).
>
> Hmmm... on second thought, I suspect this was the first time it put
> the IDE bus in anything like UDMA 66. 2.5.44 had the Viper driver,
> where 2.4.18 was just punting and running in UDMA 33.
>
> I'll go stick a ps/2 mouse on the bugger and run w/ 2.5.44 for the
> next day or so and see if it goes belly up again.
>
>
> Erik
>
>
>
>
> > > -----Original Message-----
> > > From: [email protected]
> > > [mailto:[email protected]]On Behalf Of
> [email protected]
> > > Sent: 22 October 2002 23:08
> > > To: [email protected]
> > > Subject: 2.5.44 fs corruption
> > >
> > >
> > > I have a happy little dual athlon desktop (Athlon MP1600+ processors -
> > > should be rated for SMP use, no funny stuff), which has been running
> > > nicely for months. I installed 2.5.44 on it last night, and it seemed
> > > to work fine.
> > >
> > > This morning when I went to use it I was greeted by a screen full of
> > > "eth0: transmit timed out" (eth0 being an Intel EtherExpress Pro 100
> > > using the eepro100 driver). Trying to run commands (like sudo, dmesg,
> > > ping) I got a lot of "unable to execute binary file foo" and IDE
> > > errors complaining about attempts to read past the end of the device.
> > > I was unable to do a graceful reboot, and had to hit the reset button.
> > >
> > > Upon reboot my root fs (ext2 under 2.4, but I loaded ext3 under
> > > 2.5...) came up corrupted. Fortunately it didn't seem to hit anything
> > > important (I'll be reinstalling shortly). None of the other
> > > filesystems (all reiserfs or NFS) had problems.
> > >
> > > After repairing the fs I've tried a couple reboots into 2.5.44 to see
> > > if corruption happens immediately - with no luck. Looks like
> > > something corrupted kernel memory overnight, and ended up stepping on
> > > my filesystem along the way.
> > >
> > > I've got an nVidia video card, but I don't use the binary only module.
> > > 2.4.18 actually thinks it finds a Radeon.
> > >
> > > dmesg from one of the later boots and .config included below.
> > >
> > >
> > > Erik
> >
> > <dmesg snipped>
>
> > From: [email protected] on behalf of Jan Kasprzak
> > [[email protected]]
> > Sent: 25 September 2002 14:24
> > To: [email protected]
> > Cc: Mark Hahn; [email protected]; Petr Konecny; Bruno A. Crespo;
> > Denis Vlasenko; Alan Cox
> > Subject: AMD 768 erratum 10 (solved: AMD 760MPX DMA lockup)
> >
> > Hello, all!
> >
> > two weeks ago I've posted to the LKML the following message:
> >
> > [...]
> > : my dual athlon box is unstable in some situations. I can consistently
> > : lock it up by running the following code:
> > :
> > : fd = open("/dev/hda3", O_RDWR);
> > : for (i=0; i<1024*1024; i++) {
> > : read(fd, buffer, 8192);
> > : lseek(fd, -8192, SEEK_CUR);
> > : write(fd, buffer, 8192);
> > : }
> > [...]
> >
> > I think I have been hit by AMD 768 southbridge erratum number 10.
> > After plugging in the PS/2 mouse, the server is able to run 10
> iterations
> > of bonnie++ without any problem (w/o PS/2 mouse it locks up in first
> > or second iterations).
> >
> > I want to ask everyone who replied to me that the above code
> > works for him on the 760MPX-based system to re-run the above code
> > (or run bonnie++ benchmark several times in a loop), but _without_
> > the PS/2 mouse connected?
> >
> > Since this is an official AMD errata, we should have a work-around
> > for this, or at least the big fat warning during boot, when the 768
> > southbridge is detected - something like the following:
> >
> > WARNING: Using the system with AMD 768 southbridge without the PS/2
> > WARNING: mouse plugged in can cause instabilities. See the AMD
> 768 erratum #10
> >
> > The AMD 768 Revision Guide is at the following URL:
> >
> >
> http://www.amd.com/us-en/assets/content_type/white_papers_and_tech
> _docs/24472.pdf
> >
> > the erratum #10 is described on page 7 (pstotext output,
> manually edited):
> >
> > : 10 Multiprocessor System May Hang While in FULL APIC Mode
> > : and IOAPIC Interrupt is Masked
> > :
> > : Products Affected. B1, B2
> > :
> > : Normal Specified Operation. The AMD-768 peripheral bus controller is
> > : designed to support FULL APIC mode in multiprocessor systems
> for system
> > : management events. If an interrupt is masked in the APIC controller of
> > : the AMD-768, then the corresponding interrupt message should not be
> > : sent to the processor via the 3-wire APIC bus.
> > :
> > : Non-conformance. The AMD-768 peripheral bus controller will send an
> > : interrupt message via the 3-wire APIC bus regardless if the interrupt
> > : is masked or not.
> > :
> > : Potential Effect on System. Since the processor had previously masked
> > : the APIC interrupt, it is not expecting to receive future
> APIC messages
> > : for the masked interrupt. The APIC controller will continuously send
> > : the interrupt message via the 3-wire bus until a processor accepts the
> > : message, causing the system to hang.
> > :
> > : A system hang has been observed when executing a server shutdown
> > : command in Novell Netware versions 5.0 or 5.1 while using a serial
> > : mouse. During the server shutdown sequence, software writes an invalid
> > : CPU ID to the IOAPIC redirection table, and the system does not
> > : complete the shutdown.
> > :
> > : Note: No failure has been observed when using a PS/2 mouse.
> > :
> > : Suggested Workaround. None.
> > :
> > : Resolution Status: No fix planned.
> >
> >
> > --
> > | Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net
> - private}> |
> > | GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7
> 8B35FCDE05B18A5E |
> > | http://www.fi.muni.cz/~kas/ Czech Linux Homepage:
http://www.linux.cz/ |
> |----------- If you want the holes in your knowledge showing
up -----------|
> |----------- try teaching someone. -- Alan
Cox -----------|
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/


--
If somebody sues you, you change the algorithm or you just hire a
hit-man to whack the stupid git.

-Linus Torvalds
(talking about software patents)



I understand everything perfectly. Not my fault you guys don't know
what you're saying.

2002-10-23 16:08:00

by Kai Germaschewski

[permalink] [raw]
Subject: Re: module_init in interrupt context ?

On Wed, 23 Oct 2002, Armin Schindler wrote:

> With kernel 2.4.19 I noticed that calls from module_init()
> may be done in interrupt context. I didn't have a problem here
> before 2.4.17.

Well, I am positive that this is not so.

> E.g. in module_init() I use pci_module_init() for my driver
> (I don't have HOTPLUG enabled), the when the .probe function is called
> and the card is detected I create a proc entry for this new
> found device, but most of the time create_proc_entry causes
> BUG(), because it is called from interrupt context.

I think you should provide the backtrace and the code in questions.
Obviously, something is wrong, but it's virtually impossible that
module_init() runs from irq context, so it has to be something else.

--Kai

2002-10-23 21:02:05

by Jose Luis Domingo Lopez

[permalink] [raw]
Subject: Re: 2.5.44 fs corruption

On Wednesday, 23 October 2002, at 16:13:52 +0100,
Chris Newland wrote:

> A good way to test if the problem has gone is to try to 'dd' the contents of
> an entire partition into /dev/null. This used to have a 100% lockup rate
> when I had the problem.
>
> dd if=/dev/hda5 of=/dev/null bs=1048576
>
As a side note to this thread, I suffered for months similar lockups
with a VIA KT266A based motherboard for my AMD Athlon XP1700+. As it was
really obvious the problem was hardware (BIOS probably) related, I didn't
bothered the list.

In my case (Soltek SL-75DRV2), a "dd" as the above didn't locked up the
machin (at least, not always), but chances of locking up increased
dramatically if at the same time I had "xawtv" (or another TV tuner
program for video4linux compatible cards). As a TV station pumps in the
order of several MB/s to the PCI bus, plus another ~ 40 MB/s of
sustained read rates from the IDE ATA100 disk, somehow a bug in the
BIOS/southbridge was more obvious.

Fortunately the motherboard crashed, and I got a replacement from the
same manufacturer, but a newer model, namely a SL-75DRV5 (VIA KT333
based if I remember correctly), with a completely different BIOS version
number. And since then (10+ days) no lockups, even under high stress.

Hope this experience helps others with their (maybe hardware caused)
locks in Linux (when the box hangs, and you have no idea why, you even
end up blaming Linux :).

--
Jose Luis Domingo Lopez
Linux Registered User #189436 Debian Linux Woody (Linux 2.4.19-pre6aa1)

2002-10-24 03:24:11

by erik

[permalink] [raw]
Subject: Re: 2.5.44 fs corruption

On Wed, Oct 23, 2002 at 04:13:52PM +0100, Chris Newland wrote:
> My solution was to stick a USB->PS2 converter on my MS Intellimouse.
> Disabling DMA on my hard disks also worked (but causes a massive performance
> hit).
>
> A good way to test if the problem has gone is to try to 'dd' the contents of
> an entire partition into /dev/null. This used to have a 100% lockup rate
> when I had the problem.
>
> dd if=/dev/hda5 of=/dev/null bs=1048576


Well... I went nuts with this and here's what I came up with:

2.5.44 generic driver no DMA no mouse: works fine
2.5.44 + Viper driver no DMA no mouse: works fine
2.4.18 generic driver no DMA no mouse: works fine
2.4.18 generic driver + DMA no mouse: works fine
2.5.44 + Viper driver + DMA + mouse: works fine
2.5.44 + Viper driver + DMA no mouse: lockup

yes. 2.4.18 with the generic PCI DMA driver will let me set the drive
to DMA. And it works fine. dd'd the whole drive. The 2.5 generic
driver won't let me set DMA.

Looks like either I'm just plain lucky under 2.4.18, or there's
something bad w/ the Viper driver. I've been running 2.4.18 since
June 1 (and other 2.4 kernels before that) without any problems, so
I'm inclined to blame the new kernel version. It is, after all, a
development kernel.


Erik

2002-10-24 16:46:55

by Armin Schindler

[permalink] [raw]
Subject: Re: module_init in interrupt context ?

On Wed, 23 Oct 2002, Kai Germaschewski wrote:
> On Wed, 23 Oct 2002, Armin Schindler wrote:
>
> > With kernel 2.4.19 I noticed that calls from module_init()
> > may be done in interrupt context. I didn't have a problem here
> > before 2.4.17.
>
> Well, I am positive that this is not so.
>
> > E.g. in module_init() I use pci_module_init() for my driver
> > (I don't have HOTPLUG enabled), the when the .probe function is called
> > and the card is detected I create a proc entry for this new
> > found device, but most of the time create_proc_entry causes
> > BUG(), because it is called from interrupt context.
>
> I think you should provide the backtrace and the code in questions.
> Obviously, something is wrong, but it's virtually impossible that
> module_init() runs from irq context, so it has to be something else.

Yes, you are right, it is something else.
The problem is, that in_interrupt() is true if local_bh_count()
is != 0, which basically sounds correct, but if we are in
spin_lock_bh(), local_bh_count() is also != 0.

This means, in_interrupt() is always true when called inside
spin_[un]lock_bh() region.

So, it is not allowed to call create_proc_entry after
spin_lock_bh(), because sub-function proc_create()
calles kmalloc() with GFP_KERNEL and then in_interrupt()
is tested again, which gives the wrong status and
causes BUG() in kmem_cache_grow().

Was this done on purpose ?

Armin

2002-10-24 17:08:17

by Kai Germaschewski

[permalink] [raw]
Subject: Re: module_init in interrupt context ?

On Thu, 24 Oct 2002, Armin Schindler wrote:

> Yes, you are right, it is something else.
> The problem is, that in_interrupt() is true if local_bh_count()
> is != 0, which basically sounds correct, but if we are in
> spin_lock_bh(), local_bh_count() is also != 0.
>
> This means, in_interrupt() is always true when called inside
> spin_[un]lock_bh() region.
>
> So, it is not allowed to call create_proc_entry after
> spin_lock_bh(), because sub-function proc_create()
> calles kmalloc() with GFP_KERNEL and then in_interrupt()
> is tested again, which gives the wrong status and
> causes BUG() in kmem_cache_grow().
>
> Was this done on purpose ?

You are never allowed to sleep with a spinlock held, no matter if it's
_bh, _irq or just a plain spin_lock(). Doing so creates the possibility of
deadlock (assuming your lock actually is necessary and you're not
serialized already), current 2.5 btw has debugging code which checks for
this bug.

So this code was buggy in earlier 2.4 as well, you'll have to create your
proc entry outside the protected region or use a semaphore instead of a
spinlock.

--Kai


2002-10-25 06:09:23

by Armin Schindler

[permalink] [raw]
Subject: Re: module_init in interrupt context ?

On Thu, 24 Oct 2002, Kai Germaschewski wrote:
> On Thu, 24 Oct 2002, Armin Schindler wrote:
>
> > Yes, you are right, it is something else.
> > The problem is, that in_interrupt() is true if local_bh_count()
> > is != 0, which basically sounds correct, but if we are in
> > spin_lock_bh(), local_bh_count() is also != 0.
> >
> > This means, in_interrupt() is always true when called inside
> > spin_[un]lock_bh() region.
> >
> > So, it is not allowed to call create_proc_entry after
> > spin_lock_bh(), because sub-function proc_create()
> > calles kmalloc() with GFP_KERNEL and then in_interrupt()
> > is tested again, which gives the wrong status and
> > causes BUG() in kmem_cache_grow().
> >
> > Was this done on purpose ?
>
> You are never allowed to sleep with a spinlock held, no matter if it's
> _bh, _irq or just a plain spin_lock(). Doing so creates the possibility of
> deadlock (assuming your lock actually is necessary and you're not
> serialized already), current 2.5 btw has debugging code which checks for
> this bug.
>
> So this code was buggy in earlier 2.4 as well, you'll have to create your
> proc entry outside the protected region or use a semaphore instead of a
> spinlock.

Okay, I wasn't aware of create_proc_entry() must to be called
from user-context and outside any locks.

But anyway, isn't the statement "in_interrupt() != 0" somehow wrong
when just the bh's are disabled ?

Armin


2002-10-25 08:58:38

by Russell King

[permalink] [raw]
Subject: Re: module_init in interrupt context ?

On Fri, Oct 25, 2002 at 08:15:05AM +0200, Armin Schindler wrote:
> > You are never allowed to sleep with a spinlock held, no matter if it's
> > _bh, _irq or just a plain spin_lock(). Doing so creates the possibility of
> > deadlock (assuming your lock actually is necessary and you're not
> > serialized already), current 2.5 btw has debugging code which checks for
> > this bug.
> >
> > So this code was buggy in earlier 2.4 as well, you'll have to create your
> > proc entry outside the protected region or use a semaphore instead of a
> > spinlock.
>
> Okay, I wasn't aware of create_proc_entry() must to be called
> from user-context and outside any locks.
>
> But anyway, isn't the statement "in_interrupt() != 0" somehow wrong
> when just the bh's are disabled ?

You must not schedule with bottom halves disabled.

--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html