2005-10-27 19:12:42

by Avuton Olrich

[permalink] [raw]
Subject: Overruns are killing my recordings.

Hello,

I've been plagued by overruns, I know it's probably linux device
driver issues, but wanted to see if anyone could possibly help me find
the heart of the issue:

I have ecasound output (at bottom) to show that it's getting
interrupted for up to 6 seconds, and all I really need to know is how
I figure out what the problem device driver is, so I can file a more
specific bug.

Computer: A7N8X Mobo with Athlon 2700+

shapeshifter linux # cat /proc/version
Linux version 2.6.14-rc5-mm1 (root@shapeshifter) (gcc version 3.4.4
(Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)) #2 PREEMPT Tue Oct 25
10:27:21 PDT 2005

(I have tried with 2.6.13-rc5-mm1 also)

config:
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.14-rc5-mm1
# Tue Oct 25 01:15:10 2005
#
CONFIG_X86_32=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
# CONFIG_SWAP_PREFETCH is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# 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_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_SMP is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_REGPARM=y
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_PHYSICAL_START=0x100000
# CONFIG_KEXEC is not set

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SOFTWARE_SUSPEND is not set

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
# CONFIG_ACPI_VIDEO is not set
# CONFIG_ACPI_HOTKEY is not set
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_IBM is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y

#
# APM (Advanced Power Management) BIOS Support
#
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_DEBUG is not set
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=y

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_VERBOSE 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

lspci -vvv
0000:00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different
version?) (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Region 0: Memory at e0000000 (32-bit, prefetchable) [size=32M]
Capabilities: [40] AGP version 2.0
Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64-
HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4
Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=x1
Capabilities: [60] #08 [2001]

0000:00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-

0000:00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-

0000:00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-

0000:00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-

0000:00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-

0000:00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a3)
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Capabilities: [48] #08 [01e1]

0000:00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 0c11
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at c800 [size=32]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller
(rev a3) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin A routed to IRQ 17
Region 0: Memory at e9080000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller
(rev a3) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin B routed to IRQ 18
Region 0: Memory at e9082000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller
(rev a3) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin C routed to IRQ 16
Region 0: Memory at e9083000 (32-bit, non-prefetchable) [size=256]
Capabilities: [44] #0a [2080]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet
Controller (rev a1)
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard onboard
nForce2 Ethernet
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (250ns min, 5000ns max)
Interrupt: pin A routed to IRQ 17
Region 0: Memory at e9084000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at cc00 [size=8]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=0 PME-

