5.3 interrupt storm (atapicam) and I/O error

Daniel S. Haischt me at daniel.stefan.haischt.name
Sun Jan 30 03:36:07 PST 2005


Hello,

attached you will find a copy of my custom kernel
config which did work without any issue under FreeBSD
5.2.1. As outlined earlier if using this config on
FreeBSD 5.3-RELEASE I am getting an interrupt
storm while booting the system.

The following hardware configuration *won't* cause
an interrupt storm on FreeBSD 5.3 if using the
Promise PDC20269 controller:

  * harddrive attached to IDE channel #1
  * no device attached to channel #2

The following hardware configuration *will* cause
an interrupt storm on FreeBSD 5.3 if using the
Promise PDC20269 controller:

Config #1:
  * harddrive attached to IDE channel #1
  * CDROM or CDRW attached to channel #2
Config #2:
  * CDROM or CDRW attached to channel #1
  * harddrive attached to IDE channel #2

Jason Henson schrieb:
> On 01/28/05 08:38:14, Daniel S. Haischt wrote:
> 
>> oops, did forget the tixt file ...
>>
>> Daniel S. Haischt schrieb:
>>
>>> I don't know whether this is related to your issue,
>>> but on one of my boxes I am also getting an interrupt
>>> storm with atapicam enabled.
>>>
>>> On FreeBSD 5.2.1 I did not experience any interrupt
>>> storm issues, even if using the same hardware configuration.
>>>
>>> Have a look at the attached text file for a detailed
>>> description ...
>>>
>>> Olivier Certner schrieb:
>>>
>>>>  Hi,
>>>>
>>>>  Could you give a look at my post dated 04/01/2005 entitled "Freeze  
>>>> with CAM (using KsCD)"? Maybe we have fallen on the same kind of  
>>>> bug concerning atapicam.
>>>>
>>>>  If you have KDE, maybe you should try to reproduce the problem I  
>>>> had. I've no time to test your scenario (the one with the EIDE  
>>>> drive, I don't have SCSI) now, but I'll try to reproduce it at the  
>>>> beginning of next week, in order to see if the freeze happens also  
>>>> on my computer.
>>>>
>>>>  Hope this will help us to progress on our issues.
>>>>
>>>>  Regards,
>>>>
>>>>   Olivier
>>>> _______________________________________________
>>>> freebsd-questions at freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>>>> To unsubscribe, send any mail to "freebsd-questions- 
>>>> unsubscribe at freebsd.org"
>>>
>>>
>>>
>>
>> -- 
>> Mit freundlichen Gruessen / With kind regards
>> DAn.I.El S. Haischt
>>
>> Want a complete signature??? Type at a shell prompt:
>> $ > finger -l haischt at daniel.stefan.haischt.name
>>
> 
>> Hello,
>>
>> recently I updated one of my FreeBSD boxes to
>> v 5.3. This box got a builtin Promise PDC20269
>> UDMA133 controller. Actually it's a controller
>> with two IDE channels.
>>
>> So far if using the GENERIC kernel that comes
>> with FreeBSD, I do not experience any problems.
>>
>> If using my own customized kernel I am getting
>> the following error message while booting the
>> system:
>>
>> ----8<--------8<--------8<-------8<-----8<-----
>> Interrupt storm detected on "irq10: atapci1";
>> throtteling interrupt source:
>> ---->8-------->8-------->8------->8----->8-----
>>
>> After some trail-and-error based investigations,
>> I did figure out that if I don't plugin any device
>> into IDE channel two, the just described error
>> does not occur.
>>
>> So it has something to do with IDE channel two.
>>
>> As an additional note - The controller works
>> under Linux, FreeBSD 5.3 (GENERIC) and FreeBSD
>> 5.2.1 (custom kernel).
>>
>> Any hints on how to solve this issue would be
>> greatly appreciated.
> 
> 
> 
> How about a copy of your custom changes to the kernel?  Also did you  
> get a response from Søren Schmidt <sos at DeepCore.dk>, he wrote and  
> maintains the ata stuff iirc.
> 
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to 
> "freebsd-questions-unsubscribe at freebsd.org"

-- 
Mit freundlichen Gruessen / With kind regards
DAn.I.El S. Haischt

Want a complete signature??? Type at a shell prompt:
$ > finger -l haischt at daniel.stefan.haischt.name
-------------- next part --------------
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files. 
# If you are in doubt as to the purpose or necessity of a line, check first 
# in NOTES.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.369.2.2 2002/12/31 05:35:45 scottl Exp $

machine         i386
#cpu            I486_CPU
cpu             I586_CPU
#cpu            I686_CPU
ident           ABYSSONE
maxusers        512

#To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         #Default places to look for devices.

#makeoptions    DEBUG=-g                #Build kernel with gdb(1) debug symbols

options         INET                    #InterNETworking
options         INET6                   #IPv6 communications protocols
options         FFS                     #Berkeley Fast Filesystem
options         NETATALK                #AppleTalk
options         SOFTUPDATES             #Enable FFS soft updates support
options         UFS_ACL                 #Support for access control lists
options         UFS_DIRHASH             #Improve performance on big directories
#options        MD_ROOT                 #MD is a potential root device
options         NFSCLIENT               #Network Filesystem Client
options         NFSSERVER               #Network Filesystem Server
options         NFS_ROOT                #NFS usable as root device, requires NFSCLIENT
options         MSDOSFS                 #MSDOS Filesystem
options         CD9660                  #ISO 9660 Filesystem
options         PROCFS                  #Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                #Pseudo-filesystem framework
options         COMPAT_43               #Compatible with BSD 4.3 [KEEP THIS!]
options         COMPAT_FREEBSD4         #Compatible with FreeBSD4
options         SCHED_4BSD
#options        KTRACE                  #ktrace(1) support

#
# Memory tuning etc. (needed for databases such as Oracle, PostgreSQL etc.)
#
options		NBUF=2048

options		MAXDSIZ = (1024UL*1024*1024) 
options		MAXSSIZ = (1024UL*1024*1024) 
options		DFLDSIZ = (1024UL*1024*1024)

# System V shared memory and tunable parameters
options         SYSVSHM                 #SYSV-style shared memory
options		SHMMAXPGS=32768		# max amount of shared memory pages (4k on i386) 
options		SHMMIN=2		# min shared memory segment size (bytes) 
options		SHMMNI=256		# max number of shared memory identifiers 
options		SHMSEG=256		# max shared memory segments per process

# System V message queues and tunable parameters
options         SYSVMSG                 #SYSV-style message queues
options		MSGMNB=8192		# max characters per message queue 
options		MSGMNI=256		# max number of message queue identifiers 
options		MSGSEG=8192		# max number of message segments in the system 
options		MSGSSZ=16		# size of a message segment MUST be power of 2 
options		MSGTQL=128		# max amount of messages in the system

# System V semaphores and tunable parameters
options         SYSVSEM                 #SYSV-style semaphores
options		SEMMAP=512		# amount of entries in semaphore map 
options		SEMMNI=512		# number of semaphore identifiers in the system 
options		SEMUME=512		# max number of undo entries per process 
options		SEMMNS=1024		# number of semaphores in the system 
options		SEMMNU=512		# number of undo structures in the system 
options		SEMMSL=256		# max number of semaphores per id 
options		SEMOPM=256		# max number of operations per semop call

options         _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
#options        AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
#options        AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~215k to driver.

# Options for IPFirewalls
options         IPFIREWALL              #firewall
options         IPFIREWALL_VERBOSE      #print information about
#options         IPFIREWALL_FORWARD      #enable transparent proxy support
options         IPFIREWALL_VERBOSE_LIMIT=100    #limit verbosity
options         IPFIREWALL_DEFAULT_TO_ACCEPT    #allow everything by default

options         IPV6FIREWALL            #firewall for IPv6
options         IPV6FIREWALL_VERBOSE
options         IPV6FIREWALL_VERBOSE_LIMIT=100
options         IPV6FIREWALL_DEFAULT_TO_ACCEPT

options         IPDIVERT                #divert sockets