0000:00:05.0 Multimedia audio controller: nVidia Corporation nForce
Audio Processing Unit (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 0c11
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (250ns min, 3000ns max)
Interrupt: pin A routed to IRQ 3
Region 0: Memory at e9000000 (32-bit, non-prefetchable) [size=512K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce2
AC97 Audio Controler (MCP) (rev a1)
Subsystem: ASUSTeK Computer Inc.: Unknown device 8095
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (500ns min, 1250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at c000 [size=256]
Region 1: I/O ports at c400 [size=128]
Region 2: Memory at e9081000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI
Bridge (rev a3) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
I/O behind bridge: 00009000-0000afff
Memory behind bridge: e2000000-e5ffffff
Prefetchable memory behind bridge: e6000000-e6ffffff
BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-

0000:00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
(prog-if 8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc.: Unknown device 0c11
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Region 4: I/O ports at f000 [size=16]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:0c.0 PCI bridge: nVidia Corporation nForce2 PCI Bridge (rev
a3) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
I/O behind bridge: 0000b000-0000bfff
Memory behind bridge: e7000000-e8ffffff
Prefetchable memory behind bridge: 30000000-300fffff
BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-

0000:00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev a2)
(prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Bus: primary=00, secondary=03, subordinate=03, sec-latency=32
I/O behind bridge: 0000f000-00000fff
Memory behind bridge: fff00000-000fffff
Prefetchable memory behind bridge: fff00000-000fffff
BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-

0000:01:07.0 VGA compatible controller: Matrox Graphics, Inc. MGA
1064SG [Mystique] (rev 03) (prog-if 00 [VGA])
Subsystem: Matrox Graphics, Inc.: Unknown device 0000
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping+ SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Interrupt: pin A routed to IRQ 7
Region 0: Memory at e6000000 (32-bit, prefetchable) [size=8M]
Region 1: Memory at e2000000 (32-bit, non-prefetchable) [size=16K]
Region 2: Memory at e3000000 (32-bit, non-prefetchable) [size=8M]
Expansion ROM at e68a0000 [disabled] [size=64K]

0000:01:09.0 Multimedia audio controller: Creative Labs SB Audigy (rev 04)
Subsystem: Creative Labs SB Audigy 2 ZS (SB0350)
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (500ns min, 5000ns max)
Interrupt: pin A routed to IRQ 21
Region 0: I/O ports at 9000 [size=64]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:09.1 Input device controller: Creative Labs SB Audigy
MIDI/Game port (rev 04)
Subsystem: Creative Labs SB Audigy MIDI/Game Port
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Region 0: I/O ports at 9400 [size=8]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:09.2 FireWire (IEEE 1394): Creative Labs SB Audigy FireWire
Port (rev 04) (prog-if 10 [OHCI])
Subsystem: Creative Labs SB Audigy FireWire Port
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (500ns min, 1000ns max), cache line size 08
Interrupt: pin B routed to IRQ 11
Region 0: Memory at e5004000 (32-bit, non-prefetchable) [size=2K]
Region 1: Memory at e5000000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8169 Gigabit Ethernet (rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (8000ns min, 16000ns max), cache line size 10
Interrupt: pin A routed to IRQ 19
Region 0: I/O ports at 9800 [size=256]
Region 1: Memory at e5005000 (32-bit, non-prefetchable) [size=256]
Expansion ROM at e6880000 [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:0b.0 RAID bus controller: Silicon Image, Inc. SiI 3112
[SATALink/SATARaid] Serial ATA Controller (rev 01)
Subsystem: Silicon Image, Inc. SiI 3112 SATARaid Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin A routed to IRQ 20
Region 0: I/O ports at 9c00 [size=8]
Region 1: I/O ports at a000 [size=4]
Region 2: I/O ports at a400 [size=8]
Region 3: I/O ports at a800 [size=4]
Region 4: I/O ports at ac00 [size=16]
Region 5: Memory at e5006000 (32-bit, non-prefetchable) [size=512]
Expansion ROM at e6800000 [disabled] [size=512K]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:02:01.0 Ethernet controller: 3Com Corporation 3C920B-EMB
Integrated Fast Ethernet Controller [Tornado] (rev 40)
Subsystem: ASUSTeK Computer Inc. A7N8X Deluxe onboard
3C920B-EMB Integrated Fast Ethernet Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (2500ns min, 2500ns max), cache line size 08
Interrupt: pin A routed to IRQ 16
Region 0: I/O ports at b000 [size=128]
Region 1: Memory at e8000000 (32-bit, non-prefetchable) [size=128]
Expansion ROM at 30000000 [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-


When recording with:
ecasound -r -i alsahw,0,0 -z:db,300000 -z:intbuf -t:10800 -o x.wav

I get:
********************************************************************************
* ecasound v2.4.2 (C) 1997-2005 Kai Vehmanen and others
********************************************************************************
- [ Session created ] ----------------------------------------------------------
- [ Chainsetup created (cmdline) ] ---------------------------------------------
(eca-chainsetup-parser) (eca-chainsetup) Raised-priority mode enabled.
... (prio:50)
(eca-chainsetup-parser) Using double-buffer of 300000 sample frames.
(eca-chainsetup-parser) Enabling extra buffering on realtime devices.
(eca-chainsetup-parser) Set processing time to 10800.00.
- [ Connecting chainsetup ] ----------------------------------------------------
(eca-chainsetup) 'rt' buffering mode selected.
(eca-chainsetup) Audio object "alsahw", mode "read".
(audio-io) Format: s16_le, channels 2, srate 44100, interleaved.
(eca-chainsetup) Audio object
... "/mnt/aux/Tmp/new_wavs/x.wav",
... mode "read/write".
(audio-io) Format: s16_le, channels 2, srate 44100, interleaved.
- [ Chainsetup connected ] -----------------------------------------------------
(eca-control-objects) Connected chainsetup: "command-line-setup".
- [ Controller/Starting batch processing ] -------------------------------------
- [ Engine init - Driver start ] -----------------------------------------------
(eca-engine) Using realtime-scheduling (SCHED_FIFO).
(eca-engine) Prefilling i/o buffers.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6353.08 ms long.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6034.68 ms long.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6000.70 ms long.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6459.37 ms long.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6446.73 ms long.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6426.75 ms long.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6609.30 ms long.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6548.48 ms long.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6402.78 ms long.
(audioio-db-client) WARNING: Overrun in writing to
"/mnt/aux/Tmp/new_wavs/howard-stern-channel-100-stump-shower-shoes_2005-10-26.wav".
Trying to recover.
(audioio-db-server) wait_for_full failed
(audioio-db-client) Serious trouble with the disk-io subsystem! (output)
warning! playback overrun - samples lost! Break was at least 6512.77 ms long.
- [ Controller/Batch processing finished ] -------------------------------------
(eca-control-objects) Disconnecting chainsetup: "command-line-setup".
- [ Chainsetup disconnected ] --------------------------------------------------
WARNING! While reading from ALSA-pcm device C0D0, there were 10 overruns.
(audioio-db-client) There were total 10 xruns.

Thanks,
avuton
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.


2005-10-27 19:57:53

by Avuton Olrich

[permalink] [raw]
Subject: Re: Overruns are killing my recordings.

On 10/27/05, Patrick McFarland <[email protected]> wrote:
> On Thursday 27 October 2005 03:12 pm, you wrote:
> > Hello,
> >
> > I've been plagued by overruns, I know it's probably linux device
> > driver issues, but wanted to see if anyone could possibly help me find
> > the heart of the issue:
> >
> > I have ecasound output (at bottom) to show that it's getting
> > interrupted for up to 6 seconds, and all I really need to know is how
> > I figure out what the problem device driver is, so I can file a more
> > specific bug.
>
> I don't know if ecasound uses jack or not, but jack should be set to use
> realtime mode. Without realtime, kiss sane low latency auto-input/output
> goodbye.

ecasound utilizes jack if it's on, which I don't really need so I
don't run it, but it is taking advantage of SCHED_FIFO. But truely
this is not what I'm trying to get to. I have something in this
computer that is interrupting everything +/- 6 seconds and I'd like to
find out what it is, I'm really just not sure the best way to find out
what the 'offender' is.

thanks,
avuton
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

2005-10-27 21:11:36

by Lee Revell

[permalink] [raw]
Subject: Re: Overruns are killing my recordings.

On Thu, 2005-10-27 at 12:57 -0700, Avuton Olrich wrote:
> On 10/27/05, Patrick McFarland <[email protected]> wrote:
> > > I have ecasound output (at bottom) to show that it's getting
> > > interrupted for up to 6 seconds, and all I really need to know is how
> > > I figure out what the problem device driver is, so I can file a more
> > > specific bug.
> >
> > I don't know if ecasound uses jack or not, but jack should be set to use
> > realtime mode. Without realtime, kiss sane low latency auto-input/output
> > goodbye.
>
> ecasound utilizes jack if it's on, which I don't really need so I
> don't run it, but it is taking advantage of SCHED_FIFO. But truely
> this is not what I'm trying to get to. I have something in this
> computer that is interrupting everything +/- 6 seconds and I'd like to
> find out what it is, I'm really just not sure the best way to find out
> what the 'offender' is.

Are you trying to record from the onboard nforce sound device or the
Audigy? Do you have the same problem with the other device?

Make sure ecasound isn't doing something stupid like writing to the disk
from the audio thread, setting the disk IO thread to SCHED_FIFO, passing
data between the audio capture and disk threads in a non RT safe manner,
etc.

Also why are you using an -mm kernel? It's highly experimental. Most
audio people use the -rt kernel.

Lee

2005-10-28 00:00:48

by Avuton Olrich

[permalink] [raw]
Subject: Re: Overruns are killing my recordings.

aggh. Sorry for all the noise,

I have all my drives on a linear raid and I had hdparm set to put my
IDE drives to sleep after a while, I didn't put it together because it
was happening in the middle of recording.

Thanks for the help,
avuton
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

2005-10-28 03:56:07

by Lee Revell

[permalink] [raw]
Subject: Re: Overruns are killing my recordings.

On Thu, 2005-10-27 at 17:00 -0700, Avuton Olrich wrote:
> aggh. Sorry for all the noise,
>
> I have all my drives on a linear raid and I had hdparm set to put my
> IDE drives to sleep after a while, I didn't put it together because it
> was happening in the middle of recording.

Hey, I think it's a testament to the progress that has been made in the
past year and a half that people now consider audio dropouts in a "known
good" app like ecasound to be a kernel bug. For the longest time the
answer was "linux isn't an RTOS, deal with it".

Lee

2005-10-28 14:52:31

by Mark Knecht

[permalink] [raw]
Subject: Re: Overruns are killing my recordings.

On 10/27/05, Lee Revell <[email protected]> wrote:
> On Thu, 2005-10-27 at 17:00 -0700, Avuton Olrich wrote:
> > aggh. Sorry for all the noise,
> >
> > I have all my drives on a linear raid and I had hdparm set to put my
> > IDE drives to sleep after a while, I didn't put it together because it
> > was happening in the middle of recording.
>
> Hey, I think it's a testament to the progress that has been made in the
> past year and a half that people now consider audio dropouts in a "known
> good" app like ecasound to be a kernel bug. For the longest time the
> answer was "linux isn't an RTOS, deal with it".
>
> Lee

Lee, et. all,
Could this possibly be part of what is causing my xrun problems? I
had a huge rash of xruns yesterday. I seem to run into issues after
longer times of inactivity. I hadn't considered this possibility
before.

Unfortunately I don't know how to fix this for SATA drives? hdparm
doesn't say much and sdparm gives me info I don't understand:

lightning ~ # hdparm /dev/sda

/dev/sda:
IO_support = 0 (default 16-bit)
readonly = 0 (off)
readahead = 256 (on)
geometry = 30401/255/63, sectors = 250059350016, start = 0
lightning ~ #

lightning ~ # sdparm /dev/sda
/dev/sda: ATA ST3250823AS 3.03
Read write error recovery mode page:
AWRE 1 [ sav: 1]
ARRE 1 [ sav: 1]
PER 0 [ sav: 0]
Caching (SBC) mode page:
WCE 1 [ sav: 1]
RCD 0 [ sav: 0]
Control mode page:
SWP 0 [ sav: 0]
lightning ~ #

Drive performance seems good:

lightning ~ # hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 2200 MB in 2.00 seconds = 1100.12 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate
ioctl for device
Timing buffered disk reads: 198 MB in 3.03 seconds = 65.45 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate
ioctl for device
lightning ~ #

I'm still waiting for someone to address the problem where I cannot
build 2.4.16-rc5-rt7 so this is on -rt3.

Thanks,
Mark

2005-10-28 18:44:45

by Lee Revell

[permalink] [raw]
Subject: Re: Overruns are killing my recordings.

On Fri, 2005-10-28 at 07:52 -0700, Mark Knecht wrote:
> On 10/27/05, Lee Revell <[email protected]> wrote:
> > On Thu, 2005-10-27 at 17:00 -0700, Avuton Olrich wrote:
> > > aggh. Sorry for all the noise,
> > >
> > > I have all my drives on a linear raid and I had hdparm set to put my
> > > IDE drives to sleep after a while, I didn't put it together because it
> > > was happening in the middle of recording.
> >
> > Hey, I think it's a testament to the progress that has been made in the
> > past year and a half that people now consider audio dropouts in a "known
> > good" app like ecasound to be a kernel bug. For the longest time the
> > answer was "linux isn't an RTOS, deal with it".
> >
> > Lee
>
> Lee, et. all,
> Could this possibly be part of what is causing my xrun problems? I
> had a huge rash of xruns yesterday. I seem to run into issues after
> longer times of inactivity. I hadn't considered this possibility
> before.

I really doubt it. It's more likely that the xruns are caused by a bug
in the new ktimers system. I am seeing "xruns" here too with -rt1, but
the latency tracer does not report anything over ~120 usecs. Previous
to all the ktimers/HRT stuff going in, I was xrun free for months.

The reason I think it's a ktimers bug is because sometimes JACK reports
an xrun of negative length which I'd NEVER seen before.

I suspect this might all be fixed in the latest -rt patch but I have not
had time to build it.

Lee

2005-10-28 18:55:27

by Mark Knecht

[permalink] [raw]
Subject: Re: Overruns are killing my recordings.

On 10/28/05, Lee Revell <[email protected]> wrote:
> On Fri, 2005-10-28 at 07:52 -0700, Mark Knecht wrote:
> > On 10/27/05, Lee Revell <[email protected]> wrote:
> > > On Thu, 2005-10-27 at 17:00 -0700, Avuton Olrich wrote:
> > > > aggh. Sorry for all the noise,
> > > >
> > > > I have all my drives on a linear raid and I had hdparm set to put my
> > > > IDE drives to sleep after a while, I didn't put it together because it
> > > > was happening in the middle of recording.
> > >
> > > Hey, I think it's a testament to the progress that has been made in the
> > > past year and a half that people now consider audio dropouts in a "known
> > > good" app like ecasound to be a kernel bug. For the longest time the
> > > answer was "linux isn't an RTOS, deal with it".
> > >
> > > Lee
> >
> > Lee, et. all,
> > Could this possibly be part of what is causing my xrun problems? I
> > had a huge rash of xruns yesterday. I seem to run into issues after
> > longer times of inactivity. I hadn't considered this possibility
> > before.
>
> I really doubt it. It's more likely that the xruns are caused by a bug
> in the new ktimers system. I am seeing "xruns" here too with -rt1, but
> the latency tracer does not report anything over ~120 usecs. Previous
> to all the ktimers/HRT stuff going in, I was xrun free for months.
>
> The reason I think it's a ktimers bug is because sometimes JACK reports
> an xrun of negative length which I'd NEVER seen before.
>
> I suspect this might all be fixed in the latest -rt patch but I have not
> had time to build it.
>
> Lee

OK then I'll just hang tinght. I've not seen any response on the email
I sent about 2.6.14-rc5-rt7. I cannot build it. It fails like this:

CC arch/x86_64/kernel/sys_x86_64.o
CC arch/x86_64/kernel/x8664_ksyms.o
CC arch/x86_64/kernel/i387.o
CC arch/x86_64/kernel/syscall.o
CC arch/x86_64/kernel/vsyscall.o
arch/x86_64/kernel/vsyscall.c:57: error: `SEQLOCK_UNLOCKED' undeclared
here (not in a function)
make[1]: *** [arch/x86_64/kernel/vsyscall.o] Error 1
make: *** [arch/x86_64/kernel] Error 2
lightning linux #

This is a new failure here since -rc5-rt3.

2005-10-28 21:21:25

by William Weston

[permalink] [raw]
Subject: Re: Overruns are killing my recordings.

On Fri, 28 Oct 2005, Mark Knecht wrote:

> OK then I'll just hang tinght. I've not seen any response on the email
> I sent about 2.6.14-rc5-rt7. I cannot build it. It fails like this:
>
> CC arch/x86_64/kernel/sys_x86_64.o
> CC arch/x86_64/kernel/x8664_ksyms.o
> CC arch/x86_64/kernel/i387.o
> CC arch/x86_64/kernel/syscall.o
> CC arch/x86_64/kernel/vsyscall.o
> arch/x86_64/kernel/vsyscall.c:57: error: `SEQLOCK_UNLOCKED' undeclared
> here (not in a function)
> make[1]: *** [arch/x86_64/kernel/vsyscall.o] Error 1
> make: *** [arch/x86_64/kernel] Error 2
> lightning linux #
>
> This is a new failure here since -rc5-rt3.

I don't have a 64 bit machine to test on, but the following patch should
at least make the compiler happy. This is the only place outside of
seqlock.h that SEQLOCK_UNLOCKED is used, btw.

If this kernel gives you the 'BUG in get_monotonic_clock_ts' and 'time
warped' warnings, then you may want to look at the '2.6.14-rc4-rt7' lkml
thread for Steven's patch to fix the false positives.

Cheers,
--ww


--- linux-2.6.14-rc5-rt7/arch/x86_64/kernel/vsyscall.c.orig 2005-10-25 14:20:21.000000000 -0700
+++ linux-2.6.14-rc5-rt7/arch/x86_64/kernel/vsyscall.c 2005-10-28 14:08:37.000000000 -0700
@@ -54,7 +54,7 @@
struct vsyscall_gtod_data_t __vsyscall_gtod_data __section_vsyscall_gtod_data;

extern seqlock_t vsyscall_gtod_lock;
-seqlock_t __vsyscall_gtod_lock __section_vsyscall_gtod_lock = SEQLOCK_UNLOCKED;
+seqlock_t __vsyscall_gtod_lock __section_vsyscall_gtod_lock = SEQLOCK_UNLOCKED(__section_vsyscall_gtod_lock);


#include <asm/unistd.h>

2005-10-28 23:07:26

by Mark Knecht

[permalink] [raw]
Subject: Re: Overruns are killing my recordings.

On 10/28/05, William Weston <[email protected]> wrote:
> On Fri, 28 Oct 2005, Mark Knecht wrote:
>
> > OK then I'll just hang tinght. I've not seen any response on the email
> > I sent about 2.6.14-rc5-rt7. I cannot build it. It fails like this:
> >
> > CC arch/x86_64/kernel/sys_x86_64.o
> > CC arch/x86_64/kernel/x8664_ksyms.o
> > CC arch/x86_64/kernel/i387.o
> > CC arch/x86_64/kernel/syscall.o
> > CC arch/x86_64/kernel/vsyscall.o
> > arch/x86_64/kernel/vsyscall.c:57: error: `SEQLOCK_UNLOCKED' undeclared
> > here (not in a function)
> > make[1]: *** [arch/x86_64/kernel/vsyscall.o] Error 1
> > make: *** [arch/x86_64/kernel] Error 2
> > lightning linux #
> >
> > This is a new failure here since -rc5-rt3.
>
> I don't have a 64 bit machine to test on, but the following patch should
> at least make the compiler happy. This is the only place outside of
> seqlock.h that SEQLOCK_UNLOCKED is used, btw.
>
> If this kernel gives you the 'BUG in get_monotonic_clock_ts' and 'time
> warped' warnings, then you may want to look at the '2.6.14-rc4-rt7' lkml
> thread for Steven's patch to fix the false positives.
>
> Cheers,
> --ww
>
>
> --- linux-2.6.14-rc5-rt7/arch/x86_64/kernel/vsyscall.c.orig 2005-10-25 14:20:21.000000000 -0700
> +++ linux-2.6.14-rc5-rt7/arch/x86_64/kernel/vsyscall.c 2005-10-28 14:08:37.000000000 -0700
> @@ -54,7 +54,7 @@
> struct vsyscall_gtod_data_t __vsyscall_gtod_data __section_vsyscall_gtod_data;
>
> extern seqlock_t vsyscall_gtod_lock;
> -seqlock_t __vsyscall_gtod_lock __section_vsyscall_gtod_lock = SEQLOCK_UNLOCKED;
> +seqlock_t __vsyscall_gtod_lock __section_vsyscall_gtod_lock = SEQLOCK_UNLOCKED(__section_vsyscall_gtod_lock);
>
>
> #include <asm/unistd.h>
>
>

William,
Thanks for trying but this patch has only uncovered mare problems
for me. Since it's Friday evening and I won't have much more time I
think that since 2.6.14 is out I should just wait for Ingo to release
patch-2.6.14-rt1 and we'll see how it goes from there.

As for what I'm seeing here's what I have after the patch:

<SNIP>
struct clocksource clock;
};

extern struct vsyscall_gtod_data_t vsyscall_gtod_data;
struct vsyscall_gtod_data_t __vsyscall_gtod_data __section_vsyscall_gtod_data;

extern seqlock_t vsyscall_gtod_lock;
seqlock_t __vsyscall_gtod_lock __section_vsyscall_gtod_lock =
SEQLOCK_UNLOCKED(__section_vsyscall_gtod_lock);


#include <asm/unistd.h>
<SNIP>

Here are the error messages:

CC arch/x86_64/kernel/syscall.o
CC arch/x86_64/kernel/vsyscall.o
arch/x86_64/kernel/vsyscall.c:57: error: parse error before '.' token
arch/x86_64/kernel/vsyscall.c:57: error: parse error before '.' token
arch/x86_64/kernel/vsyscall.c:57: error: parse error before '}' token
arch/x86_64/kernel/vsyscall.c:57: warning: implicit declaration of
function `aligned'
arch/x86_64/kernel/vsyscall.c:57: warning: left-hand operand of comma
expression has no effect
arch/x86_64/kernel/vsyscall.c:57: warning: left-hand operand of comma
expression has no effect
arch/x86_64/kernel/vsyscall.c:57: error: invalid lvalue in unary `&'
arch/x86_64/kernel/vsyscall.c:57: warning: use of compound expressions
as lvalues is deprecated
arch/x86_64/kernel/vsyscall.c:57: warning: use of compound expressions
as lvalues is deprecated
arch/x86_64/kernel/vsyscall.c:57: error: parse error before ')' token
arch/x86_64/kernel/vsyscall.c:57: error: parse error before '.' token
arch/x86_64/kernel/vsyscall.c:57: error: parse error before '}' token
In file included from include/asm/unistd.h:782,
from arch/x86_64/kernel/vsyscall.c:60:
include/asm/ptrace.h:97: error: `EF_PF' undeclared here (not in a function)
include/asm/ptrace.h:97: warning: excess elements in struct initializer
include/asm/ptrace.h:97: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:98: error: `EF_AF' undeclared here (not in a function)
include/asm/ptrace.h:98: warning: excess elements in struct initializer
include/asm/ptrace.h:98: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:99: error: `EF_ZF' undeclared here (not in a function)
include/asm/ptrace.h:99: warning: excess elements in struct initializer
include/asm/ptrace.h:99: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:100: error: `EF_SF' undeclared here (not in a function)
include/asm/ptrace.h:100: warning: excess elements in struct initializer
include/asm/ptrace.h:100: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:101: error: `EF_TF' undeclared here (not in a function)
include/asm/ptrace.h:101: warning: excess elements in struct initializer
include/asm/ptrace.h:101: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:102: error: `EF_IE' undeclared here (not in a function)
include/asm/ptrace.h:102: warning: excess elements in struct initializer
include/asm/ptrace.h:102: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:103: error: `EF_DF' undeclared here (not in a function)
include/asm/ptrace.h:103: warning: excess elements in struct initializer
include/asm/ptrace.h:103: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:104: error: `EF_OF' undeclared here (not in a function)
include/asm/ptrace.h:104: warning: excess elements in struct initializer
include/asm/ptrace.h:104: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:105: error: `EF_IOPL' undeclared here (not in a function)
include/asm/ptrace.h:105: warning: excess elements in struct initializer
include/asm/ptrace.h:105: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:106: error: `EF_IOPL_RING0' undeclared here (not
in a function)
include/asm/ptrace.h:106: warning: excess elements in struct initializer
include/asm/ptrace.h:106: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:107: error: `EF_IOPL_RING1' undeclared here (not
in a function)
include/asm/ptrace.h:107: warning: excess elements in struct initializer
include/asm/ptrace.h:107: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:108: error: `EF_IOPL_RING2' undeclared here (not
in a function)
include/asm/ptrace.h:108: warning: excess elements in struct initializer
include/asm/ptrace.h:108: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:109: error: `EF_NT' undeclared here (not in a function)
include/asm/ptrace.h:109: warning: excess elements in struct initializer
include/asm/ptrace.h:109: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:110: error: `EF_RF' undeclared here (not in a function)
include/asm/ptrace.h:110: warning: excess elements in struct initializer
include/asm/ptrace.h:110: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:111: error: `EF_VM' undeclared here (not in a function)
include/asm/ptrace.h:111: warning: excess elements in struct initializer
include/asm/ptrace.h:111: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:112: error: `EF_AC' undeclared here (not in a function)
include/asm/ptrace.h:112: warning: excess elements in struct initializer
include/asm/ptrace.h:112: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:113: error: `EF_VIF' undeclared here (not in a function)
include/asm/ptrace.h:113: warning: excess elements in struct initializer
include/asm/ptrace.h:113: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:114: error: `EF_VIP' undeclared here (not in a function)
include/asm/ptrace.h:114: warning: excess elements in struct initializer
include/asm/ptrace.h:114: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:115: error: `EF_ID' undeclared here (not in a function)
include/asm/ptrace.h:115: warning: excess elements in struct initializer
include/asm/ptrace.h:115: warning: (near initialization for
`(anonymous).lock.wait_list.dp_node')
include/asm/ptrace.h:116: error: parse error before ';' token
arch/x86_64/kernel/vsyscall.c:81: error: `tv' undeclared here (not in
a function)
arch/x86_64/kernel/vsyscall.c:81: error: called object is not a function
arch/x86_64/kernel/vsyscall.c:81: error: `tz' undeclared here (not in
a function)
arch/x86_64/kernel/vsyscall.c:81: error: called object is not a function
arch/x86_64/kernel/vsyscall.c:81: warning: excess elements in struct initializer
arch/x86_64/kernel/vsyscall.c:81: warning: (near initialization for
`(anonymous)')
arch/x86_64/kernel/vsyscall.c:81: error: parse error before ':' token
arch/x86_64/kernel/vsyscall.c:81: warning: excess elements in struct initializer
arch/x86_64/kernel/vsyscall.c:81: warning: (near initialization for
`(anonymous)')
arch/x86_64/kernel/vsyscall.c:81: warning: excess elements in struct initializer
arch/x86_64/kernel/vsyscall.c:81: warning: (near initialization for
`(anonymous)')
arch/x86_64/kernel/vsyscall.c:81: error: parse error before ')' token
arch/x86_64/kernel/vsyscall.c:84: error: initializer element is not constant
arch/x86_64/kernel/vsyscall.c:84: error: (near initialization for
`__vsyscall_gtod_lock.lock')
arch/x86_64/kernel/vsyscall.c:86: error: `cycle_delta' undeclared here
(not in a function)
arch/x86_64/kernel/vsyscall.c:86: warning: excess elements in struct initializer
arch/x86_64/kernel/vsyscall.c:86: warning: (near initialization for
`__vsyscall_gtod_lock')
arch/x86_64/kernel/vsyscall.c:98: warning: type defaults to `int' in
declaration of `now'
arch/x86_64/kernel/vsyscall.c:98: error: initializer element is not constant
arch/x86_64/kernel/vsyscall.c:98: warning: data definition has no type
or storage class
arch/x86_64/kernel/vsyscall.c:99: warning: type defaults to `int' in
declaration of `cycle_delta'
arch/x86_64/kernel/vsyscall.c:100: error: initializer element is not constant
arch/x86_64/kernel/vsyscall.c:100: warning: data definition has no
type or storage class
arch/x86_64/kernel/vsyscall.c:103: warning: type defaults to `int' in
declaration of `nsec_delta'
arch/x86_64/kernel/vsyscall.c:103: error: initializer element is not constant
arch/x86_64/kernel/vsyscall.c:103: warning: data definition has no
type or storage class
arch/x86_64/kernel/vsyscall.c:104: warning: type defaults to `int' in
declaration of `nsec_delta'
arch/x86_64/kernel/vsyscall.c:104: error: redefinition of 'nsec_delta'
arch/x86_64/kernel/vsyscall.c:103: error: previous definition of
'nsec_delta' was here
arch/x86_64/kernel/vsyscall.c:104: error: initializer element is not constant
arch/x86_64/kernel/vsyscall.c:104: warning: data definition has no
type or storage class
arch/x86_64/kernel/vsyscall.c:107: warning: type defaults to `int' in
declaration of `tv'
arch/x86_64/kernel/vsyscall.c:107: error: incompatible types in initialization
arch/x86_64/kernel/vsyscall.c:107: error: initializer element is not constant
arch/x86_64/kernel/vsyscall.c:107: warning: data definition has no
type or storage class
arch/x86_64/kernel/vsyscall.c:108: error: parse error before '{' token
arch/x86_64/kernel/vsyscall.c:108: warning: type defaults to `int' in
declaration of `__rem'
arch/x86_64/kernel/vsyscall.c:108: error: conflicting types for '__rem'
arch/x86_64/kernel/vsyscall.c:108: error: previous declaration of
'__rem' was here
arch/x86_64/kernel/vsyscall.c:108: error: `__base' undeclared here
(not in a function)
arch/x86_64/kernel/vsyscall.c:108: warning: data definition has no
type or storage class
arch/x86_64/kernel/vsyscall.c:108: warning: type defaults to `int' in
declaration of `nsec_delta'
arch/x86_64/kernel/vsyscall.c:108: error: redefinition of 'nsec_delta'
arch/x86_64/kernel/vsyscall.c:104: error: previous definition of
'nsec_delta' was here
arch/x86_64/kernel/vsyscall.c:108: error: redefinition of 'nsec_delta'
arch/x86_64/kernel/vsyscall.c:104: error: previous definition of
'nsec_delta' was here
arch/x86_64/kernel/vsyscall.c:108: warning: data definition has no
type or storage class
arch/x86_64/kernel/vsyscall.c:108: warning: type defaults to `int' in
declaration of `__rem'
arch/x86_64/kernel/vsyscall.c:108: warning: data definition has no
type or storage class
arch/x86_64/kernel/vsyscall.c:108: error: parse error before '}' token
arch/x86_64/kernel/vsyscall.c:114: warning: type defaults to `int' in
declaration of `__ret'
arch/x86_64/kernel/vsyscall.c:114: warning: data definition has no
type or storage class
arch/x86_64/kernel/vsyscall.c:114: error: parse error before '}' token
arch/x86_64/kernel/vsyscall.c: In function `vgettimeofday':
arch/x86_64/kernel/vsyscall.c:146: warning: implicit declaration of
function `do_vgettimeofday'
make[1]: *** [arch/x86_64/kernel/vsyscall.o] Error 1
make: *** [arch/x86_64/kernel] Error 2
lightning linux #

Thanks for trying,
Mark