#options        IPFILTER                #ipfilter support
#options        IPFILTER_LOG            #ipfilter logging
options         RANDOM_IP_ID
#options        ICMP_BANDLIM

#option         BRIDGE

# Netgraph and PPOE support
options         NETGRAPH
options         NETGRAPH_ETHER
options         NETGRAPH_SOCKET
options         NETGRAPH_PPPOE

# IPSEC support
#options                FAST_IPSEC
#options                IPSEC
#options                IPSEC_ESP

# Compatibility options
#options                DRM_LINUX
options         COMPAT_LINUX
options         LINPROCFS

# CPU options
#options                CPU_FASTER_5X86_FPU
#options                CPU_SUSP_HLT
#options                CPU_UPGRADE_HW_CACHE

# Network options
options         DEVICE_POLLING

# Debugging for use in -current
#options        DDB                     #Enable the kernel debugger
#options        INVARIANTS              #Enable calls of extra sanity checking
#options        INVARIANT_SUPPORT       #Extra sanity checks of internal structures, required by INVARIANTS
#options        WITNESS                 #Enable checks to detect deadlocks and cycles
#options        WITNESS_SKIPSPIN        #Don't run witness on spinlocks for speed

device          isa
device          eisa
device          pci

# Floppy drives
device          fdc

# ATA and ATAPI devices
device          ata
device          atadisk                 # ATA disk drives
device          atapicd                 # ATAPI CDROM drives
device          atapifd                 # ATAPI floppy drives
device		atapicam
device		cd
#device         atapist                 # ATAPI tape drives
options         ATA_STATIC_ID           #Static device numbering

# SCSI peripherals (might be needed for USB card readers)
device		scbus		# SCSI bus (required for SCSI)
device		da		# Direct Access (disks)
device		pass		# Passthrough device (direct SCSI access)

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc          # AT keyboard controller
device          atkbd           # AT keyboard
device          psm             # PS/2 mouse

# Video related options
device          vga             # VGA video card driver
device          splash          # Splash screen and screen saver support
#options                VESA

# syscons is the default console driver, resembling an SCO console
device          sc

# Enable this for the pcvt (VT220 compatible) console driver
#device         vt
#options        XSERVER                 # support for X server on a vt console
#options        FAT_CURSOR              # start with block cursor

# Floating point support - do not disable.
device          npx

# Power management support (see NOTES for more options)
device          apm
# Add suspend/resume support for the i8254.
device          pmtimer

# Serial (COM) ports
device          sio             # 8250, 16[45]50 based serial ports

# Parallel port
device          ppc
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
device          plip            # TCP/IP over parallel
device          ppi             # Parallel port interface device

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support
device          sis
#device         xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# Pseudo devices - the number indicates how many units to allocate.
device          random          # Entropy device
device          loop            # Network loopback
device          ether           # Ethernet support
device          sl              # Kernel SLIP
device          ppp             # Kernel PPP

# Options for kernel ppp
options         PPP_BSDCOMP     #PPP BSD-compress support
options         PPP_DEFLATE     #PPP zlib/deflate/gzip support
options         PPP_FILTER      #enable bpf filtering (needs bpf)

device          tun             # Packet tunnel.
device          pty             # Pseudo-ttys (telnet etc)
device		md              # Memory "disks"
device          gif             # IPv6 and IPv4 tunneling
device          faith           # IPv6-to-IPv4 relaying (translation)
device          apm_saver       # Requires APM

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device          bpf             # Berkeley packet filter

# USB support
device          uhci            # UHCI PCI->USB interface
device          ohci            # OHCI PCI->USB interface
device          usb             # USB Bus (required)
#device         udbp            # USB Double Bulk Pipe devices
device          ugen            # Generic
device          uhid            # "Human Interface Devices"
device          ukbd            # Keyboard
device          ulpt            # Printer
device		umass           # Disks/Mass storage - Requires scbus and da
device          ums             # Mouse
#device         urio            # Diamond Rio 500 MP3 player
device          uscanner        # Scanners

# Sound support
device          speaker         # Play IBM BASIC-style noises out your speaker
#device          pca
device          pcm
device		sbc
#device          sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15


More information about the freebsd-questions mailing list