All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
       [not found]   ` <20040903123139.565c806b@mango.fruits.de>
@ 2004-09-03 10:32     ` Ingo Molnar
  2004-09-03 11:59       ` Florian Schmidt
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-03 10:32 UTC (permalink / raw)
  To: Florian Schmidt; +Cc: linux-kernel, rlrevell, felipe_alfaro


* Florian Schmidt <mista.tapas@gmx.net> wrote:

> > best would be to enable the NMI watchdog (nmi_watchdog=1 (or 2) boot
> > option) - check that it's working via the attached lockupcli.c
> > userspace code (run it as root). To have an NMI watchdog you need
> > APIC/IOAPIC support in the .config.
> 
> Hmm, my local APIC kinda sux and i had all kinds of trouble using it
> [ERR count went up, stuff didn't work; XT-PIC always worked very well
> here]. So i'm kinda reluctant to compile with APIC. I suppose i can
> compile with it but turn it off via boot option? Or does the watchdog
> need a APIC that actually does stuff? 

in theory you should be able to boot with just the local APIC enabled
and "nmi_watchdog=2" and get a working NMI watchdog. You'll still have
the normal PIC IRQ handling.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
  2004-09-03 11:59       ` Florian Schmidt
@ 2004-09-03 11:55         ` Ingo Molnar
  2004-09-03 13:01           ` Florian Schmidt
  2004-09-03 12:04         ` Florian Schmidt
  1 sibling, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-03 11:55 UTC (permalink / raw)
  To: Florian Schmidt; +Cc: linux-kernel, rlrevell, felipe_alfaro

[-- Attachment #1: Type: text/plain, Size: 703 bytes --]


* Florian Schmidt <mista.tapas@gmx.net> wrote:

> [<c0105e29>] do_signal+0x79/0x110
> [<c01162a0>] default_wake_function+0x0/0x20
>   c012fgd7   do_futex+0x47/0xa0
>   c012fb20   sys_futex
>   c0103f07   do_notify
>   c01060e6   work_notifysig
>
> Code: 96 54 01 00 00 8e e0 8e e8 85 d2 74 11 c7 86 54 01 00 00 00 00 00
> 00 89 d0 e8 bb e4 ff 8b 9e 5c 01 00 00 85 db 74 09 8b 45 0c <8b> 40 20
> 48 78 08 8b 5d f8 8b 75 fc c9 c3 c7 86 56 01 00 00 00 
> <6> note: scsynth exited with preempt count 1

it seems the first crash scrolled off and we dont really know what
happened ... Could you apply the attached patch - it will shut the
console off and freeze the box after printing the first oops.

	Ingo

[-- Attachment #2: print-single-oops.patch --]
[-- Type: text/plain, Size: 268 bytes --]

--- linux/arch/i386/kernel/traps.c.orig
+++ linux/arch/i386/kernel/traps.c
@@ -256,6 +256,9 @@ void show_registers(struct pt_regs *regs
 		}
 	}
 	printk("\n");
+	console_silent();
+	for (;;)
+		local_irq_disable();
 }	
 
 static void handle_BUG(struct pt_regs *regs)

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
  2004-09-03 10:32     ` lockup with voluntary preempt R0 and VP, KP, etc, disabled Ingo Molnar
@ 2004-09-03 11:59       ` Florian Schmidt
  2004-09-03 11:55         ` Ingo Molnar
  2004-09-03 12:04         ` Florian Schmidt
  0 siblings, 2 replies; 226+ messages in thread
From: Florian Schmidt @ 2004-09-03 11:59 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, rlrevell, felipe_alfaro

On Fri, 3 Sep 2004 12:32:44 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> 
> * Florian Schmidt <mista.tapas@gmx.net> wrote:
> 
> > > best would be to enable the NMI watchdog (nmi_watchdog=1 (or 2)
> > > boot option) - check that it's working via the attached
> > > lockupcli.c userspace code (run it as root). To have an NMI
> > > watchdog you need APIC/IOAPIC support in the .config.
> > 
> > Hmm, my local APIC kinda sux and i had all kinds of trouble using it
> > [ERR count went up, stuff didn't work; XT-PIC always worked very
> > well here]. So i'm kinda reluctant to compile with APIC. I suppose i
> > can compile with it but turn it off via boot option? Or does the
> > watchdog need a APIC that actually does stuff? 
> 
> in theory you should be able to boot with just the local APIC enabled
> and "nmi_watchdog=2" and get a working NMI watchdog. You'll still have
> the normal PIC IRQ handling.
> 
> 	Ingo
> 

ok, here you go [mental note to myself: get a second computer or a
digital camera :), maybe my ZX81 will do]. This is what is saw on my
console [sometimes i got lazy in between, i hope not at the wrong
spots]:

[<c0105e29>] do_signal+0x79/0x110
[<c01162a0>] default_wake_function+0x0/0x20
  c012fgd7   do_futex+0x47/0xa0
  c012fb20   sys_futex
  c0103f07   do_notify
  c01060e6   work_notifysig
Code: 96 54 01 00 00 8e e0 8e e8 85 d2 74 11 c7 86 54 01 00 00 00 00 00
00 89 d0 e8 bb e4 ff 8b 9e 5c 01 00 00 85 db 74 09 8b 45 0c <8b> 40 20
48 78 08 8b 5d f8 8b 75 fc c9 c3 c7 86 56 01 00 00 00 
<6> note: scsynth exited with preempt count 1
Unable to handle kernel NULL pointer dereference at virtual adress
00000020 printing eip:
c0117ff2
*pde = 00000000
Oops = 0000[#21]
PREEMPT
Modules linked in: [you wanna know em?]
CPU: 0
EIP: 0060:[<c0117ff2>] Not tainted VLI
EFLAGS: 00010282 (2.6.9-rc1-VP-R0)
EIP is at mm_release+0x42/0xb0

That's all except for the modules list..

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
  2004-09-03 11:59       ` Florian Schmidt
  2004-09-03 11:55         ` Ingo Molnar
@ 2004-09-03 12:04         ` Florian Schmidt
  2004-09-03 12:08           ` Florian Schmidt
  1 sibling, 1 reply; 226+ messages in thread
From: Florian Schmidt @ 2004-09-03 12:04 UTC (permalink / raw)
  To: Florian Schmidt; +Cc: Ingo Molnar, linux-kernel, rlrevell, felipe_alfaro

On Fri, 3 Sep 2004 13:59:19 +0200
Florian Schmidt <mista.tapas@gmx.net> wrote:

> ok, here you go [mental note to myself: get a second computer or a
> digital camera :), maybe my ZX81 will do]. This is what is saw on my
> console [sometimes i got lazy in between, i hope not at the wrong
> spots]:
> 
> [<c0105e29>] do_signal+0x79/0x110
> [<c01162a0>] default_wake_function+0x0/0x20
>   c012fgd7   do_futex+0x47/0xa0
>   c012fb20   sys_futex
>   c0103f07   do_notify
>   c01060e6   work_notifysig
> Code: 96 54 01 00 00 8e e0 8e e8 85 d2 74 11 c7 86 54 01 00 00 00 00
> 00 00 89 d0 e8 bb e4 ff 8b 9e 5c 01 00 00 85 db 74 09 8b 45 0c <8b> 40
> 20 48 78 08 8b 5d f8 8b 75 fc c9 c3 c7 86 56 01 00 00 00 
> <6> note: scsynth exited with preempt count 1
> Unable to handle kernel NULL pointer dereference at virtual adress
> 00000020 printing eip:
> c0117ff2
> *pde = 00000000
> Oops = 0000[#21]
> PREEMPT
> Modules linked in: [you wanna know em?]
> CPU: 0
> EIP: 0060:[<c0117ff2>] Not tainted VLI
> EFLAGS: 00010282 (2.6.9-rc1-VP-R0)
> EIP is at mm_release+0x42/0xb0
> 
> That's all except for the modules list..

and for completeness sake here's my kernel .config:

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.9-rc1-VP-R0
# Fri Sep  3 12:57:30 2004
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y

#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_PREEMPT_TIMING=y
CONFIG_LATENCY_TRACE=y
CONFIG_MCOUNT=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
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_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D 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_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=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=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=y
CONFIG_X86_UP_APIC=y
# CONFIG_X86_UP_IOAPIC is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_TSC=y
# CONFIG_X86_MCE 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

#
# Firmware Drivers
#
# 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)
#
CONFIG_PM=y
# CONFIG_SOFTWARE_SUSPEND is not set
# CONFIG_PM_DISK is not set

#
# ACPI (Advanced Configuration and Power Interface) Support
#
# CONFIG_ACPI is not set

#
# APM (Advanced Power Management) BIOS Support
#
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
CONFIG_APM_REAL_MODE_POWER_OFF=y

#
# 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_LEGACY_PROC is not set
CONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

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

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_DEBUG_DRIVER is not set

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

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play support
#

#
# Block devices
#
CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA 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_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set

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

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
CONFIG_BLK_DEV_SIS5513=y
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=m
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA 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_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR 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_QLA2XXX=m
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T 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

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

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

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_TOS 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
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set

#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_FTP is not set
# CONFIG_IP_NF_IRC is not set
# CONFIG_IP_NF_TFTP is not set
# CONFIG_IP_NF_AMANDA is not set
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM is not set
# CONFIG_IP_NF_RAW is not set
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_REALM=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_MATCH_SCTP is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK 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_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
CONFIG_SIS900=m
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

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

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
CONFIG_GAMEPORT=m
CONFIG_SOUND_GAMEPORT=m
# 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_PCIPS2=m

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD 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_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
# 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=y
# CONFIG_SERIAL_8250_CONSOLE is not set
CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_QIC02_TAPE is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=y
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=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_INTEL_MCH is not set
# CONFIG_AGP_NVIDIA is not set
CONFIG_AGP_SIS=m
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HANGCHECK_TIMER=m

#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_ISA=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_PROSAVAGE=m
CONFIG_I2C_SAVAGE4=m
CONFIG_SCx200_ACB=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
CONFIG_I2C_VOODOO3=m
# CONFIG_I2C_PCA_ISA is not set

#
# Hardware Sensors Chip support
#
CONFIG_I2C_SENSOR=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_SMSC47M1 is not set
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83627HF=m

#
# Other I2C Chip support
#
CONFIG_SENSORS_EEPROM=m
CONFIG_SENSORS_PCF8574=m
CONFIG_SENSORS_PCF8591=m
CONFIG_SENSORS_RTC8564=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
# CONFIG_FB is not set
CONFIG_VIDEO_SELECT=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
# CONFIG_SND is not set

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
# CONFIG_USB is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
CONFIG_ROMFS_FS=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
# CONFIG_DEVPTS_FS_SECURITY is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_EXPORTFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
CONFIG_AFS_FS=m
CONFIG_RXRPC=m

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

#
# Native Language Support
#
CONFIG_NLS=y
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=y
# 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=y
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII 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=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_4KSTACKS is not set
# CONFIG_SCHEDSTATS is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#
CONFIG_SECURITY=y
# CONFIG_SECURITY_NETWORK is not set
CONFIG_SECURITY_CAPABILITIES=m
# CONFIG_SECURITY_SELINUX is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WHIRLPOOL is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set

#
# Library routines
#
CONFIG_CRC_CCITT=m
CONFIG_CRC32=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_X86_BIOS_REBOOT=y
CONFIG_PC=y


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
  2004-09-03 12:04         ` Florian Schmidt
@ 2004-09-03 12:08           ` Florian Schmidt
  2004-09-03 18:28             ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Florian Schmidt @ 2004-09-03 12:08 UTC (permalink / raw)
  To: Florian Schmidt; +Cc: Ingo Molnar, linux-kernel, rlrevell, felipe_alfaro

On Fri, 3 Sep 2004 14:04:25 +0200
Florian Schmidt <mista.tapas@gmx.net> wrote:

> 
> and for completeness sake here's my kernel .config:
> 
[snip]

btw: how can i set a different kernel "name" so the modules get their
own subdir in /lib/? 

flo


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
  2004-09-03 11:55         ` Ingo Molnar
@ 2004-09-03 13:01           ` Florian Schmidt
  0 siblings, 0 replies; 226+ messages in thread
From: Florian Schmidt @ 2004-09-03 13:01 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, rlrevell, felipe_alfaro

On Fri, 3 Sep 2004 13:55:05 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> 
> * Florian Schmidt <mista.tapas@gmx.net> wrote:
> 
> > [<c0105e29>] do_signal+0x79/0x110
> > [<c01162a0>] default_wake_function+0x0/0x20
> >   c012fgd7   do_futex+0x47/0xa0
> >   c012fb20   sys_futex
> >   c0103f07   do_notify
> >   c01060e6   work_notifysig
> >
> > Code: 96 54 01 00 00 8e e0 8e e8 85 d2 74 11 c7 86 54 01 00 00 00 00
> > 00 00 89 d0 e8 bb e4 ff 8b 9e 5c 01 00 00 85 db 74 09 8b 45 0c <8b>
> > 40 20 48 78 08 8b 5d f8 8b 75 fc c9 c3 c7 86 56 01 00 00 00 
> > <6> note: scsynth exited with preempt count 1
> 
> it seems the first crash scrolled off and we dont really know what
> happened ... Could you apply the attached patch - it will shut the
> console off and freeze the box after printing the first oops.

Ok, i booted with a bigger vga console. btw: it seems with APIC and
nmi_watchdog, i actually need to quit my scsynth app to trigger the bug.
so maybe this is a different one than the one i saw befure _during_
scsynth running [and jackd of course].

Since this is lots of text i have again become lazy. It would be much
better if someone could reproduce this behaviour on a machine with
serial console. Or a digital camera would work, too, to make a
screenshot of the Ooops.

Anyways: the screen was divided by a -----cut here: --- line. Above
which i saw this trace:

Badness in __put_task_struct at kernel/fork.c:89
__put_task_struct
schedule
do_syslog
sub_preempt_couint
dnotify_parent
autoreceive_wake_function
kmsg_read
autoreceive_wake_funtion
kmsg_read
vfs_read
sys_read
syscall_call
-----cut here:----

then this:
Kernel Bug sat kernel/exit.c838
invalid operand 0000[#1]
PREEMPT
CPU:0
EIP: 0060:[<c011cb34>] not tainted VLI
eax: 0 ebx: 0 ecx: ef6d11b0 edx: 0 esi: 0 edi: e558f2f0  ebp: e55e3ea8
esp: e55e3e8c  ds:007b es:007b ss:0068
process scsynth (pid 2624), threadinfo=e55e2000 tak=e55f2f0

Stack [skipped]
Trace:
do_group_exit
get_singal_to_deliver
do_signal
default_wake_function
do_futex
sys_futex
do_notify_resume
work_notify_sig[nal??]

Hope i have got some useful info this time around.  It seems there was
another bug which scrolled off the screen. I used the patched kernel
though.. [i'm pretty sure at least]..

flo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
  2004-09-03 12:08           ` Florian Schmidt
@ 2004-09-03 18:28             ` Lee Revell
  2004-09-03 18:54               ` Florian Schmidt
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-03 18:28 UTC (permalink / raw)
  To: Florian Schmidt; +Cc: Ingo Molnar, linux-kernel, felipe_alfaro

On Fri, 2004-09-03 at 08:08, Florian Schmidt wrote:
> On Fri, 3 Sep 2004 14:04:25 +0200
> Florian Schmidt <mista.tapas@gmx.net> wrote:
> 
> > 
> > and for completeness sake here's my kernel .config:
> > 
> [snip]
> 
> btw: how can i set a different kernel "name" so the modules get their
> own subdir in /lib/? 
> 

Change EXTRAVERSION in the top level kernel Makefile.  The newer VP
patches do this for you.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
  2004-09-03 18:54               ` Florian Schmidt
@ 2004-09-03 18:52                 ` Lee Revell
  2004-09-03 19:06                 ` K.R. Foley
  1 sibling, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-03 18:52 UTC (permalink / raw)
  To: Florian Schmidt; +Cc: Ingo Molnar, linux-kernel, felipe_alfaro

On Fri, 2004-09-03 at 14:54, Florian Schmidt wrote:
> On Fri, 03 Sep 2004 14:28:26 -0400
> Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > Change EXTRAVERSION in the top level kernel Makefile.  The newer VP
> > patches do this for you.
> 
> Ok, though my incentive was to have different versions of the same VP
> patched kernel [different config stuff though] ready w/o rebuilding in
> between.
> 
> Thanks for the tip :)
> 

You can put whatever you want in there, just append to the existing
EXTRAVERSION.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
  2004-09-03 18:28             ` Lee Revell
@ 2004-09-03 18:54               ` Florian Schmidt
  2004-09-03 18:52                 ` Lee Revell
  2004-09-03 19:06                 ` K.R. Foley
  0 siblings, 2 replies; 226+ messages in thread
From: Florian Schmidt @ 2004-09-03 18:54 UTC (permalink / raw)
  To: Lee Revell; +Cc: Ingo Molnar, linux-kernel, felipe_alfaro

On Fri, 03 Sep 2004 14:28:26 -0400
Lee Revell <rlrevell@joe-job.com> wrote:

> Change EXTRAVERSION in the top level kernel Makefile.  The newer VP
> patches do this for you.

Ok, though my incentive was to have different versions of the same VP
patched kernel [different config stuff though] ready w/o rebuilding in
between.

Thanks for the tip :)

flo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: lockup with voluntary preempt R0 and VP, KP, etc, disabled
  2004-09-03 18:54               ` Florian Schmidt
  2004-09-03 18:52                 ` Lee Revell
@ 2004-09-03 19:06                 ` K.R. Foley
  1 sibling, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-09-03 19:06 UTC (permalink / raw)
  To: Florian Schmidt; +Cc: Lee Revell, Ingo Molnar, linux-kernel, felipe_alfaro

Florian Schmidt wrote:
> On Fri, 03 Sep 2004 14:28:26 -0400
> Lee Revell <rlrevell@joe-job.com> wrote:
> 
> 
>>Change EXTRAVERSION in the top level kernel Makefile.  The newer VP
>>patches do this for you.
> 
> 
> Ok, though my incentive was to have different versions of the same VP
> patched kernel [different config stuff though] ready w/o rebuilding in
> between.
> 
> Thanks for the tip :)
> 
> flo

I believe if you just change the EXTRAVERSION in an already built tree, 
you can then just do "make modules_install" to install them into a 
different directory.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc1-bk4-R4
       [not found] <20040903120957.00665413@mango.fruits.de>
       [not found] ` <20040903100946.GA22819@elte.hu>
@ 2004-09-04 19:51 ` Ingo Molnar
  2004-09-05 14:02   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Ingo Molnar
  2004-09-05 14:49   ` [patch] voluntary-preempt-2.6.9-rc1-bk4-R4 Florian Schmidt
  1 sibling, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-04 19:51 UTC (permalink / raw)
  To: Florian Schmidt, K.R. Foley; +Cc: linux-kernel, rlrevell, felipe_alfaro


ok, found and fixed the bug reported by K.R. Foley, and found the bug
reported by Florian Schmidt as well.

the first bug was caused by an unrobustness in cond_resched(). The bug
happens when a task that is in do_exit() happens to be preempted via
cond_resched() - the TASK_ZOMBIE/TASK_DEAD task state is overwritten
with TASK_RUNNING and then the task crashes in the 'final' schedule. To
fix this i've changed cond_resched() to be much closer in behavior to
preempt_schedule() - this makes sense anyway.

Florian's bug triggers if softirq_preemption is disabled: if a softirq
still gets delayed to softirqd (this can happen even in the stock
kernel, under certain circumstances) then it would be executed without
disabling direct softirq execution. While this is safe and intended to
make softirqd preemptable when softirq_preemption==1, it's unsafe and an
illegal preemption when there are indirect softirqs around. The fix is
to properly disable softirqs in this branch too.

i've uploaded -R4 which fixes these two bugs:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk4-R4

other changes in -R4:

 - add the RX-break-up to e100.c which was promised in -R0 - patch was 
   missing by mistake.

 - small tweaks to the latency_trace header

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-04 19:51 ` [patch] voluntary-preempt-2.6.9-rc1-bk4-R4 Ingo Molnar
@ 2004-09-05 14:02   ` Ingo Molnar
  2004-09-05 16:07     ` Matt Heler
                       ` (3 more replies)
  2004-09-05 14:49   ` [patch] voluntary-preempt-2.6.9-rc1-bk4-R4 Florian Schmidt
  1 sibling, 4 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-05 14:02 UTC (permalink / raw)
  To: Florian Schmidt, K.R. Foley; +Cc: linux-kernel, rlrevell, felipe_alfaro


i've released -R5:
 
  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R5

2.6.9-rc1-bk12 patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
 + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2

Changes in -R5:

 - merge to 2.6.9-rc1-bk12

 - fixed an in_atomic() bug in the SMP && !PREEMPT kernel

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk4-R4
  2004-09-04 19:51 ` [patch] voluntary-preempt-2.6.9-rc1-bk4-R4 Ingo Molnar
  2004-09-05 14:02   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Ingo Molnar
@ 2004-09-05 14:49   ` Florian Schmidt
  2004-09-05 14:53     ` K.R. Foley
  1 sibling, 1 reply; 226+ messages in thread
From: Florian Schmidt @ 2004-09-05 14:49 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: K.R. Foley, linux-kernel, rlrevell, felipe_alfaro

On Sat, 4 Sep 2004 21:51:41 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> i've uploaded -R4 which fixes these two bugs:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk4-R4

yep, no more lockup.. cool

flo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk4-R4
  2004-09-05 14:49   ` [patch] voluntary-preempt-2.6.9-rc1-bk4-R4 Florian Schmidt
@ 2004-09-05 14:53     ` K.R. Foley
  0 siblings, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-09-05 14:53 UTC (permalink / raw)
  To: Florian Schmidt; +Cc: Ingo Molnar, linux-kernel, rlrevell, felipe_alfaro

Florian Schmidt wrote:
> On Sat, 4 Sep 2004 21:51:41 +0200
> Ingo Molnar <mingo@elte.hu> wrote:
> 
> 
>>i've uploaded -R4 which fixes these two bugs:
>>
>>  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk4-R4
> 
> 
> yep, no more lockup.. cool
> 
> flo

So far so good here also. Thanks Ingo.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-05 14:02   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Ingo Molnar
@ 2004-09-05 16:07     ` Matt Heler
  2004-09-05 18:16     ` Lee Revell
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 226+ messages in thread
From: Matt Heler @ 2004-09-05 16:07 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Florian Schmidt, K.R. Foley, linux-kernel, rlrevell, felipe_alfaro

Ingo,

Any chance you will start syncing your patches up with the -mm tree ? Or is it 
just -bk for the time being ? 

Matt H.


On Sunday 05 September 2004 7:02 am, Ingo Molnar wrote:
> i've released -R5:
>
>  
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12
>-R5
>
> 2.6.9-rc1-bk12 patching order is:
>
>    http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
>  + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
>  + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2
>
> Changes in -R5:
>
>  - merge to 2.6.9-rc1-bk12
>
>  - fixed an in_atomic() bug in the SMP && !PREEMPT kernel
>
> 	Ingo
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-05 14:02   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Ingo Molnar
  2004-09-05 16:07     ` Matt Heler
@ 2004-09-05 18:16     ` Lee Revell
  2004-09-05 19:12       ` Ingo Molnar
  2004-09-06 11:06     ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R6 Ingo Molnar
  2004-09-07 22:55     ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Lee Revell
  3 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-05 18:16 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

On Sun, 2004-09-05 at 10:02, Ingo Molnar wrote:
> i've released -R5:
>  
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R5
> 
> 2.6.9-rc1-bk12 patching order is:
> 
>    http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
>  + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
>  + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2
> 

Ok, first new one in a while.  This was with -R0, but I haven't seen
anyone else report it.  Let me know if you need the complete trace.

preemption latency trace v1.0.2
-------------------------------
 latency: 511 us, entries: 951 (951)
    -----------------
    | task: dbench/4810, uid:1000 nice:0 policy:0 rt_prio:0
    -----------------
 => started at: kill_pg_info+0x10/0x50
 => ended at:   kill_pg_info+0x2e/0x50
=======>
00000001 0.000ms (+0.000ms): kill_pg_info (sys_kill)
00000001 0.000ms (+0.000ms): __kill_pg_info (kill_pg_info)
00000001 0.000ms (+0.000ms): find_pid (__kill_pg_info)
00000001 0.001ms (+0.000ms): group_send_sig_info (__kill_pg_info)
00000001 0.001ms (+0.000ms): check_kill_permission (group_send_sig_info)
00000001 0.002ms (+0.000ms): dummy_task_kill (check_kill_permission)
00000002 0.002ms (+0.000ms): __group_send_sig_info (group_send_sig_info)
00000002 0.003ms (+0.000ms): handle_stop_signal (__group_send_sig_info)
00000002 0.003ms (+0.000ms): rm_from_queue (handle_stop_signal)
00000002 0.004ms (+0.000ms): rm_from_queue (handle_stop_signal)
00000002 0.004ms (+0.000ms): wake_up_state (handle_stop_signal)
00000002 0.005ms (+0.000ms): try_to_wake_up (wake_up_state)
00000002 0.005ms (+0.000ms): task_rq_lock (try_to_wake_up)
00000002 0.006ms (+0.000ms): next_thread (handle_stop_signal)
00000002 0.006ms (+0.000ms): sig_ignored (__group_send_sig_info)
00000002 0.007ms (+0.000ms): send_signal (__group_send_sig_info)
00000002 0.008ms (+0.000ms): kmem_cache_alloc (send_signal)
00000002 0.009ms (+0.001ms): memcpy (send_signal)

[...]

00000002 0.496ms (+0.000ms): kmem_cache_alloc (send_signal)
00000002 0.497ms (+0.000ms): memcpy (send_signal)
00000002 0.498ms (+0.000ms): __group_complete_signal (__group_send_sig_info)
00000002 0.498ms (+0.000ms): task_curr (__group_complete_signal)
00000001 0.498ms (+0.000ms): preempt_schedule (group_send_sig_info)
00000001 0.499ms (+0.000ms): group_send_sig_info (__kill_pg_info)
00000001 0.499ms (+0.000ms): check_kill_permission (group_send_sig_info)
00000001 0.499ms (+0.000ms): dummy_task_kill (check_kill_permission)
00000002 0.500ms (+0.000ms): __group_send_sig_info (group_send_sig_info)
00000002 0.500ms (+0.000ms): handle_stop_signal (__group_send_sig_info)
00000002 0.501ms (+0.000ms): rm_from_queue (handle_stop_signal)
00000002 0.501ms (+0.000ms): rm_from_queue (handle_stop_signal)
00000002 0.502ms (+0.000ms): wake_up_state (handle_stop_signal)
00000002 0.502ms (+0.000ms): try_to_wake_up (wake_up_state)
00000002 0.503ms (+0.000ms): task_rq_lock (try_to_wake_up)
00000003 0.503ms (+0.000ms): activate_task (try_to_wake_up)
00000003 0.503ms (+0.000ms): sched_clock (activate_task)
00000003 0.504ms (+0.000ms): recalc_task_prio (activate_task)
00000003 0.505ms (+0.000ms): effective_prio (recalc_task_prio)
00000003 0.505ms (+0.000ms): enqueue_task (activate_task)
00000002 0.505ms (+0.000ms): preempt_schedule (try_to_wake_up)
00000002 0.506ms (+0.000ms): next_thread (handle_stop_signal)
00000002 0.506ms (+0.000ms): sig_ignored (__group_send_sig_info)
00000002 0.507ms (+0.000ms): send_signal (__group_send_sig_info)
00000002 0.507ms (+0.000ms): kmem_cache_alloc (send_signal)
00000002 0.508ms (+0.000ms): cache_alloc_refill (kmem_cache_alloc)
00000002 0.509ms (+0.001ms): preempt_schedule (cache_alloc_refill)
00000002 0.510ms (+0.000ms): memcpy (send_signal)
00000002 0.510ms (+0.000ms): __group_complete_signal (__group_send_sig_info)
00000002 0.511ms (+0.000ms): task_curr (__group_complete_signal)
00000001 0.511ms (+0.000ms): preempt_schedule (group_send_sig_info)
00000001 0.512ms (+0.001ms): sub_preempt_count (kill_pg_info)
00000001 0.513ms (+0.000ms): update_max_trace (check_preempt_timing)
00000001 0.513ms (+0.000ms): _mmx_memcpy (update_max_trace)
00000001 0.514ms (+0.000ms): kernel_fpu_begin (_mmx_memcpy)

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-05 18:16     ` Lee Revell
@ 2004-09-05 19:12       ` Ingo Molnar
  2004-09-05 21:03         ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-05 19:12 UTC (permalink / raw)
  To: Lee Revell; +Cc: Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro


* Lee Revell <rlrevell@joe-job.com> wrote:

> Ok, first new one in a while.  This was with -R0, but I haven't seen
> anyone else report it.  Let me know if you need the complete trace.
> 
> preemption latency trace v1.0.2
> -------------------------------
>  latency: 511 us, entries: 951 (951)
>     -----------------
>     | task: dbench/4810, uid:1000 nice:0 policy:0 rt_prio:0
>     -----------------
>  => started at: kill_pg_info+0x10/0x50
>  => ended at:   kill_pg_info+0x2e/0x50
> =======>
> 00000001 0.000ms (+0.000ms): kill_pg_info (sys_kill)
> 00000001 0.000ms (+0.000ms): __kill_pg_info (kill_pg_info)
> 00000001 0.000ms (+0.000ms): find_pid (__kill_pg_info)

this is quite hard to fix - lots of processes were SIGKILL-ed (or
SIGTERM-ed) and the signal semantics require us to deliver signals
atomically. The only fix would be to turn the signal locks into
semaphores but that's quite hard. (it's also a bit problematic for
interrupt-delivered signals.)

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-05 19:12       ` Ingo Molnar
@ 2004-09-05 21:03         ` Lee Revell
  2004-09-06  6:30           ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-05 21:03 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

On Sun, 2004-09-05 at 15:12, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > Ok, first new one in a while.  This was with -R0, but I haven't seen
> > anyone else report it.  Let me know if you need the complete trace.
> > 
> > preemption latency trace v1.0.2
> > -------------------------------
> >  latency: 511 us, entries: 951 (951)
> >     -----------------
> >     | task: dbench/4810, uid:1000 nice:0 policy:0 rt_prio:0
> >     -----------------
> >  => started at: kill_pg_info+0x10/0x50
> >  => ended at:   kill_pg_info+0x2e/0x50
> > =======>
> > 00000001 0.000ms (+0.000ms): kill_pg_info (sys_kill)
> > 00000001 0.000ms (+0.000ms): __kill_pg_info (kill_pg_info)
> > 00000001 0.000ms (+0.000ms): find_pid (__kill_pg_info)
> 
> this is quite hard to fix - lots of processes were SIGKILL-ed (or
> SIGTERM-ed) and the signal semantics require us to deliver signals
> atomically. The only fix would be to turn the signal locks into
> semaphores but that's quite hard. (it's also a bit problematic for
> interrupt-delivered signals.)
> 
> 	Ingo
> 

Here is a histogram I generated using realfeel2.  This should provide
better data than my jackd histograms because the latter are dependent on
the ALSA driver, jackd's design, etc.

I had to modify the amlat utilities to use usecs instead of msecs, this
is a very good sign. ;-)

http://krustophenia.net/testresults.php?dataset=2.6.9-rc1-R0#/var/www/2.6.9-rc1-R0/foo.hist

I find the two smaller spikes to either side of the central spike really
odd.  These showed up in my jackd tests too, I had attributed them to
some measurement artifact, but they seem real.  Maybe a rounding bug, or
some kind of weird cache effect?

Lee



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-05 21:03         ` Lee Revell
@ 2004-09-06  6:30           ` Ingo Molnar
  2004-09-06  7:44             ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-06  6:30 UTC (permalink / raw)
  To: Lee Revell; +Cc: Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro


* Lee Revell <rlrevell@joe-job.com> wrote:

> http://krustophenia.net/testresults.php?dataset=2.6.9-rc1-R0#/var/www/2.6.9-rc1-R0/foo.hist
> 
> I find the two smaller spikes to either side of the central spike
> really odd.  These showed up in my jackd tests too, I had attributed
> them to some measurement artifact, but they seem real.  Maybe a
> rounding bug, or some kind of weird cache effect?

interesting - the histograms are pretty symmetric around the center.
E.g. the exponential foo.hist2 diagram is way too symmetric around 50
usecs! What precisely is being measured?

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-06  6:30           ` Ingo Molnar
@ 2004-09-06  7:44             ` Lee Revell
  2004-09-07  3:17               ` K.R. Foley
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-06  7:44 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

On Mon, 2004-09-06 at 02:30, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > http://krustophenia.net/testresults.php?dataset=2.6.9-rc1-R0#/var/www/2.6.9-rc1-R0/foo.hist
> > 
> > I find the two smaller spikes to either side of the central spike
> > really odd.  These showed up in my jackd tests too, I had attributed
> > them to some measurement artifact, but they seem real.  Maybe a
> > rounding bug, or some kind of weird cache effect?
> 
> interesting - the histograms are pretty symmetric around the center.
> E.g. the exponential foo.hist2 diagram is way too symmetric around 50
> usecs! What precisely is being measured?
> 

Here's the program.  It does mlockall(), acquires realtime scheduling,
then sets up a 2048 Hz stream of interupts from the RTC and measures the
delay.  It's quite possible there's a bug, the amlat program did not
seem to work, something must have changed with the RTC from 2.4 to 2.6.

/*
 * This was originally written by Mark Hahn.  Obtained from
 * http://brain.mcmaster.ca/~hahn/realfeel.c
 */

#include <linux/rtc.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/time.h>
#include <sys/mman.h>
#include <sched.h>
#include <sys/signal.h>
#include <string.h>

#define _GNU_SOURCE
#include <getopt.h>


/* global vars */
int stopit;				/* set to stop measuring */

#define SAMPLES	10000
int histogram[SAMPLES];			/* Milliseconds */

#define PAGE_SIZE	4096UL		/* virtual memory page size */
#define OSCR_HZ		3686400		/* frequency of clock ticks */
#define OSCR		0x90000010	/* physical address of OSCR register */
unsigned long *oscr;			/* ptr to OSCR */


void setup_clock (void)
{
	int fd;
	void *map_base;
	off_t target;
	off_t page;

#ifndef ARCHARM
	return;
#endif

	fd = open ("/dev/mem", O_RDWR | O_SYNC);
	if (-1 == fd) {
	    perror ("open of /dev/mem failed\n");
	    exit (1);
	}

	/* Map one page */
	target = OSCR;
	page = target & ~(PAGE_SIZE - 1);
	map_base = mmap (0, PAGE_SIZE, PROT_READ, MAP_SHARED, fd, page);
	if (MAP_FAILED == map_base) {
	    perror ("mmap failed");
	    (void) close (fd);
	    exit (2);
	}
	oscr = map_base + (target - page);

	/* This does not end the mmap,
	 * the mmap will go away when the process dies
	 */
	close (fd);
}

double second() {
	struct timeval tv;
	gettimeofday(&tv,0);
	return tv.tv_sec + 1e-6 * tv.tv_usec;
}

typedef unsigned long long u64;

u64 rdtsc() {
	u64 tsc;
#ifdef ARCHARM
	tsc = *oscr;
#else
	__asm__ __volatile__("rdtsc" : "=A" (tsc));
#endif
	return tsc;
}

void selectsleep(unsigned us) {
	struct timeval tv;
	tv.tv_sec = 0;
	tv.tv_usec = us;
	select(0,0,0,0,&tv);
}

double secondsPerTick, ticksPerSecond;

void calibrate()
{
	double sumx = 0;
	double sumy = 0;
	double sumxx = 0;
	double sumxy = 0;
	double slope;

	// least squares linear regression of ticks onto real time
	// as returned by gettimeofday.

	const unsigned n = 30;
	unsigned i;

	for (i=0; i<n; i++) {
		double breal,real,ticks;
		u64 bticks;
	
		breal = second();
		bticks = rdtsc();

		selectsleep((unsigned)(10000 + drand48() * 200000));

		ticks = rdtsc() - bticks;
		real = second() - breal;

		sumx += real;
		sumxx += real * real;
		sumxy += real * ticks;
		sumy += ticks;
	}
	slope = ((sumxy - (sumx*sumy) / n) /
		 (sumxx - (sumx*sumx) / n));
	ticksPerSecond = slope;
	secondsPerTick = 1.0 / slope;
	printf("%3.3f MHz\n",ticksPerSecond*1e-6);
}

void fatal(char *msg)
{
	perror(msg);
	exit(1);
}

int set_realtime_priority(void)
{
	struct sched_param schp;
	/*
	 * set the process to realtime privs
	 */
	memset(&schp, 0, sizeof(schp));
	schp.sched_priority = sched_get_priority_max(SCHED_FIFO);
	
	if (sched_setscheduler(0, SCHED_FIFO, &schp) != 0) {
		perror("sched_setscheduler");
		exit(1);
	}

	return 0;
}

void hist(char *file)
{
	int i;
	FILE *f;

	f = fopen(file, "w");
	if (f == 0) {
		fprintf(stderr, "realfeel: can't open `%s':%s\n",
			file, strerror(errno));
		exit(1);
	}

	for (i = 0; i < SAMPLES; i++) {
		if (histogram[i]) {
			fprintf(f, "%d.%d %d\n",
				i / 10, i % 10, histogram[i]);
		}
	}
	fclose(f);
	exit(0);
}

void signalled(int sig)
{
	stopit = 1;
}

static void usage(void)
{
	fprintf(stderr, "Usage: realfeel [--samples n] [--hertz n] filename.hist\n");
	exit(1);
}

uint bounded=0;
uint ncycles=0;
uint current=0;
int hz = 2048;

char *parse_options(int argc, char **argv)
{
  int c, option_index;

  static struct option long_options[] = {
    {"samples", required_argument, 0, 0},
    {"hertz", required_argument, 0, 0}, 
    {0, 0, 0, 0}, 
  };
  
  while ((c = getopt_long (argc, argv, "b:", long_options, &option_index)) != -1) {
    switch (option_index) {
      
    default:
    case -1:
      fprintf (stderr, "Bad option (%s)\n", optarg);
      usage();
      exit (1);
      break;

    case 0:
      bounded = 1;
      ncycles = atoi(optarg);
      break;

    case 1:
      hz = atoi(optarg);
      if (hz > 2048) {
	fprintf(stderr, "max allowable interrupt frequency is 2048 Hz\n");
	hz = 2048;
      }
      else if (hz <= 0) {
	fprintf(stderr, "zero or negative frequency doesn't make sense!\n");
	hz = 1;
      }
    }
  }

  if (argv[optind] == NULL) {
    fprintf(stderr, "histogram file name required\n");
    usage();
    exit (2);
  }

  return argv[optind];
}


#define msec(f) (1e3 * (f))
#define usec(f) (1e6 * (f))

int main(int argc, char *argv[])
{
	int fd;
	double ideal;
	u64 last;
	double max_delay = 0;
	char *histfile = parse_options(argc, argv);

	if (mlockall(MCL_CURRENT|MCL_FUTURE) != 0) {
		perror("mlockall");
		exit(1);
	}
	setup_clock ();
	set_realtime_priority();
	calibrate();
	printf("secondsPerTick=%f\n", secondsPerTick);
	printf("ticksPerSecond=%f\n", ticksPerSecond);

	fd = open("/dev/rtc",O_RDONLY);
	if (fd == -1) 
		fatal("failed to open /dev/rtc");

	ideal = 1.0 / hz;

	if (ioctl(fd, RTC_IRQP_SET, hz) == -1)
		fatal("ioctl(RTC_IRQP_SET) failed");

	printf("Interrupt frequency: %d Hz\n",hz);

	if (bounded) {
	  printf("running for %d samples\n", ncycles);
	}

	/* Enable periodic interrupts */
	if (ioctl(fd, RTC_PIE_ON, 0) == -1)
		fatal("ioctl(RTC_PIE_ON) failed");


	signal(SIGINT, signalled);

	last = rdtsc();

	while (!stopit) {
		u64 now;
		double delay;
		int data;
		int ms;

		if (read(fd, &data, sizeof(data)) == -1)
			fatal("blocking read failed");

		now = rdtsc();
		delay = secondsPerTick * (now - last);
		if (delay > max_delay) {
			max_delay = delay;
		//	printf("%.3f msec\n", -(1e3 * (ideal - delay)));
		}
		ms = (-(ideal - delay) + 1.0/20000.0) * 10000000;
		if (ms < 0)
			ms = 0;		/* hmmm */
		if (ms >= SAMPLES)
			ms = SAMPLES;
		histogram[ms]++;

		if (bounded) {
		  if (++current >= ncycles) {
		    printf ("finished collecting %d samples\n", ncycles);
		    printf ("maximum cycle time: %.3fms\n", 
			    -msec(ideal - max_delay));
		    break;
		  }

		  if ((current % 10000) == 0) {
		    printf("%d cycles (max cycle time so far: %.3fus)\n",
			   current, -(usec(ideal - max_delay)));
		  }
		}

		last = now;
	}
	if (ioctl(fd, RTC_PIE_OFF, 0) == -1)
		fatal("ioctl(RTC_PIE_OFF) failed");

	hist(histfile);

	return 0;
}


> 	Ingo
> 


^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-05 14:02   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Ingo Molnar
  2004-09-05 16:07     ` Matt Heler
  2004-09-05 18:16     ` Lee Revell
@ 2004-09-06 11:06     ` Ingo Molnar
  2004-09-06 11:48       ` Rafael J. Wysocki
  2004-09-08  6:56       ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R6 Lee Revell
  2004-09-07 22:55     ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Lee Revell
  3 siblings, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-06 11:06 UTC (permalink / raw)
  To: linux-kernel
  Cc: rlrevell, felipe_alfaro, Florian Schmidt, K.R. Foley, Mark_H_Johnson


i've released the -R6 patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R6

Changes in -R6:

 - fixed a CONFIG_SMP + CONFIG_PREEMPT bug that had the potential to
   cause spinlock related lockups. (UP kernels are unaffected.) This bug 
   got introduced in -R5.

2.6.9-rc1-bk12 patching order is:
 
    http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
  + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
  + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2
 
	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-06 11:06     ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R6 Ingo Molnar
@ 2004-09-06 11:48       ` Rafael J. Wysocki
  2004-09-06 12:25         ` Alexander Nyberg
  2004-09-08  6:56       ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R6 Lee Revell
  1 sibling, 1 reply; 226+ messages in thread
From: Rafael J. Wysocki @ 2004-09-06 11:48 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Andi Kleen

[-- Attachment #1: Type: text/plain, Size: 2402 bytes --]

On Monday 06 of September 2004 13:06, Ingo Molnar wrote:
> 
> i've released the -R6 patch:
> 
>   
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R6
> 
> Changes in -R6:
> 
>  - fixed a CONFIG_SMP + CONFIG_PREEMPT bug that had the potential to
>    cause spinlock related lockups. (UP kernels are unaffected.) This bug 
>    got introduced in -R5.
> 
> 2.6.9-rc1-bk12 patching order is:
>  
>     http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
>   + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
>   + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2

I did as instructed, but it didn't compile (on a UP x86-64 system).  I got 
this:

  CC      arch/x86_64/kernel/irq.o
arch/x86_64/kernel/irq.c: In function `request_irq':
arch/x86_64/kernel/irq.c:498: warning: implicit declaration of function 
`setup_irq'
  CC      arch/x86_64/kernel/ptrace.o
  CC      arch/x86_64/kernel/i8259.o
arch/x86_64/kernel/i8259.c: In function `init_IRQ':
arch/x86_64/kernel/i8259.c:570: warning: implicit declaration of function 
`setup_irq'
  CC      arch/x86_64/kernel/ioport.o
  CC      arch/x86_64/kernel/ldt.o
  CC      arch/x86_64/kernel/setup.o
  CC      arch/x86_64/kernel/time.o
arch/x86_64/kernel/time.c: In function `time_init':
arch/x86_64/kernel/time.c:820: warning: implicit declaration of function 
`setup_irq'
  CC      arch/x86_64/kernel/sys_x86_64.o
[- snip -]
C      kernel/hardirq.o
kernel/hardirq.c: In function `recalculate_desc_flags':
kernel/hardirq.c:314: error: `SA_NODELAY' undeclared (first use in this 
function)
kernel/hardirq.c:314: error: (Each undeclared identifier is reported only once
kernel/hardirq.c:314: error: for each function it appears in.)
kernel/hardirq.c: In function `generic_setup_irq':
kernel/hardirq.c:344: error: `SA_NODELAY' undeclared (first use in this 
function)
kernel/hardirq.c: In function `threaded_read_proc':
kernel/hardirq.c:659: error: `SA_NODELAY' undeclared (first use in this 
function)
kernel/hardirq.c: In function `threaded_write_proc':
kernel/hardirq.c:677: error: `SA_NODELAY' undeclared (first use in this 
function)
make[1]: *** [kernel/hardirq.o] Error 1
make: *** [kernel] Error 2

The .config is attached.

Regards,
RJW

-- 
For a successful technology, reality must take precedence over public 
relations, for nature cannot be fooled.
					-- Richard P. Feynman

[-- Attachment #2: config --]
[-- Type: text/plain, Size: 39371 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.9-rc1-bk12-VP-R6
# Mon Sep  6 13:39:33 2004
#
CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_X86_CMPXCHG=y
CONFIG_EARLY_PRINTK=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_GENERIC_ISA_DMA=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y

#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_SYSCTL=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_HOTPLUG=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
# CONFIG_PREEMPT_TIMING is not set
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SHMEM=y
# CONFIG_TINY_SHMEM is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y

#
# Processor type and features
#
CONFIG_MK8=y
# CONFIG_MPSC is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_MICROCODE=m
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_MTRR=y
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
CONFIG_GART_IOMMU=y
CONFIG_SWIOTLB=y
CONFIG_X86_MCE=y

#
# Power management options
#
CONFIG_PM=y
CONFIG_SOFTWARE_SUSPEND=y

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_ASUS=y
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_PROC_INTF is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_24_API is not set
CONFIG_CPU_FREQ_TABLE=m

#
# CPUFreq processor drivers
#
CONFIG_X86_POWERNOW_K8=m
CONFIG_X86_POWERNOW_K8_ACPI=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_ACPI_CPUFREQ is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_UNORDERED_IO is not set
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y

#
# PCMCIA/CardBus support
#
CONFIG_PCMCIA=m
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_YENTA=m
CONFIG_CARDBUS=y
CONFIG_PD6729=m
CONFIG_I82092=m
CONFIG_TCIC=m

#
# PCI Hotplug Support
#
CONFIG_HOTPLUG_PCI=m
CONFIG_HOTPLUG_PCI_FAKE=m
CONFIG_HOTPLUG_PCI_ACPI=m
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
# CONFIG_HOTPLUG_PCI_PCIE is not set
CONFIG_HOTPLUG_PCI_SHPC=m
# CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_UID16=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set

#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=m
# CONFIG_MTD_DEBUG is not set
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_CONCAT=m
CONFIG_MTD_REDBOOT_PARTS=m
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
CONFIG_MTD_CMDLINE_PARTS=y

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=m
CONFIG_MTD_BLOCK=m
CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
CONFIG_NFTL=m
CONFIG_NFTL_RW=y
CONFIG_INFTL=m

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=m
CONFIG_MTD_JEDECPROBE=m
CONFIG_MTD_GEN_PROBE=m
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_GEOMETRY is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=m
CONFIG_MTD_CFI_AMDSTD=m
CONFIG_MTD_CFI_AMDSTD_RETRY=0
CONFIG_MTD_CFI_STAA=m
CONFIG_MTD_CFI_UTIL=m
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
CONFIG_MTD_ABSENT=m

#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=m
CONFIG_MTD_PHYSMAP_START=0x8000000
CONFIG_MTD_PHYSMAP_LEN=0x4000000
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_PNC2000 is not set
CONFIG_MTD_SC520CDP=m
# CONFIG_MTD_NETSC520 is not set
# CONFIG_MTD_SBC_GXX is not set
# CONFIG_MTD_ELAN_104NC is not set
CONFIG_MTD_SCx200_DOCFLASH=m
CONFIG_MTD_AMD76XROM=m
# CONFIG_MTD_ICHXROM is not set
CONFIG_MTD_SCB2_FLASH=m
# CONFIG_MTD_NETtel is not set
# CONFIG_MTD_DILNETPC is not set
CONFIG_MTD_L440GX=m
CONFIG_MTD_PCI=m

#
# Self-contained MTD device drivers
#
CONFIG_MTD_PMC551=m
CONFIG_MTD_PMC551_BUGFIX=y
# CONFIG_MTD_PMC551_DEBUG is not set
CONFIG_MTD_SLRAM=m
# CONFIG_MTD_PHRAM is not set
CONFIG_MTD_MTDRAM=m
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTDRAM_ERASE_SIZE=128
CONFIG_MTD_BLKMTD=m

#
# Disk-On-Chip Device Drivers
#
CONFIG_MTD_DOC2000=m
CONFIG_MTD_DOC2001=m
CONFIG_MTD_DOC2001PLUS=m
CONFIG_MTD_DOCPROBE=m
CONFIG_MTD_DOCECC=m
CONFIG_MTD_DOCPROBE_ADVANCED=y
CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
CONFIG_MTD_DOCPROBE_HIGH=y
CONFIG_MTD_DOCPROBE_55AA=y

#
# NAND Flash Device Drivers
#
CONFIG_MTD_NAND=m
CONFIG_MTD_NAND_VERIFY_WRITE=y
CONFIG_MTD_NAND_IDS=m
CONFIG_MTD_NAND_DISKONCHIP=m
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y

#
# Parallel port support
#
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_PC_CML1=m
CONFIG_PARPORT_SERIAL=m
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_PC_SUPERIO=y
CONFIG_PARPORT_PC_PCMCIA=m
CONFIG_PARPORT_OTHER=y
CONFIG_PARPORT_1284=y

#
# Plug and Play support
#

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=m
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=128000
CONFIG_BLK_DEV_INITRD=y
CONFIG_LBD=y

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

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDETAPE=m
CONFIG_BLK_DEV_IDEFLOPPY=m
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_OFFBOARD=y
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW 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_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=m
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

#
# SCSI Transport Attributes
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX 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_AIC79XX is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA 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_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR 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_QLA2XXX=m
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
CONFIG_SCSI_DEBUG=m

#
# PCMCIA SCSI adapter support
#
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m

#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
CONFIG_DM_ZERO=m

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_IEEE1394=m

#
# Subsystem Options
#
# CONFIG_IEEE1394_VERBOSEDEBUG is not set
CONFIG_IEEE1394_OUI_DB=y
CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
CONFIG_IEEE1394_CONFIG_ROM_IP1394=y

#
# Device Drivers
#
CONFIG_IEEE1394_PCILYNX=m
CONFIG_IEEE1394_OHCI1394=m

#
# Protocol Drivers
#
CONFIG_IEEE1394_VIDEO1394=m
CONFIG_IEEE1394_SBP2=m
CONFIG_IEEE1394_SBP2_PHYS_DMA=y
CONFIG_IEEE1394_ETH1394=m
CONFIG_IEEE1394_DV1394=m
CONFIG_IEEE1394_RAWIO=m
CONFIG_IEEE1394_CMP=m
CONFIG_IEEE1394_AMDTP=m

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=m
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK_DEV=m
CONFIG_UNIX=y
CONFIG_NET_KEY=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_TUNNEL=m

#
# IP: Virtual Server Configuration
#
CONFIG_IP_VS=m
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_TUNNEL=m
CONFIG_IPV6_TUNNEL=m
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_BRIDGE_NETFILTER=y

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_PHYSDEV=m
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
# CONFIG_IP_NF_MATCH_REALM is not set
# CONFIG_IP_NF_MATCH_SCTP is not set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
# CONFIG_IP_NF_NAT_LOCAL is not set
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
# CONFIG_IP_NF_RAW is not set
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_IP_NF_COMPAT_IPCHAINS=m
CONFIG_IP_NF_COMPAT_IPFWADM=m

#
# IPv6: Netfilter Configuration
#
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_LIMIT=m
CONFIG_IP6_NF_MATCH_MAC=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_MULTIPORT=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_MARK=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_AHESP=m
CONFIG_IP6_NF_MATCH_LENGTH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_MARK=m
# CONFIG_IP6_NF_RAW is not set

#
# DECnet: Netfilter Configuration
#
# CONFIG_DECNET_NF_GRABULATOR is not set

#
# Bridge: Netfilter Configuration
#
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_XFRM=y
CONFIG_XFRM_USER=m

#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
# CONFIG_ATM is not set
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=m
CONFIG_DECNET_SIOCGIFCONF=y
# CONFIG_DECNET_ROUTER is not set
CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
CONFIG_IPX_INTERN=y
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=y
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
CONFIG_X25=m
CONFIG_LAPB=m
# CONFIG_NET_DIVERT is not set
CONFIG_ECONET=m
# CONFIG_ECONET_AUNUDP is not set
# CONFIG_ECONET_NATIVE is not set
CONFIG_WAN_ROUTER=m
# CONFIG_NET_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y

#
# Network testing
#
CONFIG_NET_PKTGEN=m
CONFIG_NETPOLL=y
CONFIG_NETPOLL_RX=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_HAMRADIO is not set
CONFIG_IRDA=m

#
# IrDA protocols
#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
CONFIG_IRDA_ULTRA=y

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
CONFIG_IRDA_DEBUG=y

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
CONFIG_IRTTY_SIR=m

#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=m
CONFIG_ACTISYS_DONGLE=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_LITELINK_DONGLE=m
CONFIG_MA600_DONGLE=m
CONFIG_GIRBIL_DONGLE=m
CONFIG_MCP2120_DONGLE=m
CONFIG_OLD_BELKIN_DONGLE=m
CONFIG_ACT200L_DONGLE=m

#
# Old SIR device drivers
#
# CONFIG_IRPORT_SIR is not set

#
# Old Serial dongle support
#

#
# FIR device drivers
#
CONFIG_USB_IRDA=m
CONFIG_SIGMATEL_FIR=m
CONFIG_VLSI_FIR=m
CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_BCSP_TXCRC=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_BONDING=m
CONFIG_EQUALIZER=m
CONFIG_TUN=m
CONFIG_ETHERTAP=m

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
CONFIG_SK98LIN=m
# CONFIG_TIGON3 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
CONFIG_NET_RADIO=y

#
# Obsolete Wireless cards support (pre-802.11)
#
CONFIG_STRIP=m
CONFIG_PCMCIA_WAVELAN=m
CONFIG_PCMCIA_NETWAVE=m

#
# Wireless 802.11 Frequency Hopping cards support
#
CONFIG_PCMCIA_RAYCS=m

#
# Wireless 802.11b ISA/PCI cards support
#
CONFIG_HERMES=m
CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m
CONFIG_PCI_HERMES=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m

#
# Wireless 802.11b Pcmcia/Cardbus cards support
#
CONFIG_PCMCIA_HERMES=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_ATMEL=m
CONFIG_PCMCIA_WL3501=m

#
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
#
CONFIG_PRISM54=m
CONFIG_NET_WIRELESS=y

#
# PCMCIA network device support
#
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_FMVJ18X=m
CONFIG_PCMCIA_PCNET=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_PCMCIA_SMC91C92=m
CONFIG_PCMCIA_XIRC2PS=m
CONFIG_PCMCIA_AXNET=m

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=m
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
# CONFIG_NET_FC is not set
CONFIG_SHAPER=m
CONFIG_NETCONSOLE=m

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_TSDEV=m
CONFIG_INPUT_TSDEV_SCREEN_X=240
CONFIG_INPUT_TSDEV_SCREEN_Y=320
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
CONFIG_GAMEPORT=m
CONFIG_SOUND_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_VORTEX=m
CONFIG_GAMEPORT_FM801=m
CONFIG_GAMEPORT_CS461x=m
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_SUNKBD=m
# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_XTKBD=m
CONFIG_KEYBOARD_NEWTON=m
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_UINPUT=m

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_COMPUTONE is not set
# CONFIG_ROCKETPORT is not set
# CONFIG_CYCLADES is not set
# CONFIG_DIGIEPCA is not set
# CONFIG_DIGI is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_ISI is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not set
CONFIG_N_HDLC=m
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not set
# CONFIG_RIO is not set
# CONFIG_STALDRV is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_ACPI=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
CONFIG_TIPAR=m

#
# IPMI
#
CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
# CONFIG_IPMI_POWEROFF is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=m
CONFIG_NVRAM=m
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
# CONFIG_AGP_INTEL_MCH is not set
# CONFIG_DRM is not set

#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=m
# CONFIG_MWAVE is not set
CONFIG_RAW_DRIVER=m
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
CONFIG_MAX_RAW_DEVS=4096
CONFIG_HANGCHECK_TIMER=m

#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=m
# CONFIG_I2C_ALI1563 is not set
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_ISA=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PROSAVAGE=m
CONFIG_I2C_SAVAGE4=m
CONFIG_SCx200_ACB=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
CONFIG_I2C_VOODOO3=m
# CONFIG_I2C_PCA_ISA is not set

#
# Hardware Sensors Chip support
#
CONFIG_I2C_SENSOR=m
CONFIG_SENSORS_ADM1021=m
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1031 is not set
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not set
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM90=m
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83627HF=m

#
# Other I2C Chip support
#
CONFIG_SENSORS_EEPROM=m
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
CONFIG_I2C_DEBUG_CORE=y
CONFIG_I2C_DEBUG_ALGO=y
CONFIG_I2C_DEBUG_BUS=y
CONFIG_I2C_DEBUG_CHIP=y

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
CONFIG_VIDEO_DEV=m

#
# Video For Linux
#

#
# Video Adapters
#
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BWQCAM=m
CONFIG_VIDEO_CQCAM=m
CONFIG_VIDEO_W9966=m
CONFIG_VIDEO_CPIA=m
CONFIG_VIDEO_CPIA_PP=m
CONFIG_VIDEO_CPIA_USB=m
CONFIG_VIDEO_SAA5246A=m
CONFIG_VIDEO_SAA5249=m
CONFIG_TUNER_3036=m
CONFIG_VIDEO_STRADIS=m
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_SAA7134 is not set
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_DPC=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_CX88=m
# CONFIG_VIDEO_OVCAMCHIP is not set

#
# Radio Adapters
#
CONFIG_RADIO_GEMTEK_PCI=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_MAESTRO=m

#
# Digital Video Broadcasting Devices
#
CONFIG_DVB=y
CONFIG_DVB_CORE=m

#
# Supported Frontend Modules
#
CONFIG_DVB_TWINHAN_DST=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_SP887X_FIRMWARE_FILE="/etc/dvb/sc_main.mc"
CONFIG_DVB_ALPS_TDLB7=m
CONFIG_DVB_ALPS_TDMB7=m
CONFIG_DVB_ATMEL_AT76C651=m
CONFIG_DVB_CX24110=m
CONFIG_DVB_GRUNDIG_29504_491=m
CONFIG_DVB_GRUNDIG_29504_401=m
CONFIG_DVB_MT312=m
CONFIG_DVB_VES1820=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_TDA1004X_FIRMWARE_FILE="/usr/lib/hotplug/firmware/tda1004x.bin"
CONFIG_DVB_NXT6000=m

#
# Supported SAA7146 based PCI Adapters
#
CONFIG_DVB_AV7110=m
# CONFIG_DVB_AV7110_OSD is not set
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m

#
# Supported USB Adapters
#
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m

#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_SKYSTAR=m

#
# Supported BT878 Adapters
#
CONFIG_DVB_BT8XX=m
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_VIDEOBUF=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_BUF=m
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_IR=m

#
# Graphics support
#
CONFIG_FB=y
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
CONFIG_FB_VIRTUAL=m

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set

#
# Logo configuration
#
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_BIT32_EMUL=m
CONFIG_SND_RTCTIMER=m
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
CONFIG_SND_DEBUG_MEMORY=y
CONFIG_SND_DEBUG_DETECT=y

#
# Generic devices
#
CONFIG_SND_MPU401_UART=m
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m

#
# PCI devices
#
CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART 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_ICE1724 is not set
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set

#
# ALSA USB devices
#
CONFIG_SND_USB_AUDIO=m
# CONFIG_SND_USB_USX2Y is not set

#
# PCMCIA devices
#

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_BANDWIDTH=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_SPLIT_ISO=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_UHCI_HCD=m

#
# USB Device Class drivers
#
CONFIG_USB_AUDIO=m

#
# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
#
CONFIG_USB_MIDI=m
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_RW_DETECT=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

#
# USB Human Interface Devices (HID)
#
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT=y
CONFIG_HID_FF=y
CONFIG_HID_PID=y
CONFIG_LOGITECH_FF=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_USB_HIDDEV=y

#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
CONFIG_USB_AIPTEK=m
CONFIG_USB_WACOM=m
CONFIG_USB_KBTAB=m
CONFIG_USB_POWERMATE=m
CONFIG_USB_MTOUCH=m
# CONFIG_USB_EGALAX is not set
CONFIG_USB_XPAD=m
CONFIG_USB_ATI_REMOTE=m

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
CONFIG_USB_HPUSBSCSI=m

#
# USB Multimedia devices
#
CONFIG_USB_DABUSB=m
CONFIG_USB_VICAM=m
CONFIG_USB_DSBR=m
CONFIG_USB_IBMCAM=m
CONFIG_USB_KONICAWC=m
CONFIG_USB_OV511=m
CONFIG_USB_SE401=m
CONFIG_USB_SN9C102=m
CONFIG_USB_STV680=m

#
# USB Network adaptors
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m

#
# USB Host-to-Host Cables
#
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_GENESYS=y
CONFIG_USB_NET1080=y
CONFIG_USB_PL2301=y

#
# Intelligent USB Devices/Gadgets
#
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_ZAURUS=y
CONFIG_USB_CDCETHER=y

#
# USB Network Adapters
#
CONFIG_USB_AX8817X=y

#
# USB port drivers
#
CONFIG_USB_USS720=m

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_BELKIN=m
# CONFIG_USB_SERIAL_WHITEHEAT is not set
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_EZUSB=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
CONFIG_USB_TIGL=m
CONFIG_USB_AUERSWALD=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_TEST is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_JBD=y
CONFIG_JBD_DEBUG=y
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_QUOTA=y
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=m
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
CONFIG_DEVPTS_FS_SECURITY=y
CONFIG_TMPFS=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp852"
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
CONFIG_NCPFS_SMALLDOS=y
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

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

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

#
# Profiling support
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=m

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_SPINLOCK=y
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_FRAME_POINTER is not set
# CONFIG_CHECKING is not set
# CONFIG_INIT_DEBUG is not set
CONFIG_SCHEDSTATS=y
# CONFIG_IOMMU_DEBUG is not set

#
# Security options
#
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_CAPABILITIES=y
CONFIG_SECURITY_ROOTPLUG=m
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_MLS=y

#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
# CONFIG_CRYPTO_WHIRLPOOL is not set
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_TEST=m

#
# Library routines
#
CONFIG_CRC_CCITT=m
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-06 11:48       ` Rafael J. Wysocki
@ 2004-09-06 12:25         ` Alexander Nyberg
  2004-09-06 12:29           ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Alexander Nyberg @ 2004-09-06 12:25 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Ingo Molnar, linux-kernel, Andi Kleen

On Mon, 2004-09-06 at 13:48, Rafael J. Wysocki wrote:
> On Monday 06 of September 2004 13:06, Ingo Molnar wrote:
> > 
> > i've released the -R6 patch:
> > 
> >   
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R6
> > 
> > Changes in -R6:
> > 
> >  - fixed a CONFIG_SMP + CONFIG_PREEMPT bug that had the potential to
> >    cause spinlock related lockups. (UP kernels are unaffected.) This bug 
> >    got introduced in -R5.
> > 
> > 2.6.9-rc1-bk12 patching order is:
> >  
> >     http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
> >   + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
> >   + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2
> 
> I did as instructed, but it didn't compile (on a UP x86-64 system).  I got 
> this:
> 
>   CC      arch/x86_64/kernel/irq.o
> arch/x86_64/kernel/irq.c: In function `request_irq':
> arch/x86_64/kernel/irq.c:498: warning: implicit declaration of function 
> `setup_irq'
>   CC      arch/x86_64/kernel/ptrace.o
>   CC      arch/x86_64/kernel/i8259.o
> arch/x86_64/kernel/i8259.c: In function `init_IRQ':
> arch/x86_64/kernel/i8259.c:570: warning: implicit declaration of function 
> `setup_irq'
>   CC      arch/x86_64/kernel/ioport.o
>   CC      arch/x86_64/kernel/ldt.o
>   CC      arch/x86_64/kernel/setup.o
>   CC      arch/x86_64/kernel/time.o
> arch/x86_64/kernel/time.c: In function `time_init':
> arch/x86_64/kernel/time.c:820: warning: implicit declaration of function 
> `setup_irq'
>   CC      arch/x86_64/kernel/sys_x86_64.o
> [- snip -]
> C      kernel/hardirq.o
> kernel/hardirq.c: In function `recalculate_desc_flags':
> kernel/hardirq.c:314: error: `SA_NODELAY' undeclared (first use in this 
> function)
> kernel/hardirq.c:314: error: (Each undeclared identifier is reported only once
> kernel/hardirq.c:314: error: for each function it appears in.)
> kernel/hardirq.c: In function `generic_setup_irq':
> kernel/hardirq.c:344: error: `SA_NODELAY' undeclared (first use in this 
> function)
> kernel/hardirq.c: In function `threaded_read_proc':
> kernel/hardirq.c:659: error: `SA_NODELAY' undeclared (first use in this 
> function)
> kernel/hardirq.c: In function `threaded_write_proc':
> kernel/hardirq.c:677: error: `SA_NODELAY' undeclared (first use in this 
> function)
> make[1]: *** [kernel/hardirq.o] Error 1
> make: *** [kernel] Error 2
> 

It doesn't look like it is fully ported to x86_64 systems yet, these
compile errors are easy to move away but the functionality doesn't seem
to be there. Probably why Ingo hasn't added the PREEMPT_VOLUNTARY to the
x86_64 Kconfig even though I saw a few bits of x86_64 code in the patch.

Or am I missing something?



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-06 12:25         ` Alexander Nyberg
@ 2004-09-06 12:29           ` Ingo Molnar
  2004-09-07  9:26             ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R7 Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-06 12:29 UTC (permalink / raw)
  To: Alexander Nyberg; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen


* Alexander Nyberg <alexn@dsv.su.se> wrote:

> It doesn't look like it is fully ported to x86_64 systems yet, these
> compile errors are easy to move away but the functionality doesn't
> seem to be there. Probably why Ingo hasn't added the PREEMPT_VOLUNTARY
> to the x86_64 Kconfig even though I saw a few bits of x86_64 code in
> the patch.

yeah, it probably doesnt compile on anything other than x86 right now.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-06  7:44             ` Lee Revell
@ 2004-09-07  3:17               ` K.R. Foley
  0 siblings, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-09-07  3:17 UTC (permalink / raw)
  To: Lee Revell; +Cc: Ingo Molnar, Florian Schmidt, linux-kernel, felipe_alfaro

Lee Revell wrote:
> On Mon, 2004-09-06 at 02:30, Ingo Molnar wrote:
> 
>>* Lee Revell <rlrevell@joe-job.com> wrote:
>>
>>
>>>http://krustophenia.net/testresults.php?dataset=2.6.9-rc1-R0#/var/www/2.6.9-rc1-R0/foo.hist
>>>
>>>I find the two smaller spikes to either side of the central spike
>>>really odd.  These showed up in my jackd tests too, I had attributed
>>>them to some measurement artifact, but they seem real.  Maybe a
>>>rounding bug, or some kind of weird cache effect?
>>
>>interesting - the histograms are pretty symmetric around the center.
>>E.g. the exponential foo.hist2 diagram is way too symmetric around 50
>>usecs! What precisely is being measured?
>>
> 
> 
> Here's the program.  It does mlockall(), acquires realtime scheduling,
> then sets up a 2048 Hz stream of interupts from the RTC and measures the
> delay.  It's quite possible there's a bug, the amlat program did not
> seem to work, something must have changed with the RTC from 2.4 to 2.6.
> 

Actually the amlat program works fine for applying real-time scheduling 
pressure. I believe it just doesn't do any real latency measuring 
without the hooks provided by Andrew's rtc-debug patch.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc1-bk12-R7
  2004-09-06 12:29           ` Ingo Molnar
@ 2004-09-07  9:26             ` Ingo Molnar
  2004-09-07 11:57               ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R8 Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-07  9:26 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: linux-kernel, Andi Kleen, Alexander Nyberg


i've ported the VP patch to x64. I havent boot-tested it, but it
compiles cleanly and it might even boot:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R7

Caveats: normal kernel with PREEMPT, PREEMPT_VOLUNTARY, PREEMPT_SOFTIRQS
and PREEMPT_HARDIRQS disabled should work just fine.

A kernel with PREEMPT=y and PREEMPT_VOLUNTARY=y ought to work too - with
a smaller probability though. PREEMPT_SOFTIRQS=y should be the next step
- this one might work too. (PREEMPT_HARDIRQS=y doesnt do anything on x64
yet, because i havent changed the irq code. I'd like to keep non-x86
changes small, unless a developer picks it up - like it happened for the
ppc and ppc64 port of the VP patch.)

PREEMPT_TIMING=y might work too if the previous ones worked. The most
problematic one is probably LATENCY_TRACE=y - i've added the proper
mcount assembly code but mostly blindly. It does compile.

so please try this kernel on real hw and try to figure out step by step
at which stage in the following order of parameters it breaks:

 PREEMPT=y
 PREEMPT_VOLUNTARY=y
 PREEMPT_SOFTIRQS=y
 PREEMPT_TIMING=y
 LATENCY_TRACE=y

(when enabling a new option in this sequence keep all the previous
options enabled.)

Worst-case it already breaks with all these options disabled - in this
case please double-check whether vanilla -bk12 x64 boots fine with the
same .config.

Best-case it works fine with all options enabled - quite unlikely.

If it breaks it will break early and hard during bootup, so data is
probably not at risk - but be careful nevertheless.

to get a 2.6.9-rc1-bk12 kernel the patching order is:

    http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
  + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
  + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc1-bk12-R8
  2004-09-07  9:26             ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R7 Ingo Molnar
@ 2004-09-07 11:57               ` Ingo Molnar
  2004-09-07 14:50                 ` Alexander Nyberg
                                   ` (2 more replies)
  0 siblings, 3 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-07 11:57 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: linux-kernel, Andi Kleen, Alexander Nyberg


test-booted the x64 kernel and found a number of bugs in the x64 port of
the VP patch. I've uploaded -R8 that fixes them:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R8

NOTE: i tested a (non-modular) 64-bit bzImage on a 32-bit OS (FC2) but
havent booted it on a 64-bit userland yet. But i'd expect 64-bit
userspace to work just fine too.

to get a 2.6.9-rc1-bk12 kernel the patching order is:

    http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
  + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
  + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2 

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R8
  2004-09-07 11:57               ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R8 Ingo Molnar
@ 2004-09-07 14:50                 ` Alexander Nyberg
  2004-09-07 15:04                   ` Ingo Molnar
  2004-09-07 19:56                 ` Rafael J. Wysocki
  2004-09-07 22:59                 ` Lee Revell
  2 siblings, 1 reply; 226+ messages in thread
From: Alexander Nyberg @ 2004-09-07 14:50 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen

On Tue, 2004-09-07 at 13:57, Ingo Molnar wrote:
> test-booted the x64 kernel and found a number of bugs in the x64 port of
> the VP patch. I've uploaded -R8 that fixes them:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R8
> 
> NOTE: i tested a (non-modular) 64-bit bzImage on a 32-bit OS (FC2) but
> havent booted it on a 64-bit userland yet. But i'd expect 64-bit
> userspace to work just fine too.

Looks fine over here on 2-CPU, debian 64-bit user-space with both preempt &
voluntary preempt turned on. Init seems to explode 
(gets killed over and over, not sure how this happens) on CONFIG_LATENCY_TRACE, 
I'll take a look at that later today unless you have any offender you're aware of.

===== linux-2.5/arch/x86_64/kernel/x8664_ksyms.c 1.34 vs edited =====
--- 1.34/arch/x86_64/kernel/x8664_ksyms.c	2004-08-24 11:08:31 +02:00
+++ edited/linux-2.5/arch/x86_64/kernel/x8664_ksyms.c	2004-09-07 16:31:46 +02:00
@@ -221,3 +221,7 @@
 #endif
 
 EXPORT_SYMBOL(cpu_khz);
+
+#ifdef CONFIG_LATENCY_TRACE
+EXPORT_SYMBOL(mcount);
+#endif



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R8
  2004-09-07 14:50                 ` Alexander Nyberg
@ 2004-09-07 15:04                   ` Ingo Molnar
  2004-09-07 15:29                     ` Alexander Nyberg
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-07 15:04 UTC (permalink / raw)
  To: Alexander Nyberg; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen


* Alexander Nyberg <alexn@dsv.su.se> wrote:

> Looks fine over here on 2-CPU, debian 64-bit user-space with both
> preempt & voluntary preempt turned on. Init seems to explode (gets
> killed over and over, not sure how this happens) on
> CONFIG_LATENCY_TRACE, I'll take a look at that later today unless you
> have any offender you're aware of.

> +#ifdef CONFIG_LATENCY_TRACE
> +EXPORT_SYMBOL(mcount);
> +#endif

thanks, i've added this to latency.c. You can find my current snapshot
at:

  http://redhat.com/~mingo/private/voluntary-preempt-2.6.9-rc1-bk12-R9-A6

there are alot of changes - perhaps one of them fixes your LATENCY_TRACE
problem - but the likelyhood is low, for me LATENCY_TRACE worked fine on
amd64 even with -R8.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R8
  2004-09-07 15:04                   ` Ingo Molnar
@ 2004-09-07 15:29                     ` Alexander Nyberg
  0 siblings, 0 replies; 226+ messages in thread
From: Alexander Nyberg @ 2004-09-07 15:29 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen

> > Looks fine over here on 2-CPU, debian 64-bit user-space with both
> > preempt & voluntary preempt turned on. Init seems to explode (gets
> > killed over and over, not sure how this happens) on
> > CONFIG_LATENCY_TRACE, I'll take a look at that later today unless you
> > have any offender you're aware of.
> 
> > +#ifdef CONFIG_LATENCY_TRACE
> > +EXPORT_SYMBOL(mcount);
> > +#endif
> 
> thanks, i've added this to latency.c. You can find my current snapshot
> at:
> 
>   http://redhat.com/~mingo/private/voluntary-preempt-2.6.9-rc1-bk12-R9-A6
> 
> there are alot of changes - perhaps one of them fixes your LATENCY_TRACE
> problem - but the likelyhood is low, for me LATENCY_TRACE worked fine on
> amd64 even with -R8.

I didn't even get to see any text before it rebooted, hmm? I'll take a
look with -R8 later as for LATENCY_TRACE, do you know what could have
caused this sudden reboot?


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R8
  2004-09-07 11:57               ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R8 Ingo Molnar
  2004-09-07 14:50                 ` Alexander Nyberg
@ 2004-09-07 19:56                 ` Rafael J. Wysocki
  2004-09-07 22:59                 ` Lee Revell
  2 siblings, 0 replies; 226+ messages in thread
From: Rafael J. Wysocki @ 2004-09-07 19:56 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Andi Kleen, Alexander Nyberg

[-- Attachment #1: Type: text/plain, Size: 1081 bytes --]

On Tuesday 07 of September 2004 13:57, Ingo Molnar wrote:
> 
> test-booted the x64 kernel and found a number of bugs in the x64 port of
> the VP patch. I've uploaded -R8 that fixes them:
> 
>   
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R8
> 
> NOTE: i tested a (non-modular) 64-bit bzImage on a 32-bit OS (FC2) but
> havent booted it on a 64-bit userland yet. But i'd expect 64-bit
> userspace to work just fine too.

Heh, works for me like charm!  Thank you very much, Ingo, for the excellent 
job!

It has hanged once (the first time I tried to boot it), while starting either 
postfix or cron (AFAIR), but I haven't been able to get any trace and I can't 
reproduce this.  I'm using the serial console just in case right now.  I'll 
give it a run in production tomorrow.

I'm attaching the output of dmesg in case you want to know what the system is.

Greets,
RJW

-- 
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
		-- Lewis Carroll "Alice's Adventures in Wonderland"

[-- Attachment #2: dmesg.out --]
[-- Type: text/plain, Size: 16996 bytes --]

Bootdata ok (command line is root=/dev/hdc6 vga=792 resume=/dev/hdc3 console=ttyS0,57600)
Linux version 2.6.9-rc1-bk12-VP-R8 (rafael@albercik) (gcc version 3.3.3 (SuSE Linux)) #3 Tue Sep 7 15:51:51 CEST 2004
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001ff40000 (usable)
 BIOS-e820: 000000001ff40000 - 000000001ff50000 (ACPI data)
 BIOS-e820: 000000001ff50000 - 0000000020000000 (ACPI NVS)
 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
No mptable found.
On node 0 totalpages: 130880
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 126784 pages, LIFO batch:16
  HighMem zone: 0 pages, LIFO batch:1
PCI bridge 00:0a from 10de found. Setting "noapic". Overwrite with "apic"
ACPI: RSDP (v000 ACPIAM                                    ) @ 0x00000000000f76e0
ACPI: RSDT (v001 A M I  OEMRSDT  0x04000413 MSFT 0x00000097) @ 0x000000001ff40000
ACPI: FADT (v001 A M I  OEMFACP  0x04000413 MSFT 0x00000097) @ 0x000000001ff40200
ACPI: OEMB (v001 A M I  OEMBIOS  0x04000413 MSFT 0x00000097) @ 0x000000001ff50040
  >>> ERROR: Invalid checksum
ACPI: DSDT (v001  L5DK8 L5DK8013 0x00000013 INTL 0x02002026) @ 0x0000000000000000
Intel MultiProcessor Specification v1.1
    Virtual Wire compatibility mode.
OEM ID: ASUSTeK  <6>Product ID: L5D          <6>APIC at: 0xFEE00000
Processor #0 15:4 APIC version 16
I/O APIC #1 Version 17 at 0xFEC00000.
Processors: 1
Checking aperture...
CPU 0: aperture @ e8000000 size 128 MB
Built 1 zonelists
Kernel command line: root=/dev/hdc6 vga=792 resume=/dev/hdc3 console=ttyS0,57600
Initializing CPU#0
PID hash table entries: 2048 (order: 11, 65536 bytes)
time.c: Using 1.193182 MHz PIT timer.
time.c: Detected 1795.407 MHz processor.
Console: colour dummy device 80x25
Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
Memory: 509360k/523520k available (2847k kernel code, 13676k reserved, 1147k data, 172k init)
Calibrating delay loop... 3555.32 BogoMIPS (lpj=1777664)
Security Scaffold v1.0.0 initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
There is already a security framework initialized, register_security failed.
selinux_register_security:  Registering secondary module capability
Capability LSM initialized as secondary
Mount-cache hash table entries: 256 (order: 0, 4096 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU: AMD Athlon(tm) 64 Processor 3000+ stepping 0a
 tbxface-0117 [02] acpi_load_tables      : ACPI Tables successfully acquired
Parsing all Control Methods:........................................................................................................................................................................................................................................................................................................................................
Table [DSDT](id F004) - 1106 Objects with 63 Devices 328 Methods 32 Regions
ACPI Namespace successfully loaded at root ffffffff80547740
ACPI: IRQ9 SCI: Edge set to Level Trigger.
evxfevnt-0093 [03] acpi_enable           : Transition to ACPI mode successful
Using local APIC NMI watchdog using perfctr0
Using local APIC timer interrupts.
Detected 12.468 MHz APIC timer.
requesting new irq thread for IRQ0...
requesting new irq thread for IRQ2...
NET: Registered protocol family 16
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040715
evgpeblk-0980 [07] ev_create_gpe_block   : GPE 00 to 1F [_GPE] 4 regs at 0000000000004020 on int 0x9
evgpeblk-0989 [07] ev_create_gpe_block   : Found 6 Wake, Enabled 0 Runtime GPEs in this block
evgpeblk-0980 [07] ev_create_gpe_block   : GPE 20 to 5F [_GPE] 8 regs at 00000000000044A0 on int 0x9
evgpeblk-0989 [07] ev_create_gpe_block   : Found 0 Wake, Enabled 4 Runtime GPEs in this block
Completing Region/Field/Buffer/Package initialization:...............................................................................................................................
Initialized 31/32 Regions 26/26 Fields 43/43 Buffers 27/27 Packages (1115 nodes)
Executing all Device _STA and_INI methods:...................................................................
67 Devices found containing: 67 _STA, 5 _INI methods
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: Embedded Controller [EC0] (gpe 37)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P2._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 *5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LUS0] (IRQs 3 4 5 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LUS1] (IRQs 3 4 *5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LUS2] (IRQs 3 4 5 7 9 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LKLN] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LAUI] (IRQs 3 4 *5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LKMO] (IRQs 3 4 5 7 9 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LKSM] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LTID] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LATA] (IRQs 3 4 6 7 10 11 12 *14 15)
ACPI: Power Resource [GFAN] (off)
PCI: Using ACPI for IRQ routing
ACPI: PCI Interrupt Link [LKSM] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:01.1[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LUS0] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LUS1] enabled at IRQ 5
ACPI: PCI interrupt 0000:00:02.1[B] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt Link [LUS2] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:02.2[C] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI Interrupt Link [LAUI] enabled at IRQ 5
ACPI: PCI interrupt 0000:00:06.0[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt Link [LKMO] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:06.1[B] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 9
ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 9 (level, low) -> IRQ 9
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
ACPI: PCI interrupt 0000:02:01.1[B] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 5
ACPI: PCI interrupt 0000:02:01.3[D] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:02:01.4[D] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:02:02.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 11
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11
agpgart: Detected AGP bridge 0
agpgart: Setting up Nforce3 AGP.
agpgart: Maximum main memory to use for agp memory: 439M
agpgart: AGP aperture is 128M @ 0xe8000000
PCI-DMA: Disabling IOMMU.
vesafb: framebuffer at 0xd0000000, mapped to 0xffffff0000100000, size 6144k
vesafb: mode is 1024x768x32, linelength=4096, pages=1
vesafb: scrolling: redraw
vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
fb0: VESA VGA frame buffer device
IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $
audit: initializing netlink socket (disabled)
audit(1094586031.893:0): initialized
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
SELinux:  Registering netfilter hooks
Initializing Cryptographic API
Console: switching to colour frame buffer device 128x48
Real Time Clock Driver v1.12
Linux agpgart interface v0.100 (c) Dave Jones
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
ACPI: PCI interrupt 0000:00:06.1[B] -> GSI 10 (level, low) -> IRQ 10
RAMDISK driver initialized: 16 RAM disks of 128000K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
NFORCE3-150: IDE controller at PCI slot 0000:00:08.0
NFORCE3-150: chipset revision 165
NFORCE3-150: not 100% native mode: will probe irqs later
NFORCE3-150: BIOS didn't set cable bits correctly. Enabling workaround.
NFORCE3-150: 0000:00:08.0 (rev a5) UDMA133 controller
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:DMA
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:pio
Probing IDE interface ide0...
hdb: TOSHIBA DVD-ROM SD-R2512, ATAPI CD/DVD-ROM drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: IC25N060ATMR04-0, ATA DISK drive
ide1 at 0x170-0x177,0x376 on irq 15
Probing IDE interface ide2...
ide2: Wait for ready failed before probe !
Probing IDE interface ide3...
ide3: Wait for ready failed before probe !
Probing IDE interface ide4...
ide4: Wait for ready failed before probe !
Probing IDE interface ide5...
ide5: Wait for ready failed before probe !
hdc: max request size: 1024KiB
hdc: 117210240 sectors (60011 MB) w/7884KiB Cache, CHS=16383/255/63, UDMA(100)
hdc: cache flushes supported
 hdc: hdc1 hdc2 hdc3 hdc4 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 >
hdb: ATAPI 24X DVD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
mice: PS/2 mouse device common for all mice
i8042.c: Detected active multiplexing controller, rev 1.1.
serio: i8042 AUX0 port at 0x60,0x64 irq 12
serio: i8042 AUX1 port at 0x60,0x64 irq 12
serio: i8042 AUX2 port at 0x60,0x64 irq 12
serio: i8042 AUX3 port at 0x60,0x64 irq 12
Synaptics Touchpad, model: 1
 Firmware: 5.9
 180 degree mounted touchpad
 Sensor: 18
 new absolute packet format
 Touchpad has extended capability bits
 -> four buttons
 -> palm detection
input: SynPS/2 Synaptics TouchPad on isa0060/serio4
serio: i8042 KBD port at 0x60,0x64 irq 1
input: AT Translated Set 2 keyboard on isa0060/serio0
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 28Kbytes
TCP: Hash tables configured (established 32768 bind 4681)
NET: Registered protocol family 1
Resume Machine: resuming from /dev/hdc3
Resuming from device unknown-block(22,3)
Resume Machine: This is normal swap space
ACPI: (supports S0 S1 S3 S4 S5)
ACPI wakeup devices: 
 MDM P0P1 LAN0 LAN1 USB0 USB1 USB2 SLPB 
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 172k freed
kjournald starting.  Commit interval 5 seconds
Adding 1534196k swap on /dev/hdc3.  Priority:42 extents:1
EXT3 FS on hdc6, internal journal
device-mapper: 4.1.0-ioctl (2003-12-10) initialised: dm@uk.sistina.com
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hdc5, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ReiserFS: hdc9: found reiserfs format "3.6" with standard journal
ReiserFS: hdc9: using ordered data mode
ReiserFS: hdc9: journal params: device hdc9, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hdc9: checking transaction log (hdc9)
ReiserFS: hdc9: Using r5 hash to sort names
ReiserFS: hdc10: found reiserfs format "3.6" with standard journal
ReiserFS: hdc10: using ordered data mode
ReiserFS: hdc10: journal params: device hdc10, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hdc10: checking transaction log (hdc10)
ReiserFS: hdc10: Using r5 hash to sort names
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hdc8, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hdc7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 11 (level, low) -> IRQ 11
eth0: Yukon Gigabit Ethernet 10/100/1000Base-T Adapter
      PrefPort:A  RlmtMode:Check Link State
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NET: Registered protocol family 17
eth0: network connection up using port A
    speed:           100
    autonegotiation: yes
    duplex mode:     full
    flowctrl:        symmetric
    irq moderation:  disabled
    scatter-gather:  enabled
ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 11 (level, low) -> IRQ 11
ohci_hcd 0000:00:02.0: nVidia Corporation nForce3 USB 1.1
PCI: Setting latency timer of device 0000:00:02.0 to 64
ohci_hcd 0000:00:02.0: irq 11, pci mem ffffff00000c2000
ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
ACPI: PCI interrupt 0000:00:02.1[B] -> GSI 5 (level, low) -> IRQ 5
ohci_hcd 0000:00:02.1: nVidia Corporation nForce3 USB 1.1 (#2)
PCI: Setting latency timer of device 0000:00:02.1 to 64
ohci_hcd 0000:00:02.1: irq 5, pci mem ffffff00000d4000
ohci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
ACPI: PCI interrupt 0000:00:02.2[C] -> GSI 10 (level, low) -> IRQ 10
ehci_hcd 0000:00:02.2: nVidia Corporation nForce3 USB 2.0
PCI: Setting latency timer of device 0000:00:02.2 to 64
ehci_hcd 0000:00:02.2: irq 10, pci mem ffffff00000c4c00
ehci_hcd 0000:00:02.2: new USB bus registered, assigned bus number 3
PCI: cache line size of 64 is not supported by device 0000:00:02.2
ehci_hcd 0000:00:02.2: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 6 ports detected
Linux Kernel Card Services
  options:  [pci] [cardbus] [pm]
ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 9 (level, low) -> IRQ 9
Yenta: CardBus bridge found at 0000:02:01.0 [1043:1854]
spurious 8259A interrupt: IRQ7.
Yenta: ISA IRQ mask 0x0008, PCI irq 9
Socket status: 30000006
ACPI: PCI interrupt 0000:02:01.1[B] -> GSI 11 (level, low) -> IRQ 11
Yenta: CardBus bridge found at 0000:02:01.1 [1043:1854]
usb 1-2: new low speed USB device using address 2
Yenta: ISA IRQ mask 0x0008, PCI irq 11
Socket status: 30000006
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 11 (level, low) -> IRQ 11
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[11]  MMIO=[feafd000-feafd7ff]  Max Packet=[2048]
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[00e018000319b175]
ACPI: PCI interrupt 0000:00:06.0[A] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:06.0 to 64
ACPI: AC Adapter [AC0] (on-line)
NET: Registered protocol family 10
Disabled Privacy Extensions on device ffffffff804a4420(lo)
IPv6 over IPv4 tunneling driver
Disabled Privacy Extensions on device 000001001bf9f800(sit0)
ACPI: Battery Slot [BAT0] (battery present)
ACPI: Power Button (FF) [PWRF]
ACPI: Sleep Button (CM) [SLPB]
ACPI: Lid Switch [LID]
ACPI: Fan [FN00] (off)
intel8x0_measure_ac97_clock: measured 49491 usecs
intel8x0: clocking to 48000
ALSA sound/pci/intel8x0.c:2844: joystick(s) found
acpi_processor-2264 [121] acpi_processor_get_inf: Invalid PBLK length [0]
ACPI: Processor [CPU1] (supports C1)
ACPI: Thermal Zone [THRM] (53 C)
powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09b)
powernow-k8:    0 : fid 0xa (1800 MHz), vid 0x2 (1500 mV)
powernow-k8:    1 : fid 0x8 (1600 MHz), vid 0x6 (1400 mV)
powernow-k8:    2 : fid 0x0 (800 MHz), vid 0x12 (1100 mV)
powernow-k8: cpu_init done, current fid 0xa, vid 0x2
usbcore: registered new driver hiddev
input: USB HID v1.10 Mouse [Logitech Optical USB Mouse] on usb-0000:00:02.0-2
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
eth0: no IPv6 routers present
Non-volatile memory driver v1.2
SCSI subsystem initialized
st: Version 20040403, fixed bufsize 32768, s/g segs 256
parport0: PC-style at 0x378 [PCSPP,TRISTATE]
lp0: using parport0 (polling).
drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic
usbcore: registered new driver usbserial_generic
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
mtrr: 0xd0000000,0x4000000 overlaps existing 0xd0000000,0x400000

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-05 14:02   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Ingo Molnar
                       ` (2 preceding siblings ...)
  2004-09-06 11:06     ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R6 Ingo Molnar
@ 2004-09-07 22:55     ` Lee Revell
  2004-09-07 23:13       ` Lee Revell
  3 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-07 22:55 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro, rncbc

On Sun, 2004-09-05 at 10:02, Ingo Molnar wrote:
> i've released -R5:
>  
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R5

Ingo, here is a report from a user (Rui) of a problem that seems to have
been introduced in Q5.  The symptoms look very similar to the SMP/HT
problems that were thought to be fixed.  I have already requested more
info as to what happens if soft/hardirq preemption are enabled.

---

I'm having some trouble with latest VP patches on my P4 HT/SMP box. The
trouble is that since Q5 that I can't get my machine to boot reliably,
if at all. It goes almost all through the init scripts to drop dead on
the beach, so to speak. It just freezes completely somewhere before the
login prompts.

This only happens if the kernel is configured for SMP/SMT
(HyperThreading). The very same kernel configured and built for UP boots
and runs fine. As I said before this was introduced on the Q5 patch, and
the same showstopper is present on latest R6. Only with Q3 I'm still
happy, altought only with softirq-preempt=0 AND hardirq-preempt=0.

The "offending" box is a SUSE 9.1 based one, P4 2.80C HT on a ASUS
P4P800 mobo, 1GB DDR.

---

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R8
  2004-09-07 11:57               ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R8 Ingo Molnar
  2004-09-07 14:50                 ` Alexander Nyberg
  2004-09-07 19:56                 ` Rafael J. Wysocki
@ 2004-09-07 22:59                 ` Lee Revell
  2004-09-08  8:20                   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R9 Ingo Molnar
  2 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-07 22:59 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen, Alexander Nyberg

On Tue, 2004-09-07 at 07:57, Ingo Molnar wrote:
> test-booted the x64 kernel and found a number of bugs in the x64 port of
> the VP patch. I've uploaded -R8 that fixes them:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R8
> 

Does not work on 32 bit x86:

  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
kernel/built-in.o(.init.text+0xcbf): In function `interruptible_sleep_on':
kernel/sched.c:1563: undefined reference to `init_irq_proc'
make: *** [.tmp_vmlinux1] Error 1

Lee



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-07 22:55     ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Lee Revell
@ 2004-09-07 23:13       ` Lee Revell
  2004-09-07 23:58         ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-07 23:13 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro,
	Rui Nuno Capela

On Tue, 2004-09-07 at 18:55, Lee Revell wrote:
> Ingo, here is a report from a user (Rui) of a problem that seems to have
> been introduced in Q5.

Ugh, I got Rui's address wrong in the first post, please use the one
above for any followups.  Sorry.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-07 23:13       ` Lee Revell
@ 2004-09-07 23:58         ` Rui Nuno Capela
  2004-09-08  8:23           ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-07 23:58 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

> Lee Revell wrote:
>> Ingo, here is a report from a user (Rui) of a problem that seems to
>> have been introduced in Q5.
>
> Ugh, I got Rui's address wrong in the first post, please use the one
> above for any followups.  Sorry.
>

>Rui Nuno Capela wrote:
>>
>> I'm having some trouble with latest VP patches on my P4 HT/SMP box. The
>> trouble is that since Q5 that I can't get my machine to boot reliably,
>> if at all. It goes almost all through the init scripts to drop dead on
>> the beach, so to speak. It just freezes completely somewhere before the
>> login prompts.
>>
>> This only happens if the kernel is configured for SMP/SMT
>> (HyperThreading). The very same kernel configured and built for UP
>> boots and runs fine. As I said before this was introduced on the Q5
>> patch, and the same showstopper is present on latest R6. Only with Q3
>> I'm still happy, altought only with softirq-preempt=0 AND
>> hardirq-preempt=0.
>>
>> The "offending" box is a SUSE 9.1 based one, P4 2.80C HT on a ASUS
>> P4P800 mobo, 1GB DDR.
>>
>
> I posted the above report to LKML and cc'ed you and Ingo.  None of the
> LKML testers are reporting this problem, it sounds very similar to the
> problems others have had with SMP/HT but those were thought to all be
> solved.
>

Thanks Lee. Yes I was pretty excited with those reports too (I've been
lurking on LKML :), but I just seem to be unlucky. That's why I've been
trying one by one of the patches, from Q5 to R6 and tweaking the available
options as much as I know and time permitted.

OK, could just someone with a P4 HT/SMP box hand me their working kernel
.config file for me to try? That could be a good starting point, if not a
plain baseline.

>
> Has any version worked with softirq or hardirq preemption enabled?  What
> are the symptoms if you boot Q3 with either of the above enabled?
>

On this box in question, softirq and hardirq-preempt options had NEVER
lead to a stable SMP/HT system, ever since my first rehearsal with VP,
which I think was around O3. UP is quite different, it works and always
worked, as advertised :) FWIW, R6 is pumping hard on my laptop :)

Q3-SMP doesn't pass the KDE 3.3 startup splash if I set softirq=1 or
hardirq=1. The system just hangs. I still keep softirq-preempt=0 and
hardirq-preempt=0 as my Q3-SMP kernel bootloader parameters though.

Hope this gets cleared out. All I can do is offering my best efforts to
dig this out, provided someone give me some hunch ;)

Thank you all.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-06 11:06     ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R6 Ingo Molnar
  2004-09-06 11:48       ` Rafael J. Wysocki
@ 2004-09-08  6:56       ` Lee Revell
  2004-09-09 19:29         ` Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-08  6:56 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, felipe_alfaro, Florian Schmidt, K.R. Foley, Mark_H_Johnson

On Mon, 2004-09-06 at 07:06, Ingo Molnar wrote:
> i've released the -R6 patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R6

I get these latencies when I cause the machine to swap by compiling a
kernel with make -j32.  They get bigger as the machine gets further into
swap.

Every 2.0s: head -60 /proc/latency_trace                                                                                                                             Wed Sep  8 02:51:40 2004

preemption latency trace v1.0.6 on 2.6.9-rc1-bk12-VP-R6
--------------------------------------------------
 latency: 605 us, entries: 5 (5)  [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: kswapd0/35, uid:0 nice:0 policy:0 rt_prio:0
    -----------------
 => started at: get_swap_page+0x23/0x490
 => ended at:   get_swap_page+0x13f/0x490
=======>
00000001 0.000ms (+0.606ms): get_swap_page (add_to_swap)
00000001 0.606ms (+0.000ms): sub_preempt_count (get_swap_page)
00000001 0.606ms (+0.000ms): update_max_trace (check_preempt_timing)
00000001 0.606ms (+0.000ms): _mmx_memcpy (update_max_trace)
00000001 0.607ms (+0.000ms): kernel_fpu_begin (_mmx_memcpy)

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc1-bk12-R9
  2004-09-07 22:59                 ` Lee Revell
@ 2004-09-08  8:20                   ` Ingo Molnar
  2004-09-08  9:46                     ` Rafael J. Wysocki
  2004-09-08 22:37                     ` Lee Revell
  0 siblings, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-08  8:20 UTC (permalink / raw)
  To: Lee Revell; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen, Alexander Nyberg


* Lee Revell <rlrevell@joe-job.com> wrote:

> Does not work on 32 bit x86:
> 
>   CHK     include/linux/compile.h
>   UPD     include/linux/compile.h
>   CC      init/version.o
>   LD      init/built-in.o
>   LD      .tmp_vmlinux1
> kernel/built-in.o(.init.text+0xcbf): In function `interruptible_sleep_on':
> kernel/sched.c:1563: undefined reference to `init_irq_proc'
> make: *** [.tmp_vmlinux1] Error 1

does -R9 work for you:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R9

to get a 2.6.9-rc1-bk12 kernel the patching order is:

    http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
  + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
  + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2 

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-07 23:58         ` Rui Nuno Capela
@ 2004-09-08  8:23           ` Ingo Molnar
  2004-09-08  8:31             ` Ingo Molnar
  2004-09-08  8:46             ` Rui Nuno Capela
  0 siblings, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-08  8:23 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Lee Revell, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> OK, could just someone with a P4 HT/SMP box hand me their working
> kernel .config file for me to try? That could be a good starting
> point, if not a plain baseline.

I'll try the latest VP kernel (-R9) on a P4/HT SMP box in a minute and
will send you a .config if it works. Could you also send me your
.config? 

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-08  8:23           ` Ingo Molnar
@ 2004-09-08  8:31             ` Ingo Molnar
  2004-09-09 11:09               ` Rui Nuno Capela
  2004-09-25 19:26               ` Lee Revell
  2004-09-08  8:46             ` Rui Nuno Capela
  1 sibling, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-08  8:31 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Lee Revell, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

[-- Attachment #1: Type: text/plain, Size: 893 bytes --]


* Ingo Molnar <mingo@elte.hu> wrote:

> * Rui Nuno Capela <rncbc@rncbc.org> wrote:
> 
> > OK, could just someone with a P4 HT/SMP box hand me their working
> > kernel .config file for me to try? That could be a good starting
> > point, if not a plain baseline.
> 
> I'll try the latest VP kernel (-R9) on a P4/HT SMP box in a minute and
> will send you a .config if it works. [...]

P4/HT SMP works fine here - config attached.

since your lockups occur under X, could you try to disable DRI/DRM in
your XConfig? Also, would it be possible to connect that box to another
box via a serial line and enable the kernel's serial console via the
'console=ttyS0,38400 console=tty' boot option and run 'minicom' on that
other box, set the serial line to 38400 baud there too and capture all
kernel messages that occur when the lockups happens? Also enable the NMI
watchdog via nmi_watchdog=1.

	Ingo

[-- Attachment #2: config --]
[-- Type: text/plain, Size: 18953 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.9-rc1-bk12-VP-S0
# Wed Sep  8 09:07:59 2004
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y

#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=15
CONFIG_HOTPLUG=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_PREEMPT_TIMING=y
CONFIG_LATENCY_TRACE=y
CONFIG_MCOUNT=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SHMEM=y
# CONFIG_TINY_SHMEM is not set

#
# Loadable module support
#
# CONFIG_MODULES is not set

#
# 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=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 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_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HPET_TIMER is not set
CONFIG_SMP=y
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
# CONFIG_X86_MCE 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

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
# CONFIG_HIGHPTE is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_IRQBALANCE=y
CONFIG_HAVE_DEC_LOCK=y

#
# Power management options (ACPI, APM)
#
# CONFIG_PM is not set

#
# ACPI (Advanced Configuration and Power Interface) Support
#
# CONFIG_ACPI is not set
CONFIG_ACPI_BOOT=y

#
# 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_MSI is not set
# CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_NAMES is not set
CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set
CONFIG_PCMCIA_PROBE=y

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set

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

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
# CONFIG_DEBUG_DRIVER is not set

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

#
# Parallel port support
#
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_CML1=y
# CONFIG_PARPORT_SERIAL is not set
CONFIG_PARPORT_PC_FIFO=y
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_OTHER is not set
CONFIG_PARPORT_1284=y

#
# Plug and Play support
#
# CONFIG_PNP is not set

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# 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_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_LBD is not set

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

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW 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_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# 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 is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=253
CONFIG_AIC7XXX_RESET_DELAY_MS=500
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA 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_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_PAS16 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_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

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

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_TOS 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_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK 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_HW_FLOWCONTROL is not set

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

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL 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_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not set
CONFIG_EEPRO100=y
# CONFIG_EEPRO100_PIO is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
CONFIG_E1000=y
# CONFIG_E1000_NAPI is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
CONFIG_TIGON3=y

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

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

#
# Wan interfaces
#
# CONFIG_WAN 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
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
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

#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
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_SERIO_PCIPS2 is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD 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_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC 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=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=y
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I8XX_TCO is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_SCx200_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_MACHZ_WDT is not set

#
# ISA-based Watchdog Cards
#
# CONFIG_PCWATCHDOG is not set
# CONFIG_MIXCOMWD is not set
# CONFIG_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
# CONFIG_HW_RANDOM is not set
# 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_AGP is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HANGCHECK_TIMER is not set

#
# I2C support
#
# CONFIG_I2C is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
# CONFIG_FB is not set
# CONFIG_VIDEO_SELECT is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y

#
# Sound
#
# CONFIG_SOUND is not set

#
# USB support
#
# CONFIG_USB is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
# CONFIG_EXPORTFS is not set
CONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

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

#
# Native Language Support
#
# CONFIG_NLS is not set

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_DEBUG_HIGHMEM=y
# CONFIG_DEBUG_INFO is not set
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_4KSTACKS=y
# CONFIG_SCHEDSTATS is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
# CONFIG_CRYPTO is not set

#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC32 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_PC=y

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-08  8:23           ` Ingo Molnar
  2004-09-08  8:31             ` Ingo Molnar
@ 2004-09-08  8:46             ` Rui Nuno Capela
  2004-09-08  8:52               ` Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-08  8:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Lee Revell, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

[-- Attachment #1: Type: text/plain, Size: 1030 bytes --]

Ingo Molnar wrote:
>
> * Rui Nuno Capela <rncbc@rncbc.org> wrote:
>
>> OK, could just someone with a P4 HT/SMP box hand me their working
>> kernel .config file for me to try? That could be a good starting
>> point, if not a plain baseline.
>
> I'll try the latest VP kernel (-R9) on a P4/HT SMP box in a minute and
> will send you a .config if it works. Could you also send me your
> .config?
>

Thanks Ingo. Here goes my .config, altough Q3 specific it's been the base
for all others (from Q5 to R6).

Few moments ago, Tim Savannah was kind enough to send me it's working
.config for 2.6.9-rc1-bk13 with ck patch and voluntary
preempt R6. At first glance it seems that he takes the monolithic approach
while I prefer all-modular. The other main difference is that he has
HIGHMEM disabled, while I'm on HIGHMEM(4GB) 'coz my machine has 1GB of RAM
:)

I didn't test Tim's configuration yet, as I can only do it when I get back
home tonight. I'll wait for yours too then.

Thanks again.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org

[-- Attachment #2: config-2.6.9-rc1-bk4-Q3.1smp.gz --]
[-- Type: application/x-gzip-compressed, Size: 12143 bytes --]

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-08  8:46             ` Rui Nuno Capela
@ 2004-09-08  8:52               ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-08  8:52 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Lee Revell, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> Few moments ago, Tim Savannah was kind enough to send me it's working
> .config for 2.6.9-rc1-bk13 with ck patch and voluntary preempt R6. At
> first glance it seems that he takes the monolithic approach while I
> prefer all-modular. The other main difference is that he has HIGHMEM
> disabled, while I'm on HIGHMEM(4GB) 'coz my machine has 1GB of RAM
> :)

mine is HIGHMEM4G too.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R9
  2004-09-08  8:20                   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R9 Ingo Molnar
@ 2004-09-08  9:46                     ` Rafael J. Wysocki
  2004-09-08  9:56                       ` Ingo Molnar
  2004-09-08 22:37                     ` Lee Revell
  1 sibling, 1 reply; 226+ messages in thread
From: Rafael J. Wysocki @ 2004-09-08  9:46 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Lee Revell, linux-kernel, Andi Kleen, Alexander Nyberg

On Wednesday 08 of September 2004 10:20, Ingo Molnar wrote:
> 
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > Does not work on 32 bit x86:
> > 
> >   CHK     include/linux/compile.h
> >   UPD     include/linux/compile.h
> >   CC      init/version.o
> >   LD      init/built-in.o
> >   LD      .tmp_vmlinux1
> > kernel/built-in.o(.init.text+0xcbf): In function `interruptible_sleep_on':
> > kernel/sched.c:1563: undefined reference to `init_irq_proc'
> > make: *** [.tmp_vmlinux1] Error 1
> 
> does -R9 work for you:
> 
>   
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-R9

Er, it doesn't work for me:

  HOSTCC  scripts/genksyms/parse.o
  HOSTLD  scripts/genksyms/genksyms
  CC      scripts/mod/empty.o
/bin/sh: line 1: x86_64-unknown-linux-gcc: command not found
make[2]: *** [scripts/mod/empty.o] Error 127
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2

Greets,
RJW

-- 
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
		-- Lewis Carroll "Alice's Adventures in Wonderland"

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R9
  2004-09-08  9:46                     ` Rafael J. Wysocki
@ 2004-09-08  9:56                       ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-08  9:56 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Lee Revell, linux-kernel, Andi Kleen, Alexander Nyberg


* Rafael J. Wysocki <rjw@sisk.pl> wrote:

> Er, it doesn't work for me:
> 
>   HOSTCC  scripts/genksyms/parse.o
>   HOSTLD  scripts/genksyms/genksyms
>   CC      scripts/mod/empty.o
> /bin/sh: line 1: x86_64-unknown-linux-gcc: command not found
> make[2]: *** [scripts/mod/empty.o] Error 127
> make[1]: *** [scripts/mod] Error 2
> make: *** [scripts] Error 2

please re-download -R9, it had my crosscompiler flags included by
accident.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R9
  2004-09-08  8:20                   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R9 Ingo Molnar
  2004-09-08  9:46                     ` Rafael J. Wysocki
@ 2004-09-08 22:37                     ` Lee Revell
  2004-09-09  6:17                       ` [patch] voluntary-preempt-2.6.9-rc1-bk12-S0 Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-08 22:37 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen, Alexander Nyberg

On Wed, 2004-09-08 at 04:20, Ingo Molnar wrote:
> does -R9 work for you:
> 

No, same error:

  LD      init/built-in.o
  LD      .tmp_vmlinux1
kernel/built-in.o(.init.text+0xcbf): In function `interruptible_sleep_on':
kernel/sched.c:1563: undefined reference to `init_irq_proc'
make: *** [.tmp_vmlinux1] Error 1

Here is the change that is responsible.  R6 compiles:

rlrevell@mindpipe:~/kernel-source/linux-2.6.9-rc1-bk12-R8$ grep init_irq_proc ../voluntary-preempt-2.6.9-rc1-bk12-R6 
-void init_irq_proc (void)
-void init_irq_proc (void)
-void init_irq_proc (void)
+void init_irq_proc (void)

R8 and later do not:

rlrevell@mindpipe:~/kernel-source/linux-2.6.9-rc1-bk12-R8$ grep init_irq_proc ../voluntary-preempt-2.6.9-rc1-bk12-R9
-void init_irq_proc (void)
-void init_irq_proc (void)
-void init_irq_proc (void)
+extern void generic_init_irq_proc(void);
+static inline void init_irq_proc(void)
+	generic_init_irq_proc();
+void generic_init_irq_proc(void)

Lee



^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc1-bk12-S0
  2004-09-08 22:37                     ` Lee Revell
@ 2004-09-09  6:17                       ` Ingo Molnar
  2004-09-09 19:30                         ` Lee Revell
  2004-09-19 12:26                         ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 Ingo Molnar
  0 siblings, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-09  6:17 UTC (permalink / raw)
  To: Lee Revell; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen, Alexander Nyberg

* Lee Revell <rlrevell@joe-job.com> wrote:

>   LD      .tmp_vmlinux1
> kernel/built-in.o(.init.text+0xcbf): In function `interruptible_sleep_on':
> kernel/sched.c:1563: undefined reference to `init_irq_proc'
> make: *** [.tmp_vmlinux1] Error 1

could you try -S0:

does -R9 work for you:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc1-bk12-S0

[ to get a 2.6.9-rc1-bk12 kernel the patching order is:

    http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
  + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc1.bz2
  + http://redhat.com/~mingo/voluntary-preempt/patch-2.6.9-rc1-bk12.bz2 ]

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-08  8:31             ` Ingo Molnar
@ 2004-09-09 11:09               ` Rui Nuno Capela
  2004-09-15  1:16                 ` Lee Revell
  2004-09-25 19:26               ` Lee Revell
  1 sibling, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-09 11:09 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Lee Revell, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

[-- Attachment #1: Type: text/plain, Size: 3745 bytes --]

Hi,

I'm back with some news :)


>* Ingo Molnar wrote:
>
>> * Rui Nuno Capela wrote:
>>
>> > OK, could just someone with a P4 HT/SMP box hand me their working
>> > kernel .config file for me to try? That could be a good starting
>> > point, if not a plain baseline.
>>
>> I'll try the latest VP kernel (-R9) on a P4/HT SMP box in a minute and
>> will send you a .config if it works. [...]
>
> P4/HT SMP works fine here - config attached.
>
> since your lockups occur under X, could you try to disable DRI/DRM in
> your XConfig? Also, would it be possible to connect that box to another
> box via a serial line and enable the kernel's serial console via the
> 'console=ttyS0,38400 console=tty' boot option and run 'minicom' on that
> other box, set the serial line to 38400 baud there too and capture all
> kernel messages that occur when the lockups happens? Also enable the NMI
> watchdog via nmi_watchdog=1.
>


OK. Spent the whole late night building several R9's, enabling modules one
by one, and testing most options in a incremental fashion. Didn't tried
the serial console yet but I found something that's otherwise specific to
my hardware setup, but only exposed with the VP SMP configuration, as I've
been recently reporting.

So the base experiments were conducted by applying on:

    linux-2.6.9-rc1.tar.bz2

the follwing patches in sequence:

    patch-2.6.9-rc1-bk12.bz2
    voluntary-preempt-2.6.9-rc1-bk12-R9

Here are my summary report:

1) My first experiment was using Ingo's .config exactly as he gave me,
with the sole exception that I switched reiserfs support liked in, as
needed by primary/boot disk partitions. It boots OK, fine but missing
alomost every needed module/device support.

2) Switched module (un|auto)loading support. OK.

3) Several config iterations later, which were taken by switching in some
modules I found obvious to be included one by one, I've finally reached
the showstopper: USB support.

4) Then I wandered: the problem must be in one of plugged USB devices. And
right I was: my WACOM GRAPHIRE2 USB tablet was the culprit. Strange
enough, the hid and wacom modules weren't compiled in yet. Some more
iterations later, and it didn't matter if those modules are in or not: if
the tablet is plugged in at boot time the VP+SMP combination freezes.

5) Incidentally I found that I must unplug the tablet at boot time of
freshly built VP+SMP kernel. Then I found that installing the linuxwacom
project [http://linuxwacom.sourceforge.net] drivers, which adds some
changes to mousedev (built-in), evdev and wacom kernel modules, I end up
with a kernel that I can boot and run later already with the tablet
plugged in.

6) Now that had found the major showstopper, I decided to go for audio:
among some other thingies, switched ALSA sound modules on, included the
realtime-lsm patch and built what comes to be my latest VP+SMP working
kernel. And it boots OK. Great.

7) Now let's start jackd... start some client applications, hear some
sound, and... horror! The system hangs completetly. The time it takes to
hang is by no means deterministic. Soon or later it hangs. Hard-reboot is
always the only way around, no magic-sysrq :( Gasp, I've seen this before.

8) Indeed, only by disabling both softirq and hardirq preeemption I get an
usable VP+SMP kernel. But that's no surprise either, it has been always
like that until Q3, which was the latest VP+SMP combination that didn't
suffer with the Wacom tablet presence at boot/init time. I only hoped the
(soft|hard)irq trouble would be solved by R9 time.

Nevertheless, I'm now a lil'bit happier, now that I've catched up on this
VP promise :)

Thanks for the patience.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org

P.S. Included is my latest .config.

[-- Attachment #2: config-2.6.9-rc1-bk12-R9.6smp.gz --]
[-- Type: application/x-gzip-compressed, Size: 7405 bytes --]

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-08  6:56       ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R6 Lee Revell
@ 2004-09-09 19:29         ` Ingo Molnar
  2004-09-09 19:33           ` Lee Revell
                             ` (3 more replies)
  0 siblings, 4 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-09 19:29 UTC (permalink / raw)
  To: Lee Revell, Andrew Morton
  Cc: linux-kernel, felipe_alfaro, Florian Schmidt, K.R. Foley, Mark_H_Johnson


* Lee Revell <rlrevell@joe-job.com> wrote:

> I get these latencies when I cause the machine to swap by compiling a
> kernel with make -j32.  They get bigger as the machine gets further
> into swap.
> 
> Every 2.0s: head -60 /proc/latency_trace                                                                                                                             Wed Sep  8 02:51:40 2004
> 
> preemption latency trace v1.0.6 on 2.6.9-rc1-bk12-VP-R6
> --------------------------------------------------
>  latency: 605 us, entries: 5 (5)  [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
>     -----------------
>     | task: kswapd0/35, uid:0 nice:0 policy:0 rt_prio:0
>     -----------------
>  => started at: get_swap_page+0x23/0x490
>  => ended at:   get_swap_page+0x13f/0x490
> =======>
> 00000001 0.000ms (+0.606ms): get_swap_page (add_to_swap)
> 00000001 0.606ms (+0.000ms): sub_preempt_count (get_swap_page)
> 00000001 0.606ms (+0.000ms): update_max_trace (check_preempt_timing)
> 00000001 0.606ms (+0.000ms): _mmx_memcpy (update_max_trace)
> 00000001 0.607ms (+0.000ms): kernel_fpu_begin (_mmx_memcpy)

yep, the get_swap_page() latency. I can easily trigger 10+ msec
latencies on a box with alot of swap by just letting stuff swap out. I
had a quick look but there was no obvious way to break the lock. Maybe
Andrew has better ideas? get_swap_page() is pretty stupid, it does a
near linear search for a free slot in the swap bitmap - this not only is
a latency issue but also an overhead thing as we do it for every other
page that touches swap.

rationale: this is pretty much the only latency that we still having
during heavy VM load and it would Just Be Cool if we fixed this final
one. audio daemons and apps like jackd use mlockall() so they are not
affected by swapping.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-S0
  2004-09-09  6:17                       ` [patch] voluntary-preempt-2.6.9-rc1-bk12-S0 Ingo Molnar
@ 2004-09-09 19:30                         ` Lee Revell
  2004-09-09 20:23                           ` Lee Revell
  2004-09-19 12:26                         ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-09 19:30 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen, Alexander Nyberg

On Thu, 2004-09-09 at 02:17, Ingo Molnar wrote:
> could you try -S0:

Nope, different error:

  CC      arch/i386/kernel/irq.o
arch/i386/kernel/irq.c: In function `do_IRQ':
arch/i386/kernel/irq.c:273: warning: implicit declaration of function `redirect_hardirq'
arch/i386/kernel/irq.c:349: error: `noirqdebug' undeclared (first use in this function)
arch/i386/kernel/irq.c:349: error: (Each undeclared identifier is reported only once
arch/i386/kernel/irq.c:349: error: for each function it appears in.)
arch/i386/kernel/irq.c:350: warning: implicit declaration of function `note_interrupt'
make[1]: *** [arch/i386/kernel/irq.o] Error 1
make: *** [arch/i386/kernel] Error 2

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 19:29         ` Ingo Molnar
@ 2004-09-09 19:33           ` Lee Revell
  2004-09-09 20:43             ` Lee Revell
  2004-09-09 20:05           ` Andrew Morton
                             ` (2 subsequent siblings)
  3 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-09 19:33 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Andrew Morton, linux-kernel, felipe_alfaro, Florian Schmidt,
	K.R. Foley, Mark_H_Johnson, scott

On Thu, 2004-09-09 at 15:29, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > I get these latencies when I cause the machine to swap by compiling a
> > kernel with make -j32.  They get bigger as the machine gets further
> > into swap.
> > 
> > Every 2.0s: head -60 /proc/latency_trace                                                                                                                             Wed Sep  8 02:51:40 2004
> > 
> > preemption latency trace v1.0.6 on 2.6.9-rc1-bk12-VP-R6
> > --------------------------------------------------
> >  latency: 605 us, entries: 5 (5)  [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
> >     -----------------
> >     | task: kswapd0/35, uid:0 nice:0 policy:0 rt_prio:0
> >     -----------------
> >  => started at: get_swap_page+0x23/0x490
> >  => ended at:   get_swap_page+0x13f/0x490
> > =======>
> > 00000001 0.000ms (+0.606ms): get_swap_page (add_to_swap)
> > 00000001 0.606ms (+0.000ms): sub_preempt_count (get_swap_page)
> > 00000001 0.606ms (+0.000ms): update_max_trace (check_preempt_timing)
> > 00000001 0.606ms (+0.000ms): _mmx_memcpy (update_max_trace)
> > 00000001 0.607ms (+0.000ms): kernel_fpu_begin (_mmx_memcpy)
> 
> yep, the get_swap_page() latency. I can easily trigger 10+ msec
> latencies on a box with alot of swap by just letting stuff swap out. I
> had a quick look but there was no obvious way to break the lock. Maybe
> Andrew has better ideas? get_swap_page() is pretty stupid, it does a
> near linear search for a free slot in the swap bitmap - this not only is
> a latency issue but also an overhead thing as we do it for every other
> page that touches swap.
> 
> rationale: this is pretty much the only latency that we still having
> during heavy VM load and it would Just Be Cool if we fixed this final
> one. audio daemons and apps like jackd use mlockall() so they are not
> affected by swapping.
> 

I believe Scott Wood suggested a fix back when I first reported this,
have to check my mailbox.  Scott?

Lee



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 19:29         ` Ingo Molnar
  2004-09-09 19:33           ` Lee Revell
@ 2004-09-09 20:05           ` Andrew Morton
  2004-09-09 20:09             ` Alan Cox
                               ` (2 more replies)
  2004-09-09 20:13           ` Lee Revell
  2004-09-22  0:17           ` William Lee Irwin III
  3 siblings, 3 replies; 226+ messages in thread
From: Andrew Morton @ 2004-09-09 20:05 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: rlrevell, linux-kernel, felipe_alfaro, mista.tapas, kr, Mark_H_Johnson

Ingo Molnar <mingo@elte.hu> wrote:
>
> yep, the get_swap_page() latency. I can easily trigger 10+ msec
>  latencies on a box with alot of swap by just letting stuff swap out. I
>  had a quick look but there was no obvious way to break the lock. Maybe
>  Andrew has better ideas? get_swap_page() is pretty stupid, it does a
>  near linear search for a free slot in the swap bitmap - this not only is
>  a latency issue but also an overhead thing as we do it for every other
>  page that touches swap.

Someone needs to get down and redesign the swap block allocator.  I bet
latency improvements would fall out of that automatically.

The main problem is that swap blocks are now physically clustered according
to the page lru ordering, which doesn't have much relationship to
process-virtual-address-ordering.

The swap allocator made sense when we were doing a virtual scan.  It
doesn't make much sense now.

I did a patch a while back which switches the swapspace allocator over to
perform program-virtual-address clustering, but it didn't help much in
brief testing and I haven't got back onto it.

And contrary to my above assertion, I don't think it'll help latency ;)

A short-term bodge would be to scan the map without locks held, take the
lock just to actually claim the block, retry if we raced.  Use swapon_sem
to avoid races.  After checking that we never perform GFP_WAIT allocations
while holding swapon_sem.

The whole thing needs work.


diff -puN mm/vmscan.c~swapspace-layout-improvements mm/vmscan.c
--- 25/mm/vmscan.c~swapspace-layout-improvements	2004-06-03 21:32:51.087602712 -0700
+++ 25-akpm/mm/vmscan.c	2004-06-03 21:32:51.102600432 -0700
@@ -381,8 +381,11 @@ static int shrink_list(struct list_head 
 		 * XXX: implement swap clustering ?
 		 */
 		if (PageAnon(page) && !PageSwapCache(page)) {
+			void *cookie = page->mapping;
+			pgoff_t index = page->index;
+
 			page_map_unlock(page);
-			if (!add_to_swap(page))
+			if (!add_to_swap(page, cookie, index))
 				goto activate_locked;
 			page_map_lock(page);
 		}
diff -puN mm/swap_state.c~swapspace-layout-improvements mm/swap_state.c
--- 25/mm/swap_state.c~swapspace-layout-improvements	2004-06-03 21:32:51.089602408 -0700
+++ 25-akpm/mm/swap_state.c	2004-06-03 21:32:51.103600280 -0700
@@ -137,8 +137,12 @@ void __delete_from_swap_cache(struct pag
  *
  * Allocate swap space for the page and add the page to the
  * swap cache.  Caller needs to hold the page lock. 
+ *
+ * We attempt to lay pages out on swap to that virtually-contiguous pages are
+ * contiguous on-disk.  To do this we utilise page->index (offset into vma) and
+ * page->mapping (the anon_vma's address).
  */
-int add_to_swap(struct page * page)
+int add_to_swap(struct page *page, void *cookie, pgoff_t index)
 {
 	swp_entry_t entry;
 	int pf_flags;
@@ -148,7 +152,7 @@ int add_to_swap(struct page * page)
 		BUG();
 
 	for (;;) {
-		entry = get_swap_page();
+		entry = get_swap_page(cookie, index);
 		if (!entry.val)
 			return 0;
 
diff -puN include/linux/swap.h~swapspace-layout-improvements include/linux/swap.h
--- 25/include/linux/swap.h~swapspace-layout-improvements	2004-06-03 21:32:51.090602256 -0700
+++ 25-akpm/include/linux/swap.h	2004-06-03 21:32:51.104600128 -0700
@@ -193,7 +193,7 @@ extern int rw_swap_page_sync(int, swp_en
 extern struct address_space swapper_space;
 #define total_swapcache_pages  swapper_space.nrpages
 extern void show_swap_cache_info(void);
-extern int add_to_swap(struct page *);
+extern int add_to_swap(struct page *page, void *cookie, pgoff_t index);
 extern void __delete_from_swap_cache(struct page *);
 extern void delete_from_swap_cache(struct page *);
 extern int move_to_swap_cache(struct page *, swp_entry_t);
@@ -210,7 +210,7 @@ extern int total_swap_pages;
 extern unsigned int nr_swapfiles;
 extern struct swap_info_struct swap_info[];
 extern void si_swapinfo(struct sysinfo *);
-extern swp_entry_t get_swap_page(void);
+extern swp_entry_t get_swap_page(void *cookie, pgoff_t index);
 extern int swap_duplicate(swp_entry_t);
 extern int valid_swaphandles(swp_entry_t, unsigned long *);
 extern void swap_free(swp_entry_t);
@@ -259,7 +259,7 @@ static inline int remove_exclusive_swap_
 	return 0;
 }
 
-static inline swp_entry_t get_swap_page(void)
+static inline swp_entry_t get_swap_page(void *cookie, pgoff_t index)
 {
 	swp_entry_t entry;
 	entry.val = 0;
diff -puN mm/shmem.c~swapspace-layout-improvements mm/shmem.c
--- 25/mm/shmem.c~swapspace-layout-improvements	2004-06-03 21:32:51.092601952 -0700
+++ 25-akpm/mm/shmem.c	2004-06-03 21:32:51.108599520 -0700
@@ -744,7 +744,7 @@ static int shmem_writepage(struct page *
 	struct shmem_inode_info *info;
 	swp_entry_t *entry, swap;
 	struct address_space *mapping;
-	unsigned long index;
+	pgoff_t index;
 	struct inode *inode;
 
 	BUG_ON(!PageLocked(page));
@@ -756,7 +756,7 @@ static int shmem_writepage(struct page *
 	info = SHMEM_I(inode);
 	if (info->flags & VM_LOCKED)
 		goto redirty;
-	swap = get_swap_page();
+	swap = get_swap_page(mapping, index);
 	if (!swap.val)
 		goto redirty;
 
diff -puN mm/swapfile.c~swapspace-layout-improvements mm/swapfile.c
--- 25/mm/swapfile.c~swapspace-layout-improvements	2004-06-03 21:32:51.094601648 -0700
+++ 25-akpm/mm/swapfile.c	2004-06-03 23:40:44.396082512 -0700
@@ -25,6 +25,7 @@
 #include <linux/rmap.h>
 #include <linux/security.h>
 #include <linux/backing-dev.h>
+#include <linux/hash.h>
 
 #include <asm/pgtable.h>
 #include <asm/tlbflush.h>
@@ -83,71 +84,51 @@ void swap_unplug_io_fn(struct backing_de
 	up_read(&swap_unplug_sem);
 }
 
-static inline int scan_swap_map(struct swap_info_struct *si)
-{
-	unsigned long offset;
-	/* 
-	 * We try to cluster swap pages by allocating them
-	 * sequentially in swap.  Once we've allocated
-	 * SWAPFILE_CLUSTER pages this way, however, we resort to
-	 * first-free allocation, starting a new cluster.  This
-	 * prevents us from scattering swap pages all over the entire
-	 * swap partition, so that we reduce overall disk seek times
-	 * between swap pages.  -- sct */
-	if (si->cluster_nr) {
-		while (si->cluster_next <= si->highest_bit) {
-			offset = si->cluster_next++;
-			if (si->swap_map[offset])
-				continue;
-			si->cluster_nr--;
-			goto got_page;
-		}
-	}
-	si->cluster_nr = SWAPFILE_CLUSTER;
+int akpm;
 
-	/* try to find an empty (even not aligned) cluster. */
-	offset = si->lowest_bit;
- check_next_cluster:
-	if (offset+SWAPFILE_CLUSTER-1 <= si->highest_bit)
-	{
-		int nr;
-		for (nr = offset; nr < offset+SWAPFILE_CLUSTER; nr++)
-			if (si->swap_map[nr])
-			{
-				offset = nr+1;
-				goto check_next_cluster;
-			}
-		/* We found a completly empty cluster, so start
-		 * using it.
-		 */
-		goto got_page;
-	}
-	/* No luck, so now go finegrined as usual. -Andrea */
-	for (offset = si->lowest_bit; offset <= si->highest_bit ; offset++) {
-		if (si->swap_map[offset])
+/*
+ * We divide the swapdev into 1024 kilobyte chunks.  We use the cookie and the
+ * upper bits of the index to select a chunk and the rest of the index as the
+ * offset into the selected chunk.
+ */
+#define CHUNK_SHIFT	(20 - PAGE_SHIFT)
+#define CHUNK_MASK	(-1UL << CHUNK_SHIFT)
+
+static int
+scan_swap_map(struct swap_info_struct *si, void *cookie, pgoff_t index)
+{
+	unsigned long chunk;
+	unsigned long nchunks;
+	unsigned long block;
+	unsigned long scan;
+
+	nchunks = si->max >> CHUNK_SHIFT;
+	chunk = 0;
+	if (nchunks)
+		chunk = hash_long((unsigned long)cookie + (index & CHUNK_MASK),
+					BITS_PER_LONG) % nchunks;
+
+	block = (chunk << CHUNK_SHIFT) + (index & ~CHUNK_MASK);
+
+	for (scan = 0; scan < si->max; scan++, block++) {
+		if (block == si->max)
+			block = 0;
+		if (block == 0)
 			continue;
-		si->lowest_bit = offset+1;
-	got_page:
-		if (offset == si->lowest_bit)
-			si->lowest_bit++;
-		if (offset == si->highest_bit)
-			si->highest_bit--;
-		if (si->lowest_bit > si->highest_bit) {
-			si->lowest_bit = si->max;
-			si->highest_bit = 0;
-		}
-		si->swap_map[offset] = 1;
-		si->inuse_pages++;
+		if (si->swap_map[block])
+			continue;
+		si->swap_map[block] = 1;
 		nr_swap_pages--;
-		si->cluster_next = offset+1;
-		return offset;
+		if (akpm)
+			printk("cookie:%p, index:%lu, chunk:%lu nchunks:%lu "
+				"block:%lu\n",
+				cookie, index, chunk, nchunks, block);
+		return block;
 	}
-	si->lowest_bit = si->max;
-	si->highest_bit = 0;
 	return 0;
 }
 
-swp_entry_t get_swap_page(void)
+swp_entry_t get_swap_page(void *cookie, pgoff_t index)
 {
 	struct swap_info_struct * p;
 	unsigned long offset;
@@ -166,7 +147,7 @@ swp_entry_t get_swap_page(void)
 		p = &swap_info[type];
 		if ((p->flags & SWP_ACTIVE) == SWP_ACTIVE) {
 			swap_device_lock(p);
-			offset = scan_swap_map(p);
+			offset = scan_swap_map(p, cookie, index);
 			swap_device_unlock(p);
 			if (offset) {
 				entry = swp_entry(type,offset);
diff -puN kernel/power/swsusp.c~swapspace-layout-improvements kernel/power/swsusp.c
--- 25/kernel/power/swsusp.c~swapspace-layout-improvements	2004-06-03 21:32:51.096601344 -0700
+++ 25-akpm/kernel/power/swsusp.c	2004-06-03 21:32:51.112598912 -0700
@@ -317,7 +317,7 @@ static int write_suspend_image(void)
 	for (i=0; i<nr_copy_pages; i++) {
 		if (!(i%100))
 			printk( "." );
-		if (!(entry = get_swap_page()).val)
+		if (!(entry = get_swap_page(NULL, i)).val)
 			panic("\nNot enough swapspace when writing data" );
 		
 		if (swapfile_used[swp_type(entry)] != SWAPFILE_SUSPEND)
@@ -334,7 +334,7 @@ static int write_suspend_image(void)
 		cur = (union diskpage *)((char *) pagedir_nosave)+i;
 		BUG_ON ((char *) cur != (((char *) pagedir_nosave) + i*PAGE_SIZE));
 		printk( "." );
-		if (!(entry = get_swap_page()).val) {
+		if (!(entry = get_swap_page(NULL, i)).val) {
 			printk(KERN_CRIT "Not enough swapspace when writing pgdir\n" );
 			panic("Don't know how to recover");
 			free_page((unsigned long) buffer);
@@ -356,7 +356,7 @@ static int write_suspend_image(void)
 	BUG_ON (sizeof(struct suspend_header) > PAGE_SIZE-sizeof(swp_entry_t));
 	BUG_ON (sizeof(union diskpage) != PAGE_SIZE);
 	BUG_ON (sizeof(struct link) != PAGE_SIZE);
-	if (!(entry = get_swap_page()).val)
+	if (!(entry = get_swap_page(NULL, i)).val)
 		panic( "\nNot enough swapspace when writing header" );
 	if (swapfile_used[swp_type(entry)] != SWAPFILE_SUSPEND)
 		panic("\nNot enough swapspace for header on suspend device" );
diff -puN kernel/power/pmdisk.c~swapspace-layout-improvements kernel/power/pmdisk.c
--- 25/kernel/power/pmdisk.c~swapspace-layout-improvements	2004-06-03 21:32:51.098601040 -0700
+++ 25-akpm/kernel/power/pmdisk.c	2004-06-03 21:32:51.113598760 -0700
@@ -206,7 +206,7 @@ static int write_swap_page(unsigned long
 	swp_entry_t entry;
 	int error = 0;
 
-	entry = get_swap_page();
+	entry = get_swap_page(NULL, addr >> PAGE_SHIFT);
 	if (swp_offset(entry) && 
 	    swapfile_used[swp_type(entry)] == SWAPFILE_SUSPEND) {
 		error = rw_swap_page_sync(WRITE, entry,
_


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 20:05           ` Andrew Morton
@ 2004-09-09 20:09             ` Alan Cox
  2004-09-09 21:28               ` Andrew Morton
  2004-09-09 22:45             ` William Lee Irwin III
  2004-09-10 13:28             ` Ingo Molnar
  2 siblings, 1 reply; 226+ messages in thread
From: Alan Cox @ 2004-09-09 20:09 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, rlrevell, Linux Kernel Mailing List, felipe_alfaro,
	mista.tapas, kr, Mark_H_Johnson

On Iau, 2004-09-09 at 21:05, Andrew Morton wrote:
> I did a patch a while back which switches the swapspace allocator over to
> perform program-virtual-address clustering, but it didn't help much in
> brief testing and I haven't got back onto it.
> 
> And contrary to my above assertion, I don't think it'll help latency ;)

I would still expect the only thing to materially improve swap latency
to be a log structured swap, possibly with a cleaner which tidies
together pages that are referenced together.


You also want contiguous runs of at least 64K and probaly a lot more on
bigger memory systems. 


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 19:29         ` Ingo Molnar
  2004-09-09 19:33           ` Lee Revell
  2004-09-09 20:05           ` Andrew Morton
@ 2004-09-09 20:13           ` Lee Revell
  2004-09-22  0:17           ` William Lee Irwin III
  3 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-09 20:13 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Andrew Morton, linux-kernel, felipe_alfaro, Florian Schmidt,
	K.R. Foley, Mark_H_Johnson

On Thu, 2004-09-09 at 15:29, Ingo Molnar wrote:
> yep, the get_swap_page() latency. I can easily trigger 10+ msec
> latencies on a box with alot of swap by just letting stuff swap out. I
> had a quick look but there was no obvious way to break the lock. Maybe
> Andrew has better ideas? get_swap_page() is pretty stupid, it does a
> near linear search for a free slot in the swap bitmap - this not only is
> a latency issue but also an overhead thing as we do it for every other
> page that touches swap.
> 
> rationale: this is pretty much the only latency that we still having
> during heavy VM load and it would Just Be Cool if we fixed this final
> one. audio daemons and apps like jackd use mlockall() so they are not
> affected by swapping.

Considering that the default swappiness behavior is to swap out idle
apps to get more page cache, this would indeed be nice to fix.  If the
default behavior were to not swap until someone actually asks for more
memory than we have, it would be less of a concern.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-S0
  2004-09-09 19:30                         ` Lee Revell
@ 2004-09-09 20:23                           ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-09 20:23 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Rafael J. Wysocki, linux-kernel, Andi Kleen, Alexander Nyberg

On Thu, 2004-09-09 at 15:30, Lee Revell wrote:
> On Thu, 2004-09-09 at 02:17, Ingo Molnar wrote:
> > could you try -S0:
> 
> Nope, different error:
> 
>   CC      arch/i386/kernel/irq.o
> arch/i386/kernel/irq.c: In function `do_IRQ':
> arch/i386/kernel/irq.c:273: warning: implicit declaration of function `redirect_hardirq'
> arch/i386/kernel/irq.c:349: error: `noirqdebug' undeclared (first use in this function)
> arch/i386/kernel/irq.c:349: error: (Each undeclared identifier is reported only once
> arch/i386/kernel/irq.c:349: error: for each function it appears in.)
> arch/i386/kernel/irq.c:350: warning: implicit declaration of function `note_interrupt'
> make[1]: *** [arch/i386/kernel/irq.o] Error 1
> make: *** [arch/i386/kernel] Error 2
> 

OK, this was user error on my part.  R7 introduced the
CONFIG_GENERIC_HARDIRQS config item, and I had neglected to run make
oldconfig.

Lee 


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 19:33           ` Lee Revell
@ 2004-09-09 20:43             ` Lee Revell
  2004-09-09 20:51               ` Ingo Molnar
  2004-09-09 21:03               ` Scott Wood
  0 siblings, 2 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-09 20:43 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Andrew Morton, linux-kernel, felipe_alfaro, Florian Schmidt,
	K.R. Foley, Mark_H_Johnson, scott

On Thu, 2004-09-09 at 15:33, Lee Revell wrote:
> I believe Scott Wood suggested a fix back when I first reported this,
> have to check my mailbox.  Scott?
> 

Nope, checking the original thread, Scott pointed out that any RT
process will have mlockall'ed anyway and thus won't be affected by this
latency.  So, this one would be cool to fix, but it's not a problem as
such.

Lee 


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 20:43             ` Lee Revell
@ 2004-09-09 20:51               ` Ingo Molnar
  2004-09-09 21:03               ` Scott Wood
  1 sibling, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-09 20:51 UTC (permalink / raw)
  To: Lee Revell
  Cc: Andrew Morton, linux-kernel, felipe_alfaro, Florian Schmidt,
	K.R. Foley, Mark_H_Johnson, scott


* Lee Revell <rlrevell@joe-job.com> wrote:

> > I believe Scott Wood suggested a fix back when I first reported this,
> > have to check my mailbox.  Scott?
> 
> Nope, checking the original thread, Scott pointed out that any RT
> process will have mlockall'ed anyway and thus won't be affected by
> this latency.  So, this one would be cool to fix, but it's not a
> problem as such.

RT threads will be affected by this latency just as much because it's a
non-preemptable critical section. You are right in that an RT task wont
see the overhead itself because it doesnt generate swap entries.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 20:43             ` Lee Revell
  2004-09-09 20:51               ` Ingo Molnar
@ 2004-09-09 21:03               ` Scott Wood
  1 sibling, 0 replies; 226+ messages in thread
From: Scott Wood @ 2004-09-09 21:03 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, Andrew Morton, linux-kernel, felipe_alfaro,
	Florian Schmidt, K.R. Foley, Mark_H_Johnson, scott

On Thu, Sep 09, 2004 at 04:43:49PM -0400, Lee Revell wrote:
> On Thu, 2004-09-09 at 15:33, Lee Revell wrote:
> > I believe Scott Wood suggested a fix back when I first reported this,
> > have to check my mailbox.  Scott?
> > 
> 
> Nope, checking the original thread, Scott pointed out that any RT
> process will have mlockall'ed anyway and thus won't be affected by this
> latency.  So, this one would be cool to fix, but it's not a problem as
> such.

Though, if this is an actual lock latency (as opposed to merely being
a page-fault latency suffered by the task swapping something in), it
could affect mlockall'd processes as well due to some other task
swapping.

One way to fix the latency would be to turn the locks involved into
sleeping mutexes.  There's a comment in the code saying that swaplock
cannot be turned into a semaphore, but it does not say why; if this
is due to it nesting in other locks, those locks would need to be
converted as well.  It could turn into quite a mess doing it
manually, though turning all spinlocks into mutexes (except
hand-chosen exceptions) should take care of it.

-Scott

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 20:09             ` Alan Cox
@ 2004-09-09 21:28               ` Andrew Morton
  0 siblings, 0 replies; 226+ messages in thread
From: Andrew Morton @ 2004-09-09 21:28 UTC (permalink / raw)
  To: Alan Cox
  Cc: mingo, rlrevell, linux-kernel, felipe_alfaro, mista.tapas, kr,
	Mark_H_Johnson

Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>
> I would still expect the only thing to materially improve swap latency
> to be a log structured swap, possibly with a cleaner which tidies
> together pages that are referenced together.
> 

Maybe.  It'd be nice to show some benefit from the "organise pages by
virtual address" patch first.

But then, maybe that doesn't help because there is little correlation
between address congruency and time-of-reference.  That's hard to believe
though.

hm.  The patch _does_ do what I wanted it to do.  Maybe I tested it with
silly workloads.

> 
> You also want contiguous runs of at least 64K and probaly a lot more on
> bigger memory systems. 

I used 1MB.

+/*
+ * We divide the swapdev into 1024 kilobyte chunks.  We use the cookie and the
+ * upper bits of the index to select a chunk and the rest of the index as the
+ * offset into the selected chunk.
+ */
+#define CHUNK_SHIFT	(20 - PAGE_SHIFT)


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 22:45             ` William Lee Irwin III
@ 2004-09-09 22:11               ` Alan Cox
  2004-09-09 23:20                 ` William Lee Irwin III
  0 siblings, 1 reply; 226+ messages in thread
From: Alan Cox @ 2004-09-09 22:11 UTC (permalink / raw)
  To: William Lee Irwin III
  Cc: Andrew Morton, Ingo Molnar, rlrevell, Linux Kernel Mailing List,
	felipe_alfaro, mista.tapas, kr, Mark_H_Johnson

On Iau, 2004-09-09 at 23:45, William Lee Irwin III wrote:
> Something odd is going on, in part because I get *blistering* IO speeds
> running benchmarks like dbench, tiobench, et al on tmpfs with striped
> swap. In fact, IO speeds markedly faster than any other filesystem I've
> ever tried, by about 30MB/s (i.e. wirespeed, where others fall about
> 37.5% short of it). Virtual alignment issues do hurt, but the core
> allocation algorithm appears to be better than good, it's astounding.

Thats a very atypical load where you can expect to get long linear write
outs. The seek v write numbers for a disk nowdays have more in common
with a tape drive. Paging tends to be much much more random.

Alan


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 20:05           ` Andrew Morton
  2004-09-09 20:09             ` Alan Cox
@ 2004-09-09 22:45             ` William Lee Irwin III
  2004-09-09 22:11               ` Alan Cox
  2004-09-10 13:28             ` Ingo Molnar
  2 siblings, 1 reply; 226+ messages in thread
From: William Lee Irwin III @ 2004-09-09 22:45 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Ingo Molnar, rlrevell, linux-kernel, felipe_alfaro, mista.tapas,
	kr, Mark_H_Johnson

Ingo Molnar <mingo@elte.hu> wrote:
>> yep, the get_swap_page() latency. I can easily trigger 10+ msec
>> latencies on a box with alot of swap by just letting stuff swap out. I
>> had a quick look but there was no obvious way to break the lock. Maybe
>> Andrew has better ideas? get_swap_page() is pretty stupid, it does a
>> near linear search for a free slot in the swap bitmap - this not only is
>> a latency issue but also an overhead thing as we do it for every other
>> page that touches swap.

On Thu, Sep 09, 2004 at 01:05:26PM -0700, Andrew Morton wrote:
> Someone needs to get down and redesign the swap block allocator.  I bet
> latency improvements would fall out of that automatically.
> The main problem is that swap blocks are now physically clustered according
> to the page lru ordering, which doesn't have much relationship to
> process-virtual-address-ordering.
> The swap allocator made sense when we were doing a virtual scan.  It
> doesn't make much sense now.

Something odd is going on, in part because I get *blistering* IO speeds
running benchmarks like dbench, tiobench, et al on tmpfs with striped
swap. In fact, IO speeds markedly faster than any other filesystem I've
ever tried, by about 30MB/s (i.e. wirespeed, where others fall about
37.5% short of it). Virtual alignment issues do hurt, but the core
allocation algorithm appears to be better than good, it's astounding.


On Thu, Sep 09, 2004 at 01:05:26PM -0700, Andrew Morton wrote:
> I did a patch a while back which switches the swapspace allocator over to
> perform program-virtual-address clustering, but it didn't help much in
> brief testing and I haven't got back onto it.
> And contrary to my above assertion, I don't think it'll help latency ;)
> A short-term bodge would be to scan the map without locks held, take the
> lock just to actually claim the block, retry if we raced.  Use swapon_sem
> to avoid races.  After checking that we never perform GFP_WAIT allocations
> while holding swapon_sem.
> The whole thing needs work.

Well, yes, dbench on tmpfs isn't really the load we're shooting for.


-- wli

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 22:11               ` Alan Cox
@ 2004-09-09 23:20                 ` William Lee Irwin III
  0 siblings, 0 replies; 226+ messages in thread
From: William Lee Irwin III @ 2004-09-09 23:20 UTC (permalink / raw)
  To: Alan Cox
  Cc: Andrew Morton, Ingo Molnar, rlrevell, Linux Kernel Mailing List,
	felipe_alfaro, mista.tapas, kr, Mark_H_Johnson

On Iau, 2004-09-09 at 23:45, William Lee Irwin III wrote:
>> Something odd is going on, in part because I get *blistering* IO speeds
>> running benchmarks like dbench, tiobench, et al on tmpfs with striped
>> swap. In fact, IO speeds markedly faster than any other filesystem I've
>> ever tried, by about 30MB/s (i.e. wirespeed, where others fall about
>> 37.5% short of it). Virtual alignment issues do hurt, but the core
>> allocation algorithm appears to be better than good, it's astounding.

On Thu, Sep 09, 2004 at 11:11:39PM +0100, Alan Cox wrote:
> Thats a very atypical load where you can expect to get long linear write
> outs. The seek v write numbers for a disk nowdays have more in common
> with a tape drive. Paging tends to be much much more random.

Yes, I mentioned that those kinds of benchmarks are not the workload
we're shooting for in the second part of the message. The commentary
regarding dbench et al on tmpfs suggests that the lower-level parts of
the algorithm are sound, but are somehow driven inappropriately or in a
manner unaligned with what locality of reference there may be.


-- wli

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 20:05           ` Andrew Morton
  2004-09-09 20:09             ` Alan Cox
  2004-09-09 22:45             ` William Lee Irwin III
@ 2004-09-10 13:28             ` Ingo Molnar
  2004-09-10 14:28               ` Paolo Ciarrocchi
  2004-09-10 22:54               ` Lee Revell
  2 siblings, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-10 13:28 UTC (permalink / raw)
  To: Andrew Morton
  Cc: rlrevell, linux-kernel, felipe_alfaro, mista.tapas, kr, Mark_H_Johnson

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]


* Andrew Morton <akpm@osdl.org> wrote:

> diff -puN mm/vmscan.c~swapspace-layout-improvements mm/vmscan.c
> --- 25/mm/vmscan.c~swapspace-layout-improvements	2004-06-03 21:32:51.087602712 -0700
> +++ 25-akpm/mm/vmscan.c	2004-06-03 21:32:51.102600432 -0700

i've attached a merge against current BK-ish kernels. Lee, would you be
interested in testing it? It applies cleanly to an -S0 VP tree. I've
tested it only lightly - it compiles and boots and survives some simple
swapping but that's all.

	Ingo

[-- Attachment #2: swapspace-layout-improvements-2.6.9-rc1-bk12-A1 --]
[-- Type: text/plain, Size: 8058 bytes --]

--- linux/include/linux/swap.h.orig	
+++ linux/include/linux/swap.h	
@@ -193,7 +193,7 @@ extern int rw_swap_page_sync(int, swp_en
 extern struct address_space swapper_space;
 #define total_swapcache_pages  swapper_space.nrpages
 extern void show_swap_cache_info(void);
-extern int add_to_swap(struct page *);
+extern int add_to_swap(struct page *page, void *cookie, pgoff_t index);
 extern void __delete_from_swap_cache(struct page *);
 extern void delete_from_swap_cache(struct page *);
 extern int move_to_swap_cache(struct page *, swp_entry_t);
@@ -209,7 +209,7 @@ extern long total_swap_pages;
 extern unsigned int nr_swapfiles;
 extern struct swap_info_struct swap_info[];
 extern void si_swapinfo(struct sysinfo *);
-extern swp_entry_t get_swap_page(void);
+extern swp_entry_t get_swap_page(void *cookie, pgoff_t index);
 extern int swap_duplicate(swp_entry_t);
 extern int valid_swaphandles(swp_entry_t, unsigned long *);
 extern void swap_free(swp_entry_t);
@@ -274,7 +274,7 @@ static inline int remove_exclusive_swap_
 	return 0;
 }
 
-static inline swp_entry_t get_swap_page(void)
+static inline swp_entry_t get_swap_page(void *cookie, pgoff_t index)
 {
 	swp_entry_t entry;
 	entry.val = 0;
--- linux/kernel/power/swsusp.c.orig	
+++ linux/kernel/power/swsusp.c	
@@ -317,7 +317,7 @@ static int write_suspend_image(void)
 	for (i=0; i<nr_copy_pages; i++) {
 		if (!(i%100))
 			printk( "." );
-		entry = get_swap_page();
+		entry = get_swap_page(NULL, i);
 		if (!entry.val)
 			panic("\nNot enough swapspace when writing data" );
 		
@@ -335,7 +335,7 @@ static int write_suspend_image(void)
 		cur = (union diskpage *)((char *) pagedir_nosave)+i;
 		BUG_ON ((char *) cur != (((char *) pagedir_nosave) + i*PAGE_SIZE));
 		printk( "." );
-		entry = get_swap_page();
+		entry = get_swap_page(NULL, i);
 		if (!entry.val) {
 			printk(KERN_CRIT "Not enough swapspace when writing pgdir\n" );
 			panic("Don't know how to recover");
@@ -358,7 +358,7 @@ static int write_suspend_image(void)
 	BUG_ON (sizeof(struct suspend_header) > PAGE_SIZE-sizeof(swp_entry_t));
 	BUG_ON (sizeof(union diskpage) != PAGE_SIZE);
 	BUG_ON (sizeof(struct link) != PAGE_SIZE);
-	entry = get_swap_page();
+	entry = get_swap_page(NULL, i);
 	if (!entry.val)
 		panic( "\nNot enough swapspace when writing header" );
 	if (swapfile_used[swp_type(entry)] != SWAPFILE_SUSPEND)
--- linux/kernel/power/pmdisk.c.orig	
+++ linux/kernel/power/pmdisk.c	
@@ -206,7 +206,7 @@ static int write_swap_page(unsigned long
 	swp_entry_t entry;
 	int error = 0;
 
-	entry = get_swap_page();
+	entry = get_swap_page(NULL, addr >> PAGE_SHIFT);
 	if (swp_offset(entry) && 
 	    swapfile_used[swp_type(entry)] == SWAPFILE_SUSPEND) {
 		error = rw_swap_page_sync(WRITE, entry,
--- linux/mm/vmscan.c.orig	
+++ linux/mm/vmscan.c	
@@ -390,7 +390,10 @@ static int shrink_list(struct list_head 
 		 * Try to allocate it some swap space here.
 		 */
 		if (PageAnon(page) && !PageSwapCache(page)) {
-			if (!add_to_swap(page))
+			void *cookie = page->mapping;
+			pgoff_t index = page->index;
+
+			if (!add_to_swap(page, cookie, index))
 				goto activate_locked;
 		}
 #endif /* CONFIG_SWAP */
--- linux/mm/swap_state.c.orig	
+++ linux/mm/swap_state.c	
@@ -137,8 +137,12 @@ void __delete_from_swap_cache(struct pag
  *
  * Allocate swap space for the page and add the page to the
  * swap cache.  Caller needs to hold the page lock. 
+ *
+ * We attempt to lay pages out on swap to that virtually-contiguous pages are
+ * contiguous on-disk.  To do this we utilise page->index (offset into vma) and
+ * page->mapping (the anon_vma's address).
  */
-int add_to_swap(struct page * page)
+int add_to_swap(struct page *page, void *cookie, pgoff_t index)
 {
 	swp_entry_t entry;
 	int pf_flags;
@@ -148,7 +152,7 @@ int add_to_swap(struct page * page)
 		BUG();
 
 	for (;;) {
-		entry = get_swap_page();
+		entry = get_swap_page(cookie, index);
 		if (!entry.val)
 			return 0;
 
--- linux/mm/shmem.c.orig	
+++ linux/mm/shmem.c	
@@ -740,7 +740,7 @@ static int shmem_writepage(struct page *
 	struct shmem_inode_info *info;
 	swp_entry_t *entry, swap;
 	struct address_space *mapping;
-	unsigned long index;
+	pgoff_t index;
 	struct inode *inode;
 
 	BUG_ON(!PageLocked(page));
@@ -752,7 +752,7 @@ static int shmem_writepage(struct page *
 	info = SHMEM_I(inode);
 	if (info->flags & VM_LOCKED)
 		goto redirty;
-	swap = get_swap_page();
+	swap = get_swap_page(mapping, index);
 	if (!swap.val)
 		goto redirty;
 
--- linux/mm/swapfile.c.orig	
+++ linux/mm/swapfile.c	
@@ -25,6 +25,7 @@
 #include <linux/rmap.h>
 #include <linux/security.h>
 #include <linux/backing-dev.h>
+#include <linux/hash.h>
 
 #include <asm/pgtable.h>
 #include <asm/tlbflush.h>
@@ -83,71 +84,51 @@ void swap_unplug_io_fn(struct backing_de
 	up_read(&swap_unplug_sem);
 }
 
-static inline int scan_swap_map(struct swap_info_struct *si)
-{
-	unsigned long offset;
-	/* 
-	 * We try to cluster swap pages by allocating them
-	 * sequentially in swap.  Once we've allocated
-	 * SWAPFILE_CLUSTER pages this way, however, we resort to
-	 * first-free allocation, starting a new cluster.  This
-	 * prevents us from scattering swap pages all over the entire
-	 * swap partition, so that we reduce overall disk seek times
-	 * between swap pages.  -- sct */
-	if (si->cluster_nr) {
-		while (si->cluster_next <= si->highest_bit) {
-			offset = si->cluster_next++;
-			if (si->swap_map[offset])
-				continue;
-			si->cluster_nr--;
-			goto got_page;
-		}
-	}
-	si->cluster_nr = SWAPFILE_CLUSTER;
+int akpm;
 
-	/* try to find an empty (even not aligned) cluster. */
-	offset = si->lowest_bit;
- check_next_cluster:
-	if (offset+SWAPFILE_CLUSTER-1 <= si->highest_bit)
-	{
-		unsigned long nr;
-		for (nr = offset; nr < offset+SWAPFILE_CLUSTER; nr++)
-			if (si->swap_map[nr])
-			{
-				offset = nr+1;
-				goto check_next_cluster;
-			}
-		/* We found a completly empty cluster, so start
-		 * using it.
-		 */
-		goto got_page;
-	}
-	/* No luck, so now go finegrined as usual. -Andrea */
-	for (offset = si->lowest_bit; offset <= si->highest_bit ; offset++) {
-		if (si->swap_map[offset])
+/*
+ * We divide the swapdev into 1024 kilobyte chunks.  We use the cookie and the
+ * upper bits of the index to select a chunk and the rest of the index as the
+ * offset into the selected chunk.
+ */
+#define CHUNK_SHIFT	(20 - PAGE_SHIFT)
+#define CHUNK_MASK	(-1UL << CHUNK_SHIFT)
+
+static int
+scan_swap_map(struct swap_info_struct *si, void *cookie, pgoff_t index)
+{
+	unsigned long chunk;
+	unsigned long nchunks;
+	unsigned long block;
+	unsigned long scan;
+
+	nchunks = si->max >> CHUNK_SHIFT;
+	chunk = 0;
+	if (nchunks)
+		chunk = hash_long((unsigned long)cookie + (index & CHUNK_MASK),
+					BITS_PER_LONG) % nchunks;
+
+	block = (chunk << CHUNK_SHIFT) + (index & ~CHUNK_MASK);
+
+	for (scan = 0; scan < si->max; scan++, block++) {
+		if (block == si->max)
+			block = 0;
+		if (block == 0)
 			continue;
-		si->lowest_bit = offset+1;
-	got_page:
-		if (offset == si->lowest_bit)
-			si->lowest_bit++;
-		if (offset == si->highest_bit)
-			si->highest_bit--;
-		if (si->lowest_bit > si->highest_bit) {
-			si->lowest_bit = si->max;
-			si->highest_bit = 0;
-		}
-		si->swap_map[offset] = 1;
-		si->inuse_pages++;
+		if (si->swap_map[block])
+			continue;
+		si->swap_map[block] = 1;
 		nr_swap_pages--;
-		si->cluster_next = offset+1;
-		return offset;
+		if (akpm)
+			printk("cookie:%p, index:%lu, chunk:%lu nchunks:%lu "
+				"block:%lu\n",
+				cookie, index, chunk, nchunks, block);
+		return block;
 	}
-	si->lowest_bit = si->max;
-	si->highest_bit = 0;
 	return 0;
 }
 
-swp_entry_t get_swap_page(void)
+swp_entry_t get_swap_page(void *cookie, pgoff_t index)
 {
 	struct swap_info_struct * p;
 	unsigned long offset;
@@ -166,7 +147,7 @@ swp_entry_t get_swap_page(void)
 		p = &swap_info[type];
 		if ((p->flags & SWP_ACTIVE) == SWP_ACTIVE) {
 			swap_device_lock(p);
-			offset = scan_swap_map(p);
+			offset = scan_swap_map(p, cookie, index);
 			swap_device_unlock(p);
 			if (offset) {
 				entry = swp_entry(type,offset);

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-10 13:28             ` Ingo Molnar
@ 2004-09-10 14:28               ` Paolo Ciarrocchi
  2004-09-10 16:45                 ` Lee Revell
  2004-09-10 22:54               ` Lee Revell
  1 sibling, 1 reply; 226+ messages in thread
From: Paolo Ciarrocchi @ 2004-09-10 14:28 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Andrew Morton, rlrevell, linux-kernel, felipe_alfaro,
	mista.tapas, kr, mark_h_johnson

On Fri, 10 Sep 2004 15:28:41 +0200, Ingo Molnar <mingo@elte.hu> wrote:
> 
> * Andrew Morton <akpm@osdl.org> wrote:
> 
> > diff -puN mm/vmscan.c~swapspace-layout-improvements mm/vmscan.c
> > --- 25/mm/vmscan.c~swapspace-layout-improvements      2004-06-03 21:32:51.087602712 -0700
> > +++ 25-akpm/mm/vmscan.c       2004-06-03 21:32:51.102600432 -0700
> 
> i've attached a merge against current BK-ish kernels. Lee, would you be
> interested in testing it? It applies cleanly to an -S0 VP tree. I've
> tested it only lightly - it compiles and boots and survives some simple
> swapping but that's all.

Hello kernel folks,
what's the plan regarding the inclusion of VP in mainstream ?



-- 
Paolo
Personal home page: paoloc.doesntexist.org
Buy cool stuff here: http://www.cafepress.com/paoloc

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-10 14:28               ` Paolo Ciarrocchi
@ 2004-09-10 16:45                 ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-10 16:45 UTC (permalink / raw)
  To: Paolo Ciarrocchi
  Cc: Ingo Molnar, Andrew Morton, linux-kernel, felipe_alfaro,
	Florian Schmidt, kr, mark_h_johnson

On Fri, 2004-09-10 at 10:28, Paolo Ciarrocchi wrote:
> On Fri, 10 Sep 2004 15:28:41 +0200, Ingo Molnar <mingo@elte.hu> wrote:
> > 
> > * Andrew Morton <akpm@osdl.org> wrote:
> > 
> > > diff -puN mm/vmscan.c~swapspace-layout-improvements mm/vmscan.c
> > > --- 25/mm/vmscan.c~swapspace-layout-improvements      2004-06-03 21:32:51.087602712 -0700
> > > +++ 25-akpm/mm/vmscan.c       2004-06-03 21:32:51.102600432 -0700
> > 
> > i've attached a merge against current BK-ish kernels. Lee, would you be
> > interested in testing it? It applies cleanly to an -S0 VP tree. I've
> > tested it only lightly - it compiles and boots and survives some simple
> > swapping but that's all.
> 
> Hello kernel folks,
> what's the plan regarding the inclusion of VP in mainstream ?
> 

I believe the plan is to merge the individual fixes one at a time.  See
Ingo's recent non-VP-related posts.  Once the fixes for all of the real
deficiencies in the kernel that the VP patches revealed are merged, then
we will have a very small patch.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-10 13:28             ` Ingo Molnar
  2004-09-10 14:28               ` Paolo Ciarrocchi
@ 2004-09-10 22:54               ` Lee Revell
  2004-09-11  0:21                 ` K.R. Foley
  1 sibling, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-10 22:54 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Andrew Morton, linux-kernel, felipe_alfaro, Florian Schmidt, kr,
	Mark_H_Johnson

On Fri, 2004-09-10 at 09:28, Ingo Molnar wrote:
> * Andrew Morton <akpm@osdl.org> wrote:
> 
> > diff -puN mm/vmscan.c~swapspace-layout-improvements mm/vmscan.c
> > --- 25/mm/vmscan.c~swapspace-layout-improvements	2004-06-03 21:32:51.087602712 -0700
> > +++ 25-akpm/mm/vmscan.c	2004-06-03 21:32:51.102600432 -0700
> 

OK, Andrew's patch seems to be an improvement.  I can still cause
unbounded latencies, but these only seem to happen when we fill all
available RAM and swap space, at which point we start spending
milliseconds at a time in scan_swap_map:


preemption latency trace v1.0.7 on 2.6.9-rc1-bk12-VP-S0
-------------------------------------------------------
 latency: 6032 us, entries: 550 (550)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: xfs/1098, uid:0 nice:0 policy:0 rt_prio:0
    -----------------
 => started at: rtc_interrupt+0x294/0x450
 => ended at:   get_swap_page+0x13f/0x350
=======>
00010002 0.000ms (+0.000ms): touch_preempt_timing (rtc_interrupt)
00010002 0.000ms (+0.000ms): printk (rtc_interrupt)
00010002 0.000ms (+0.001ms): vprintk (printk)
00010003 0.002ms (+0.000ms): vscnprintf (vprintk)
00010003 0.002ms (+0.002ms): vsnprintf (vscnprintf)
00010003 0.005ms (+0.004ms): number (vsnprintf)
00010003 0.009ms (+0.001ms): number (vsnprintf)
00010003 0.010ms (+0.001ms): number (vsnprintf)
00010003 0.011ms (+0.000ms): emit_log_char (vprintk)

[...]

00010002 1.983ms (+0.000ms): preempt_schedule (do_IRQ)
00000003 1.984ms (+0.000ms): do_softirq (do_IRQ)
00000003 1.984ms (+0.911ms): __do_softirq (do_softirq)
00010002 2.896ms (+0.000ms): do_IRQ (scan_swap_map)
00010002 2.896ms (+0.000ms): do_IRQ (<00000008>)
00010003 2.897ms (+0.004ms): mask_and_ack_8259A (do_IRQ)
00010003 2.901ms (+0.000ms): preempt_schedule (do_IRQ)

Full trace: 

http://krustophenia.net/testresults.php?dataset=2.6.9-rc1-bk12-S0#/var/www/2.6.9-rc1-bk12-S0/swapspace-layout-improvements-A1.txt

The above are just the initial results; I am still testing this.  It
certainly seems like it can take a beating.

Lee

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-10 22:54               ` Lee Revell
@ 2004-09-11  0:21                 ` K.R. Foley
  0 siblings, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-09-11  0:21 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, Andrew Morton, linux-kernel, felipe_alfaro,
	Florian Schmidt, Mark_H_Johnson

Lee Revell wrote:
> On Fri, 2004-09-10 at 09:28, Ingo Molnar wrote:
> 
>>* Andrew Morton <akpm@osdl.org> wrote:
>>
>>
>>>diff -puN mm/vmscan.c~swapspace-layout-improvements mm/vmscan.c
>>>--- 25/mm/vmscan.c~swapspace-layout-improvements	2004-06-03 21:32:51.087602712 -0700
>>>+++ 25-akpm/mm/vmscan.c	2004-06-03 21:32:51.102600432 -0700
>>
> 
> OK, Andrew's patch seems to be an improvement.  I can still cause
> unbounded latencies, but these only seem to happen when we fill all
> available RAM and swap space, at which point we start spending
> milliseconds at a time in scan_swap_map:
> 
> 

I see much improved performance so far. Been running for about 3 hours 
and the highest latency I've seen thus far is ~260 usec and that was 
mmap not swap. The highest latency I've seen from swapping is ~198 and 
we have been in and out of swap at least several times. The latency 
trace can be seen here:

http://www.cybsft.com/testresults/2.6.9-rc1-bk12-S0/latencytrace1.txt

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-09 11:09               ` Rui Nuno Capela
@ 2004-09-15  1:16                 ` Lee Revell
  2004-09-15  9:29                   ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-15  1:16 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Ingo Molnar, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

On Thu, 2004-09-09 at 07:09, Rui Nuno Capela wrote:
> 4) Then I wandered: the problem must be in one of plugged USB devices. And
> right I was: my WACOM GRAPHIRE2 USB tablet was the culprit. Strange
> enough, the hid and wacom modules weren't compiled in yet. Some more
> iterations later, and it didn't matter if those modules are in or not: if
> the tablet is plugged in at boot time the VP+SMP combination freezes.
> 
> 5) Incidentally I found that I must unplug the tablet at boot time of
> freshly built VP+SMP kernel. Then I found that installing the linuxwacom
> project [http://linuxwacom.sourceforge.net] drivers, which adds some
> changes to mousedev (built-in), evdev and wacom kernel modules, I end up
> with a kernel that I can boot and run later already with the tablet
> plugged in.
> 
> 6) Now that had found the major showstopper, I decided to go for audio:
> among some other thingies, switched ALSA sound modules on, included the
> realtime-lsm patch and built what comes to be my latest VP+SMP working
> kernel. And it boots OK. Great.
> 
> 7) Now let's start jackd... start some client applications, hear some
> sound, and... horror! The system hangs completetly. The time it takes to
> hang is by no means deterministic. Soon or later it hangs. Hard-reboot is
> always the only way around, no magic-sysrq :( Gasp, I've seen this before.
> 
> 8) Indeed, only by disabling both softirq and hardirq preeemption I get an
> usable VP+SMP kernel. But that's no surprise either, it has been always
> like that until Q3, which was the latest VP+SMP combination that didn't
> suffer with the Wacom tablet presence at boot/init time. I only hoped the
> (soft|hard)irq trouble would be solved by R9 time.

Rui, did you ever get this working?  Other testers are not reporting
problems, it would be good to know if there are still bugs lurking.

Have you tried booting with hard and softirq preemption disabled and
enabling them one at a time?

Lee




^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-15  1:16                 ` Lee Revell
@ 2004-09-15  9:29                   ` Rui Nuno Capela
  2004-09-15  9:38                     ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-15  9:29 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

Hi,

Lee Revell wrote:
>
>Rui Nuno Capela wrote:
>>
>> 8) Indeed, only by disabling both softirq and hardirq preeemption I get
>> an usable VP+SMP kernel. But that's no surprise either, it has been
>> always like that until Q3, which was the latest VP+SMP combination that
>> didn't suffer with the Wacom tablet presence at boot/init time. I only
>> hoped the (soft|hard)irq trouble would be solved by R9 time.
>
> Rui, did you ever get this working?  Other testers are not reporting
> problems, it would be good to know if there are still bugs lurking.
>
> Have you tried booting with hard and softirq preemption disabled and
> enabling them one at a time?
>

I've beeing doing a lot experiments, the trial-and-error way, by tweaking
kernel config options on and off, and (re)building the
linux-2.6.9-rc1-bk12-S0 SMP kernel.

I have some news indeed. As you may recall, I'm trying to run jackd
realtime low-latency audio on a P4 2.80C HT (Hyperthreading), and I keep
CONFIG_SMP=y always set.

I found, almost by mistake, that whether CONFIG_SCHED_SMT is set makes a
lot of difference.

a) With CONFIG_SCHED_SMT=y, which I've being doing since ever, the system
behavior is that same one I've been complaining about: having
softirq-preempt=0 and hardirq-preempt=0 is the minimal setting to run
jackd in realtime mode without hard-locking the whole system. Even then, I
get the system completely frozen more times than I like, almost twice a
day! Can't figure out who's or what's the culprit here. It's quite random.

b) When CONFIG_SCHED_SMT is not set, I can run all along with
softirq-preempt=1, hardirq-preempt=1 et al. While running jackd in
realtime mode, I get NO hard-locks, but unfortunately XRUNs are plenty. A
real storm. However I've noticed that the whole seems pretty much stable,
as I didn't experience one single system hang. Regression to
softirq-preempt=0 and hardirq-preempt=0 dissolves the xrun storm to
nothing again.

All my experiments were done based on starting jackd -R -p 128 -n 2 ...
using an onboard Intel ICH5 soundcrap driven by snd-intel8x0 (alsa). Oh, I
forgot to say that it's been always with kernel-preempt=1 and
voluntary-preempt=1.

I'm preparing to take some latency traces later on, while regarding the
SMP=1 SMT=0 configuration and softirq=1 hardirq=1 setting, in a effort to
let that horrible XRUN flux getting out of the way somehow, someday ;)

So, bottomline is that the SMT-aware scheduler is not ready for VP, isn't
it? Does anyone care to confirm this out?

Cheers.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-15  9:29                   ` Rui Nuno Capela
@ 2004-09-15  9:38                     ` Ingo Molnar
  2004-09-15  9:53                       ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-15  9:38 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Lee Revell, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> b) When CONFIG_SCHED_SMT is not set, I can run all along with
> softirq-preempt=1, hardirq-preempt=1 et al. While running jackd in
> realtime mode, I get NO hard-locks, but unfortunately XRUNs are
> plenty. A real storm. However I've noticed that the whole seems pretty
> much stable, as I didn't experience one single system hang. Regression
> to softirq-preempt=0 and hardirq-preempt=0 dissolves the xrun storm to
> nothing again.

when you set softirq-preempt=1 and hardirq-preempt=1 then you also need
to make the soundcard's IRQ non-threaded via /proc/irq/*/*/threaded
(pick the right one that is your soundcard). E.g. i have a CMI8738-MC6 
on IRQ11, so i'd have to do this:

	echo 0 > /proc/irq/11/CMI8738-MC6/threaded

to mark the soundcard's interrupt as directly-executed.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-15  9:38                     ` Ingo Molnar
@ 2004-09-15  9:53                       ` Rui Nuno Capela
  2004-09-15 10:00                         ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-15  9:53 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Lee Revell, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

Hi Ingo,

Ingo Molnar wrote:
>
>Rui Nuno Capela wrote:
>
>> b) When CONFIG_SCHED_SMT is not set, I can run all along with
>> softirq-preempt=1, hardirq-preempt=1 et al. While running jackd in
>> realtime mode, I get NO hard-locks, but unfortunately XRUNs are
>> plenty. A real storm. However I've noticed that the whole seems pretty
>> much stable, as I didn't experience one single system hang. Regression
>> to softirq-preempt=0 and hardirq-preempt=0 dissolves the xrun storm to
>> nothing again.
>
> when you set softirq-preempt=1 and hardirq-preempt=1 then you also need
> to make the soundcard's IRQ non-threaded via /proc/irq/*/*/threaded
> (pick the right one that is your soundcard). E.g. i have a CMI8738-MC6
> on IRQ11, so i'd have to do this:
>
> 	echo 0 > /proc/irq/11/CMI8738-MC6/threaded
>
> to mark the soundcard's interrupt as directly-executed.
>

Yes, I didn't mentioned that, but I do have provided it and assumed on all
my reported trials:

    echo 0 > "/proc/irq/8/rtc/threaded"
    echo 0 > "/proc/irq/17/Intel ICH5/threaded"

Thanks.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-15  9:53                       ` Rui Nuno Capela
@ 2004-09-15 10:00                         ` Ingo Molnar
  2004-09-15 10:35                           ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-15 10:00 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Lee Revell, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> Yes, I didn't mentioned that, but I do have provided it and assumed on
> all my reported trials:
> 
>     echo 0 > "/proc/irq/8/rtc/threaded"
>     echo 0 > "/proc/irq/17/Intel ICH5/threaded"
> 
> Thanks.

weird. You shouldnt get any xruns - unless jackd for whatever reason
doesnt truly run under RT priorities. (there was some NPTL related
buglet that caused such a symptom in earlier jackd versions.)

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-15 10:00                         ` Ingo Molnar
@ 2004-09-15 10:35                           ` Rui Nuno Capela
  0 siblings, 0 replies; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-15 10:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Lee Revell, Florian Schmidt, K.R. Foley, linux-kernel, felipe_alfaro

Ingo Molnar wrote:
>
>Rui Nuno Capela wrote:
>
>> Yes, I didn't mentioned that, but I do have provided it and assumed on
>> all my reported trials:
>>
>>     echo 0 > "/proc/irq/8/rtc/threaded"
>>     echo 0 > "/proc/irq/17/Intel ICH5/threaded"
>>
>> Thanks.
>
> weird. You shouldnt get any xruns - unless jackd for whatever reason
> doesnt truly run under RT priorities. (there was some NPTL related
> buglet that caused such a symptom in earlier jackd versions.)
>

I thought it has been ironed out here.

Note that the difference arises only whether softirq-preempt and
hardirq-preempt are enabled or not.

- with softirq-preempt=0 and hardirq-preempt=0, jackd realtime runs
perfectly, as advertised (jackd -R -p 128 -n 2), and sounds good too ;)

- with softirq-preempt=1 and hardirq-preempt=1, the XRUN storm is terribly
annoying. And sound is obviously a crackling festival.

Remember, that all this is on same hardware, same smp kernel configuration
(CONFIG_SCHED_SMT is not set), same everything else (SuSE 9.1, NPTL 0.61,
jack-0.98.11cvs).

I hope the latency-traces show something useful. Til then...

Take care.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-09  6:17                       ` [patch] voluntary-preempt-2.6.9-rc1-bk12-S0 Ingo Molnar
  2004-09-09 19:30                         ` Lee Revell
@ 2004-09-19 12:26                         ` Ingo Molnar
  2004-09-19 17:05                           ` Felipe Alfaro Solana
                                             ` (4 more replies)
  1 sibling, 5 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-19 12:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, Mark_H_Johnson


i've released the -S1 VP patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S1

NOTE: this patch is against Andrew's -mm tree and the VP patchset will
stay based on -mm until the merging process has been finished.

to get a 2.6.9-rc2-mm1-VP-S1 kernel, the patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc2.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/2.6.9-rc2-mm1.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S1

Changes relative to -S0:

- lots of merging. A good chunk of the VP patch latency breakers and
  support patches are in -mm already.

- integrated my 'preemptible big kernel lock' patch into VP. This makes 
  all BKL code preemptible while keeping correctness. A new debugging 
  infrastructure has been added to catch code that might use the BKL
  in an unsafe way. If the debugging check triggers it will print 
  messages like:

    using smp_processor_id() in preemptible code: bash/1020

  please report such messages and backtraces to me. Most of the messages 
  i've fixed so far were false positives, but one bug has been caught 
  already via this.

  Also, this BKL patch allowed the removal of two questionable 
  latency breakers: the tty.c and the DRM BKL relaxation hack.

- fixed an SMP hardirq redirection bug - IRQ threads could be bound to 
  multiple CPUs resulting in potentially illegal preemption of hardirq
  contexts.

- temporarily dropped the ppc/ppc64 GENERIC_HARDIRQS changes, they broke
  and i cannot test them.

Reports, comments welcome,

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-19 12:26                         ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 Ingo Molnar
@ 2004-09-19 17:05                           ` Felipe Alfaro Solana
  2004-09-20 17:14                           ` K.R. Foley
                                             ` (3 subsequent siblings)
  4 siblings, 0 replies; 226+ messages in thread
From: Felipe Alfaro Solana @ 2004-09-19 17:05 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Lee Revell, linux-kernel, Mark_H_Johnson

On Sep 19, 2004, at 14:26, Ingo Molnar wrote:
>
> i've released the -S1 VP patch:
...
> Reports, comments welcome,

I've been running 2.6.9-rc2-mm1-VP-S1 for some time now and it seems to 
be performing well.


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-19 12:26                         ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 Ingo Molnar
  2004-09-19 17:05                           ` Felipe Alfaro Solana
@ 2004-09-20 17:14                           ` K.R. Foley
  2004-09-20 19:48                             ` Ingo Molnar
  2004-09-20 19:47                           ` Magnus Määttä
                                             ` (2 subsequent siblings)
  4 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-09-20 17:14 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

Ingo Molnar wrote:
> i've released the -S1 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S1
> 
> NOTE: this patch is against Andrew's -mm tree and the VP patchset will
> stay based on -mm until the merging process has been finished.
> 
> to get a 2.6.9-rc2-mm1-VP-S1 kernel, the patching order is:
> 
>    http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
>  + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc2.bz2
>  + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/2.6.9-rc2-mm1.bz2
>  + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S1
> 
> Changes relative to -S0:
> 
> - lots of merging. A good chunk of the VP patch latency breakers and
>   support patches are in -mm already.
> 
> - integrated my 'preemptible big kernel lock' patch into VP. This makes 
>   all BKL code preemptible while keeping correctness. A new debugging 
>   infrastructure has been added to catch code that might use the BKL
>   in an unsafe way. If the debugging check triggers it will print 
>   messages like:
> 
>     using smp_processor_id() in preemptible code: bash/1020
> 
>   please report such messages and backtraces to me. Most of the messages 
>   i've fixed so far were false positives, but one bug has been caught 
>   already via this.
> 
>   Also, this BKL patch allowed the removal of two questionable 
>   latency breakers: the tty.c and the DRM BKL relaxation hack.
> 
> - fixed an SMP hardirq redirection bug - IRQ threads could be bound to 
>   multiple CPUs resulting in potentially illegal preemption of hardirq
>   contexts.
> 
> - temporarily dropped the ppc/ppc64 GENERIC_HARDIRQS changes, they broke
>   and i cannot test them.
> 
> Reports, comments welcome,
> 
> 	Ingo
> -

Is anyone else having trouble getting this to build on x86 smp? I am 
getting undefined references to smp_processor_id within most, if not 
all, modules.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-19 12:26                         ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 Ingo Molnar
  2004-09-19 17:05                           ` Felipe Alfaro Solana
  2004-09-20 17:14                           ` K.R. Foley
@ 2004-09-20 19:47                           ` Magnus Määttä
  2004-09-21  2:07                           ` BKL backtraces - was: " K.R. Foley
  2004-09-21 18:24                           ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 K.R. Foley
  4 siblings, 0 replies; 226+ messages in thread
From: Magnus Määttä @ 2004-09-20 19:47 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Lee Revell, Mark_H_Johnson

Hello Ingo,

On Sunday 19 September 2004 14.26, Ingo Molnar wrote:
> i've released the -S1 VP patch:
>
>  
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-
>S1
>
> NOTE: this patch is against Andrew's -mm tree and the VP patchset will
> stay based on -mm until the merging process has been finished.
>

I got this trace on my laptop (first time I'm testing VP):

preemption latency trace v1.0.7 on 2.6.9-rc2-mm1-VP-S1
-------------------------------------------------------
 latency: 1658 us, entries: 150 (150)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: powersaved/3542, uid:0 nice:10 policy:0 rt_prio:0
    -----------------
 => started at: acpi_ec_write+0x62/0x1c9
 => ended at:   acpi_ec_write+0x19a/0x1c9
=======>
00000001 0.000ms (+0.000ms): acpi_ec_write (acpi_ec_space_handler)
00000001 0.000ms (+0.000ms): acpi_hw_low_level_write (acpi_ec_write)
00000001 0.000ms (+0.001ms): acpi_os_write_port (acpi_hw_low_level_write)
00000001 0.001ms (+0.000ms): acpi_ec_wait (acpi_ec_write)
00000001 0.002ms (+0.000ms): acpi_hw_low_level_read (acpi_ec_wait)
00000001 0.002ms (+0.001ms): acpi_os_read_port (acpi_hw_low_level_read)
00000001 0.003ms (+0.000ms): __const_udelay (acpi_ec_wait)
00000001 0.004ms (+0.000ms): __delay (acpi_ec_wait)
00000001 0.004ms (+0.099ms): delay_pmtmr (__delay)
00000001 0.103ms (+0.000ms): acpi_hw_low_level_read (acpi_ec_wait)
00000001 0.103ms (+0.001ms): acpi_os_read_port (acpi_hw_low_level_read)
...
00000001 1.320ms (+0.000ms): __const_udelay (acpi_ec_wait)
00000001 1.320ms (+0.000ms): __delay (acpi_ec_wait)
00000001 1.321ms (+0.099ms): delay_pmtmr (__delay)
00000001 1.420ms (+0.000ms): acpi_hw_low_level_read (acpi_ec_wait)
00000001 1.420ms (+0.001ms): acpi_os_read_port (acpi_hw_low_level_read)
00000001 1.422ms (+0.000ms): acpi_hw_low_level_write (acpi_ec_write)
00000001 1.422ms (+0.001ms): acpi_os_write_port (acpi_hw_low_level_write)
00000001 1.423ms (+0.000ms): acpi_ec_wait (acpi_ec_write)
00000001 1.423ms (+0.000ms): acpi_hw_low_level_read (acpi_ec_wait)
00000001 1.424ms (+0.001ms): acpi_os_read_port (acpi_hw_low_level_read)
00000001 1.425ms (+0.000ms): __const_udelay (acpi_ec_wait)
00000001 1.425ms (+0.000ms): __delay (acpi_ec_wait)
00000001 1.425ms (+0.099ms): delay_pmtmr (__delay)
00000001 1.525ms (+0.000ms): acpi_hw_low_level_read (acpi_ec_wait)
00000001 1.525ms (+0.001ms): acpi_os_read_port (acpi_hw_low_level_read)
00000001 1.526ms (+0.000ms): acpi_hw_low_level_write (acpi_ec_write)
00000001 1.527ms (+0.001ms): acpi_os_write_port (acpi_hw_low_level_write)
00000001 1.528ms (+0.000ms): acpi_ec_wait (acpi_ec_write)
00000001 1.528ms (+0.000ms): acpi_hw_low_level_read (acpi_ec_wait)
00000001 1.529ms (+0.001ms): acpi_os_read_port (acpi_hw_low_level_read)
00000001 1.530ms (+0.000ms): __const_udelay (acpi_ec_wait)
00000001 1.530ms (+0.000ms): __delay (acpi_ec_wait)
00000001 1.530ms (+0.099ms): delay_pmtmr (__delay)
00000001 1.630ms (+0.000ms): acpi_hw_low_level_read (acpi_ec_wait)
00000001 1.630ms (+0.001ms): acpi_os_read_port (acpi_hw_low_level_read)
00000001 1.632ms (+0.000ms): smp_apic_timer_interrupt (acpi_ec_write)
00010001 1.632ms (+0.000ms): profile_tick (smp_apic_timer_interrupt)
00010001 1.632ms (+0.000ms): profile_hook (profile_tick)
00010002 1.632ms (+0.000ms): notifier_call_chain (profile_hook)
00010001 1.633ms (+0.001ms): profile_hit (smp_apic_timer_interrupt)
00010001 1.634ms (+0.000ms): do_IRQ (acpi_ec_write)
00010001 1.634ms (+0.000ms): do_IRQ (<00000000>)
00010002 1.635ms (+0.002ms): mask_and_ack_8259A (do_IRQ)
00010002 1.637ms (+0.000ms): redirect_hardirq (do_IRQ)
00010001 1.638ms (+0.000ms): handle_IRQ_event (do_IRQ)
00010001 1.638ms (+0.000ms): timer_interrupt (handle_IRQ_event)
00010002 1.638ms (+0.002ms): mark_offset_pmtmr (timer_interrupt)
00010002 1.641ms (+0.000ms): do_timer (timer_interrupt)
00010002 1.641ms (+0.000ms): update_process_times (do_timer)
00010002 1.641ms (+0.000ms): update_one_process (update_process_times)
00010002 1.642ms (+0.000ms): run_local_timers (update_process_times)
00010002 1.642ms (+0.000ms): raise_softirq (update_process_times)
00010002 1.642ms (+0.000ms): scheduler_tick (update_process_times)
00010002 1.643ms (+0.000ms): task_timeslice (scheduler_tick)
00010002 1.643ms (+0.000ms): update_wall_time (do_timer)
00010002 1.643ms (+0.000ms): update_wall_time_one_tick (update_wall_time)
00010002 1.644ms (+0.000ms): note_interrupt (do_IRQ)
00010002 1.644ms (+0.000ms): end_8259A_irq (do_IRQ)
00010002 1.644ms (+0.001ms): enable_8259A_irq (do_IRQ)
00000002 1.645ms (+0.000ms): do_softirq (do_IRQ)
00000002 1.646ms (+0.000ms): __do_softirq (do_softirq)
00000002 1.646ms (+0.000ms): wake_up_process (do_softirq)
00000002 1.646ms (+0.000ms): try_to_wake_up (wake_up_process)
00000002 1.646ms (+0.000ms): task_rq_lock (try_to_wake_up)
00000003 1.647ms (+0.000ms): activate_task (try_to_wake_up)
00000003 1.647ms (+0.000ms): sched_clock (activate_task)
00000003 1.647ms (+0.000ms): task_priority (activate_task)
00000003 1.648ms (+0.000ms): task_sleep_avg (task_priority)
00000003 1.648ms (+0.000ms): enqueue_task (activate_task)
00000002 1.648ms (+0.001ms): preempt_schedule (try_to_wake_up)
00010001 1.650ms (+0.000ms): do_IRQ (acpi_ec_write)
00010001 1.650ms (+0.000ms): do_IRQ (<00000009>)
00010002 1.650ms (+0.003ms): mask_and_ack_8259A (do_IRQ)
00010002 1.654ms (+0.000ms): preempt_schedule (do_IRQ)
00010002 1.654ms (+0.000ms): redirect_hardirq (do_IRQ)
00010002 1.654ms (+0.000ms): wake_up_process (redirect_hardirq)
00010002 1.654ms (+0.000ms): try_to_wake_up (wake_up_process)
00010002 1.655ms (+0.000ms): task_rq_lock (try_to_wake_up)
00010003 1.655ms (+0.000ms): activate_task (try_to_wake_up)
00010003 1.655ms (+0.000ms): sched_clock (activate_task)
00010003 1.655ms (+0.000ms): task_priority (activate_task)
00010003 1.656ms (+0.000ms): task_sleep_avg (task_priority)
00010003 1.656ms (+0.000ms): enqueue_task (activate_task)
00010002 1.656ms (+0.000ms): preempt_schedule (try_to_wake_up)
00010001 1.657ms (+0.000ms): preempt_schedule (do_IRQ)
00000002 1.657ms (+0.000ms): do_softirq (do_IRQ)
00000002 1.657ms (+0.000ms): __do_softirq (do_softirq)
00000001 1.658ms (+0.000ms): sub_preempt_count (acpi_ec_write)
00000001 1.658ms (+0.000ms): update_max_trace (check_preempt_timing)


I don't know if anything can be done about it, but I get lots of them.
The computer is a Intel P-M 1.5GHz with 512MB RAM.


/Magnus Määttä

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-20 17:14                           ` K.R. Foley
@ 2004-09-20 19:48                             ` Ingo Molnar
  2004-09-21  2:25                               ` K.R. Foley
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-20 19:48 UTC (permalink / raw)
  To: K.R. Foley; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson


* K.R. Foley <kr@cybsft.com> wrote:

> Is anyone else having trouble getting this to build on x86 smp? I am
> getting undefined references to smp_processor_id within most, if not
> all, modules.

add EXPORT_SYMBOL(smp_processor_id) to the end of sched.c.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* BKL backtraces - was: Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-19 12:26                         ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 Ingo Molnar
                                             ` (2 preceding siblings ...)
  2004-09-20 19:47                           ` Magnus Määttä
@ 2004-09-21  2:07                           ` K.R. Foley
  2004-09-21  7:18                             ` Ingo Molnar
  2004-09-21 18:24                           ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 K.R. Foley
  4 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-09-21  2:07 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

Ingo Molnar wrote:
> i've released the -S1 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S1
> 

All of these were generated while booting:

Sep 20 19:45:10 porky kernel: using smp_processor_id() in preemptible 
code: modprobe/1019
Sep 20 19:45:10 porky kernel:  [<c011c58e>] smp_processor_id+0x8e/0xa0
Sep 20 19:45:10 porky kernel:  [<c013ace6>] module_unload_init+0x46/0x70
Sep 20 19:45:10 porky kernel:  [<c013ce58>] load_module+0x598/0xb10
Sep 20 19:45:10 porky kernel:  [<c013d438>] sys_init_module+0x68/0x280
Sep 20 19:45:10 porky kernel:  [<c01066b9>] sysenter_past_esp+0x52/0x71

The above one of course repeats on each module load.

Sep 20 19:45:10 porky kernel: using smp_processor_id() in preemptible 
code: X/1017
Sep 20 19:45:10 porky kernel:  [<c011c58e>] smp_processor_id+0x8e/0xa0
Sep 20 19:45:10 porky kernel:  [<c01d6c15>] add_timer_randomness+0x125/0x150
Sep 20 19:45:10 porky kernel:  [<c01d6c9e>] add_mouse_randomness+0x1e/0x30
Sep 20 19:45:10 porky kernel:  [<c022b835>] input_event+0x55/0x3f0
Sep 20 19:45:10 porky kernel:  [<c01151e8>] mcount+0x14/0x18
Sep 20 19:45:10 porky kernel:  [<c01e559e>] kbd_rate+0x5e/0xc0
Sep 20 19:45:10 porky kernel:  [<c01e2196>] vt_ioctl+0xe06/0x1ad0
Sep 20 19:45:10 porky kernel:  [<c014fdcf>] pte_alloc_map+0x9f/0xd0
Sep 20 19:45:10 porky kernel:  [<c015214b>] handle_mm_fault+0x17b/0x1a0
Sep 20 19:45:10 porky kernel:  [<c0119440>] do_page_fault+0x1e0/0x621
Sep 20 19:45:10 porky kernel:  [<c0138759>] sub_preempt_count+0x69/0x80
Sep 20 19:45:10 porky kernel:  [<c0138759>] sub_preempt_count+0x69/0x80
Sep 20 19:45:10 porky kernel:  [<c0138512>] check_preempt_timing+0x192/0x200
Sep 20 19:45:10 porky kernel:  [<c0175034>] sys_ioctl+0xe4/0x240
Sep 20 19:45:10 porky kernel:  [<c01dbd1e>] tty_ioctl+0xe/0x4d0
Sep 20 19:45:10 porky kernel:  [<c01151e8>] mcount+0x14/0x18
Sep 20 19:45:10 porky kernel:  [<c01e1390>] vt_ioctl+0x0/0x1ad0
Sep 20 19:45:10 porky kernel:  [<c01dc08b>] tty_ioctl+0x37b/0x4d0
Sep 20 19:45:10 porky kernel:  [<c0175034>] sys_ioctl+0xe4/0x240
Sep 20 19:45:10 porky kernel:  [<c01066b9>] sysenter_past_esp+0x52/0x71

The X one above repeats once also.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-20 19:48                             ` Ingo Molnar
@ 2004-09-21  2:25                               ` K.R. Foley
  0 siblings, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-09-21  2:25 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

Ingo Molnar wrote:
> * K.R. Foley <kr@cybsft.com> wrote:
> 
> 
>>Is anyone else having trouble getting this to build on x86 smp? I am
>>getting undefined references to smp_processor_id within most, if not
>>all, modules.
> 
> 
> add EXPORT_SYMBOL(smp_processor_id) to the end of sched.c.
> 
> 	Ingo
> 

Thanks. That did the trick along with the afs patch Andrew posted.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: BKL backtraces - was: Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-21  2:07                           ` BKL backtraces - was: " K.R. Foley
@ 2004-09-21  7:18                             ` Ingo Molnar
  2004-09-21  7:44                               ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S2 Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-21  7:18 UTC (permalink / raw)
  To: K.R. Foley; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

[-- Attachment #1: Type: text/plain, Size: 1569 bytes --]


* K.R. Foley <kr@cybsft.com> wrote:

> All of these were generated while booting:
> 
> Sep 20 19:45:10 porky kernel: using smp_processor_id() in preemptible 
> code: modprobe/1019
> Sep 20 19:45:10 porky kernel:  [<c011c58e>] smp_processor_id+0x8e/0xa0
> Sep 20 19:45:10 porky kernel:  [<c013ace6>] module_unload_init+0x46/0x70
> Sep 20 19:45:10 porky kernel:  [<c013ce58>] load_module+0x598/0xb10
> Sep 20 19:45:10 porky kernel:  [<c013d438>] sys_init_module+0x68/0x280
> Sep 20 19:45:10 porky kernel:  [<c01066b9>] sysenter_past_esp+0x52/0x71
> 
> The above one of course repeats on each module load.

ok, this is a harmless false positive - the attached patch fixes it.

> Sep 20 19:45:10 porky kernel: using smp_processor_id() in preemptible 
> code: X/1017
> Sep 20 19:45:10 porky kernel:  [<c011c58e>] smp_processor_id+0x8e/0xa0
> Sep 20 19:45:10 porky kernel:  [<c01d6c15>] add_timer_randomness+0x125/0x150
> Sep 20 19:45:10 porky kernel:  [<c01d6c9e>] add_mouse_randomness+0x1e/0x30
> Sep 20 19:45:10 porky kernel:  [<c022b835>] input_event+0x55/0x3f0

> Sep 20 19:45:10 porky kernel:  [<c01e1390>] vt_ioctl+0x0/0x1ad0
> Sep 20 19:45:10 porky kernel:  [<c01dc08b>] tty_ioctl+0x37b/0x4d0
> Sep 20 19:45:10 porky kernel:  [<c0175034>] sys_ioctl+0xe4/0x240
> Sep 20 19:45:10 porky kernel:  [<c01066b9>] sysenter_past_esp+0x52/0x71
> 
> The X one above repeats once also.

aha! This is a real one, fixed by the second patch. This piece of code
relied on add_timer_randomness() always being called with preemption
disabled.

these fixes will show up in -S2.

	Ingo

[-- Attachment #2: 1 --]
[-- Type: text/plain, Size: 441 bytes --]

--- linux/kernel/module.c.orig	
+++ linux/kernel/module.c	
@@ -394,7 +394,7 @@ static void module_unload_init(struct mo
 	for (i = 0; i < NR_CPUS; i++)
 		local_set(&mod->ref[i].count, 0);
 	/* Hold reference count during initialization. */
-	local_set(&mod->ref[smp_processor_id()].count, 1);
+	local_set(&mod->ref[_smp_processor_id()].count, 1);
 	/* Backwards compatibility macros put refcount during init. */
 	mod->waiter = current;
 }

[-- Attachment #3: 2 --]
[-- Type: text/plain, Size: 698 bytes --]

--- linux/drivers/char/random.c.orig	
+++ linux/drivers/char/random.c	
@@ -807,10 +807,11 @@ static void add_timer_randomness(struct 
 	long		delta, delta2, delta3;
 	int		entropy = 0;
 
+	preempt_disable();
 	/* if over the trickle threshold, use only 1 in 4096 samples */
 	if ( random_state->entropy_count > trickle_thresh &&
 	     (__get_cpu_var(trickle_count)++ & 0xfff))
-		return;
+		goto out;
 
 	/*
 	 * Use get_cycles() if implemented, otherwise fall back to
@@ -861,6 +862,8 @@ static void add_timer_randomness(struct 
 		entropy = int_ln_12bits(delta);
 	}
 	batch_entropy_store(num, time, entropy);
+out:
+	preempt_enable();
 }
 
 void add_keyboard_randomness(unsigned char scancode)

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc2-mm1-S2
  2004-09-21  7:18                             ` Ingo Molnar
@ 2004-09-21  7:44                               ` Ingo Molnar
  2004-09-21 18:51                                 ` K.R. Foley
                                                   ` (2 more replies)
  0 siblings, 3 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-21  7:44 UTC (permalink / raw)
  To: K.R. Foley; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson


i've released the -S2 VP patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S2

Changes since -S1:

 - added the swapspace-layout patch to fix the get_swap_page()
   latencies. (sw-suspend wont compile but everything else should work
   fine.)

 - fixed the random.c BKL non-preemptability assumption

 - export smp_processor_id() to fix modules

 - module init smp_processor_id()-debug false positive fix

To get a 2.6.9-rc2-mm1-VP-S2 kernel, the patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc2.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/2.6.9-rc2-mm1.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S2

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-19 12:26                         ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 Ingo Molnar
                                             ` (3 preceding siblings ...)
  2004-09-21  2:07                           ` BKL backtraces - was: " K.R. Foley
@ 2004-09-21 18:24                           ` K.R. Foley
  2004-09-21 19:21                             ` Ingo Molnar
  4 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-09-21 18:24 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

Ingo Molnar wrote:
> i've released the -S1 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S1
> 

Two separate oopses this morning running that above patch. One appears 
to happen in locks_delete_lock. The log output follows. Unfortunately I 
am not sure what is relevant to the oops and whats not so I am sending 
it all. Also the trace that was generated when this happened can be 
found here:

http://www.cybsft.com/testresults/2.6.9-rc2-mm1-VP-S0/lat_trace22.txt

log output:

http://www.cybsft.com/testresults/2.6.9-rc2-mm1-VP-S0/dump1.txt

The other appears to happen in __posix_lock_file.

Trace here:

http://www.cybsft.com/testresults/2.6.9-rc2-mm1-VP-S0/lat_trace23.txt

log output here:

http://www.cybsft.com/testresults/2.6.9-rc2-mm1-VP-S0/dump2.txt

If there is anything else that I can provide on these, or if there is a 
better way to post this, please let me know.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S2
  2004-09-21  7:44                               ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S2 Ingo Molnar
@ 2004-09-21 18:51                                 ` K.R. Foley
  2004-09-22 10:33                                 ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S3 Ingo Molnar
  2004-09-22 17:30                                 ` Oops in __posix_lock_file was:Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S2 K.R. Foley
  2 siblings, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-09-21 18:51 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

Ingo Molnar wrote:
> i've released the -S2 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S2
> 

Another smp_processor_id in modprobe. Now I see these for every 
modprobe. Is this a different global lock?

Sep 21 13:27:53 porky kernel: using smp_processor_id() in preemptible 
code: modprobe/1737
Sep 21 13:27:53 porky kernel:  [<c011c58e>] smp_processor_id+0x8e/0xa0
Sep 21 13:27:53 porky kernel:  [<c01401e5>] __stop_machine_run+0xb5/0xc0
Sep 21 13:27:53 porky kernel:  [<c013de30>] __try_stop_module+0x0/0x46
Sep 21 13:27:53 porky kernel:  [<c01151e8>] mcount+0x14/0x18
Sep 21 13:27:53 porky kernel:  [<c0140214>] stop_machine_run+0x24/0x3d
Sep 21 13:27:53 porky kernel:  [<c013de30>] __try_stop_module+0x0/0x46
Sep 21 13:27:53 porky kernel:  [<c013b019>] try_stop_module+0x39/0x40
Sep 21 13:27:53 porky kernel:  [<c013de30>] __try_stop_module+0x0/0x46
Sep 21 13:27:53 porky kernel:  [<c013b1e0>] sys_delete_module+0x110/0x180
Sep 21 13:27:53 porky kernel:  [<c0154c09>] sys_munmap+0x59/0x80
Sep 21 13:27:53 porky kernel:  [<c01066b9>] sysenter_past_esp+0x52/0x71

kr


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-21 18:24                           ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 K.R. Foley
@ 2004-09-21 19:21                             ` Ingo Molnar
  2004-09-21 19:37                               ` K.R. Foley
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-21 19:21 UTC (permalink / raw)
  To: K.R. Foley; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson


* K.R. Foley <kr@cybsft.com> wrote:

> Ingo Molnar wrote:
> >i've released the -S1 VP patch:
> >
> >  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S1
> >
> 
> Two separate oopses this morning running that above patch. One appears
> to happen in locks_delete_lock. [...]

i too got this one today. Seems to be related to the BKL changes -
locks.c is a heavy user of the BKL. You have an SMP system, right? Does
the oops happen if you boot with maxcpus=1?

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S1
  2004-09-21 19:21                             ` Ingo Molnar
@ 2004-09-21 19:37                               ` K.R. Foley
  0 siblings, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-09-21 19:37 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

Ingo Molnar wrote:
> * K.R. Foley <kr@cybsft.com> wrote:
> 
> 
>>Ingo Molnar wrote:
>>
>>>i've released the -S1 VP patch:
>>>
>>> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S1
>>>
>>
>>Two separate oopses this morning running that above patch. One appears
>>to happen in locks_delete_lock. [...]
> 
> 
> i too got this one today. Seems to be related to the BKL changes -
> locks.c is a heavy user of the BKL. You have an SMP system, right? Does
> the oops happen if you boot with maxcpus=1?
> 
> 	Ingo
> 
This was on my SMP system. I can try the maxcpus=1. However, the trouble 
may be reproducing the oops. This happened at ~5:35 this morning (~9 
hrs. ago). Hadn't happened again as of an hour ago when I booted S2. I 
will give it a try though.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R6
  2004-09-09 19:29         ` Ingo Molnar
                             ` (2 preceding siblings ...)
  2004-09-09 20:13           ` Lee Revell
@ 2004-09-22  0:17           ` William Lee Irwin III
  3 siblings, 0 replies; 226+ messages in thread
From: William Lee Irwin III @ 2004-09-22  0:17 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Lee Revell, Andrew Morton, Hugh Dickins, linux-kernel,
	felipe_alfaro, Florian Schmidt, K.R. Foley, Mark_H_Johnson

* Lee Revell <rlrevell@joe-job.com> wrote:
>> preemption latency trace v1.0.6 on 2.6.9-rc1-bk12-VP-R6
>> --------------------------------------------------
>>  latency: 605 us, entries: 5 (5)  [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
>>     -----------------
>>     | task: kswapd0/35, uid:0 nice:0 policy:0 rt_prio:0
>>     -----------------
>>  => started at: get_swap_page+0x23/0x490
>>  => ended at:   get_swap_page+0x13f/0x490
>> =======>
>> 00000001 0.000ms (+0.606ms): get_swap_page (add_to_swap)
>> 00000001 0.606ms (+0.000ms): sub_preempt_count (get_swap_page)
>> 00000001 0.606ms (+0.000ms): update_max_trace (check_preempt_timing)
>> 00000001 0.606ms (+0.000ms): _mmx_memcpy (update_max_trace)
>> 00000001 0.607ms (+0.000ms): kernel_fpu_begin (_mmx_memcpy)

This appears to be the middle of the function, which is about right...


On Thu, Sep 09, 2004 at 09:29:24PM +0200, Ingo Molnar wrote:
> yep, the get_swap_page() latency. I can easily trigger 10+ msec
> latencies on a box with alot of swap by just letting stuff swap out. I
> had a quick look but there was no obvious way to break the lock. Maybe
> Andrew has better ideas? get_swap_page() is pretty stupid, it does a
> near linear search for a free slot in the swap bitmap - this not only is
> a latency issue but also an overhead thing as we do it for every other
> page that touches swap.
> rationale: this is pretty much the only latency that we still having
> during heavy VM load and it would Just Be Cool if we fixed this final
> one. audio daemons and apps like jackd use mlockall() so they are not
> affected by swapping.

I presume most of the time is due to scan_swap_map() and not much of the
rest of get_swap_page(). Dangling hierarchical bitmaps off of the
swap_info structures to accelerate the search sounds plausible, though
code reuse is largely infeasible due to memory allocation concerns (it
must be fully-populated during swaplist element creation). The space
overhead should be 1 bit per unsigned short at the first level and 1
bit per word for higher levels until the terms vanish. So that's
si->max*sum(i>=0,BITS_PER_LONG**i<=si->max)floor(si->max/BITS_PER_LONG**i)
<= si->max*/(1-1/BITS_PER_LONG) bits, or
si->max*sizeof(long)/(BITS_PER_LONG-1) bytes, which is
sizeof(long)/sizeof(short)/(BITS_PER_LONG-1) times the size of the
original swap map, which is 2/31 on 32-bit and 4/63 on 64-bit of the
size of the original swap map, both of which are just above 1/16 (1/496
above on 32-bit and 1/1008 above on 64-bit), so the space overhead
appears to be acceptable. A hierarchical bitmap should reduce the time
requirements for the search from O(sum(si) si->max) to
O(BITS_PER_LONG/lg(BITS_PER_LONG)). Sound reasonable?


-- wli

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc2-mm1-S3
  2004-09-21  7:44                               ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S2 Ingo Molnar
  2004-09-21 18:51                                 ` K.R. Foley
@ 2004-09-22 10:33                                 ` Ingo Molnar
  2004-09-22 15:07                                   ` K.R. Foley
                                                     ` (4 more replies)
  2004-09-22 17:30                                 ` Oops in __posix_lock_file was:Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S2 K.R. Foley
  2 siblings, 5 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-22 10:33 UTC (permalink / raw)
  To: K.R. Foley; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson


i've released the -S3 VP patch:

   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S3

most importantly, -S3 fixes the SMP+PREEMPT bug reported by K.R. Foley. 
It was a bug in BKL-preemption: forced preemption still caused automatic
dropping of the BKS - this is bad and broke fs/locks.c. (The race could
occur on UP+PREEMPT too but it has never been reproduced there.)

other changes since -S2:

 - introduced a CONFIG_PREEMPT_BKL - just in case there are other
   problems. This can be used to turn BKL preemption on/off. Can be 
   useful for performance tests as well.

 - fixed a couple of more smp_processor_id() false positives.

 - cleaned up hardirq.c some more

To get a 2.6.9-rc2-mm1-VP-S3 kernel, the patching order is:
 
   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc2.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/2.6.9-rc2-mm1.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S3

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S3
  2004-09-22 10:33                                 ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S3 Ingo Molnar
@ 2004-09-22 15:07                                   ` K.R. Foley
  2004-09-22 17:16                                     ` Lee Revell
  2004-09-22 17:09                                   ` K.R. Foley
                                                     ` (3 subsequent siblings)
  4 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-09-22 15:07 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

Ingo Molnar wrote:
> i've released the -S3 VP patch:
> 
>    http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S3
> 

In order to get this to build I had to add

#include <asm/delay.h>

to linux/kernel/time.c

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S3
  2004-09-22 10:33                                 ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S3 Ingo Molnar
  2004-09-22 15:07                                   ` K.R. Foley
@ 2004-09-22 17:09                                   ` K.R. Foley
  2004-09-22 19:08                                   ` Lee Revell
                                                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-09-22 17:09 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

Ingo Molnar wrote:
> i've released the -S3 VP patch:
> 
>    http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S3
> 

OK. Bad things seem to happen with this patch. Each time I booted it 
(twice) several telnet connections get dropped before I get a prompt 
(this is without any load on the system). The system SEEMED a bit less 
responsive. I can't be sure about that because I booted it remotely. 
After starting stress-kernel and logging out, I couldn't get back into 
the system remotely. Telnet and ssh both would just hang indefinitely. 
The console was still useable I think (according to my wife being my 
remote hands and eyes.) I saw no indications in the log of any 
unhappiness or any indications of why connections were dropping and 
hanging. Also the highest latency reported was 252 usec.

kr


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S3
  2004-09-22 15:07                                   ` K.R. Foley
@ 2004-09-22 17:16                                     ` Lee Revell
  2004-09-22 17:40                                       ` K.R. Foley
  2004-09-22 19:45                                       ` Ingo Molnar
  0 siblings, 2 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-22 17:16 UTC (permalink / raw)
  To: K.R. Foley; +Cc: Ingo Molnar, linux-kernel, Mark_H_Johnson

On Wed, 2004-09-22 at 11:07, K.R. Foley wrote:
> Ingo Molnar wrote:
> > i've released the -S3 VP patch:
> > 
> >    http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S3
> > 
> 
> In order to get this to build I had to add
> 
> #include <asm/delay.h>
> 
> to linux/kernel/time.c
> 

Builds fine for me, this must specific to your config, or Ingo fixed the
patch.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Oops in __posix_lock_file was:Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S2
  2004-09-21  7:44                               ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S2 Ingo Molnar
  2004-09-21 18:51                                 ` K.R. Foley
  2004-09-22 10:33                                 ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S3 Ingo Molnar
@ 2004-09-22 17:30                                 ` K.R. Foley
  2004-09-22 19:43                                   ` Ingo Molnar
  2 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-09-22 17:30 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson

Ingo Molnar wrote:
> i've released the -S2 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S2
> 

I don't know if this one has been fixed in S3 or not but I also saw this 
in S1 I think. This just happened when I booted back into S2 so I 
thought I would report it.

kr


Sep 22 12:00:44 porky kernel: Unable to handle kernel NULL pointer 
dereference at virtual address 00000000
Sep 22 12:00:44 porky kernel:  printing eip:
Sep 22 12:00:44 porky kernel: c01776dd
Sep 22 12:00:44 porky kernel: *pde = 00000000
Sep 22 12:00:44 porky kernel: using smp_processor_id() in preemptible 
code: mingetty/2667
Sep 22 12:00:44 porky kernel:  [<c011c58e>] smp_processor_id+0x8e/0xa0
Sep 22 12:00:44 porky kernel:  [<c01078b8>] die+0x18/0x190
Sep 22 12:00:44 porky kernel:  [<c0121675>] vprintk+0x125/0x170
Sep 22 12:00:44 porky kernel:  [<c012153d>] printk+0x1d/0x30
Sep 22 12:00:44 porky kernel:  [<c011958d>] do_page_fault+0x32d/0x621
Sep 22 12:00:44 porky kernel:  [<c0138759>] sub_preempt_count+0x69/0x80
Sep 22 12:00:44 porky kernel:  [<c0138759>] sub_preempt_count+0x69/0x80
Sep 22 12:00:44 porky kernel:  [<c02b3f9a>] _spin_unlock+0x1a/0x40
Sep 22 12:00:44 porky init: open(/dev/pts/0): No such file or directory
Sep 22 12:00:44 porky kernel:  [<c0138512>] check_preempt_timing+0x192/0x200
Sep 22 12:00:45 porky init: open(/dev/pts/0): No such file or directory
Sep 22 12:00:45 porky kernel:  [<c02b3f9a>] _spin_unlock+0x1a/0x40
Sep 22 12:00:45 porky kernel:  [<c014a8a3>] kmem_cache_alloc+0x63/0x70
Sep 22 12:00:45 porky kernel:  [<c02b314e>] cond_resched+0xe/0x80
Sep 22 12:00:45 porky kernel:  [<c0119260>] do_page_fault+0x0/0x621
Sep 22 12:00:45 porky kernel:  [<c0107175>] error_code+0x2d/0x38
Sep 22 12:00:45 porky kernel:  [<c01776dd>] __posix_lock_file+0x6d/0x5a0
Sep 22 12:00:45 porky kernel:  [<c0176a2e>] flock_to_posix_lock+0xe/0x170
Sep 22 12:00:45 porky kernel:  [<c0178bd6>] fcntl_setlk+0x166/0x2d0
Sep 22 12:00:45 porky kernel:  [<c01b3fd8>] dummy_file_lock+0x8/0x10
Sep 22 12:00:45 porky kernel:  [<c0178c0f>] fcntl_setlk+0x19f/0x2d0
Sep 22 12:00:45 porky kernel:  [<c0138759>] sub_preempt_count+0x69/0x80
Sep 22 12:00:45 porky kernel:  [<c02b3f9a>] _spin_unlock+0x1a/0x40
Sep 22 12:00:45 porky kernel:  [<c0138512>] check_preempt_timing+0x192/0x200
Sep 22 12:00:45 porky kernel:  [<c0138759>] sub_preempt_count+0x69/0x80
Sep 22 12:00:45 porky kernel:  [<c02b3f9a>] _spin_unlock+0x1a/0x40
Sep 22 12:00:45 porky kernel:  [<c01747d2>] sys_fcntl64+0xa2/0xc0
Sep 22 12:00:45 porky kernel:  [<c0174501>] do_fcntl+0x11/0x1c0
Sep 22 12:00:45 porky kernel:  [<c01745f5>] do_fcntl+0x105/0x1c0
Sep 22 12:00:45 porky kernel:  [<c01747d2>] sys_fcntl64+0xa2/0xc0
Sep 22 12:00:46 porky kernel:  [<c01066b9>] sysenter_past_esp+0x52/0x71
Sep 22 12:00:46 porky kernel: Oops: 0000 [#1]
Sep 22 12:00:46 porky kernel: PREEMPT SMP
Sep 22 12:00:46 porky kernel: Modules linked in: parport_pc lp parport 
autofs4 sunrpc tulip ide_cd cdrom floppy sg microcode dm_mod uhci_hcd 
usbcore ipv6 ext3 jbd aic7xxx sd_mod scsi_mod
Sep 22 12:00:46 porky kernel: CPU:    0
Sep 22 12:00:47 porky kernel: EIP:    0060:[<c01776dd>]    Not tainted VLI
Sep 22 12:00:47 porky kernel: EFLAGS: 00010246   (2.6.9-rc2-mm1-VP-S2)
Sep 22 12:00:47 porky kernel: EIP is at __posix_lock_file+0x6d/0x5a0
Sep 22 12:00:47 porky kernel: eax: 00000000   ebx: 00000000   ecx: 
d74e05ac   edx: 00000000
Sep 22 12:00:47 porky kernel: esi: dc53e328   edi: dc53e3d8   ebp: 
de96ff00   esp: de96fea4
Sep 22 12:00:47 porky kernel: ds: 007b   es: 007b   ss: 0068   preempt: 
00000001
Sep 22 12:00:47 porky kernel: Process mingetty (pid: 2667, 
threadinfo=de96e000 task=dfcecbf0)
Sep 22 12:00:48 porky kernel: Stack: d74e05ac d74e01ec 00000202 00000046 
c0176a2e d74e05ac dea26ce0 d74e05ac
Sep 22 12:00:48 porky kernel:        dea26ce0 de96fee4 00000202 c0178bd6 
c01b3fd8 d74e05ac 00000000 00000000
Sep 22 12:00:48 porky kernel:        00000000 00000000 d74e054c d74e04ec 
d74e05ac dea26ce0 00000000 de96ff7c
Sep 22 12:00:48 porky kernel: Call Trace:
Sep 22 12:00:48 porky kernel:  [<c0176a2e>] flock_to_posix_lock+0xe/0x170
Sep 22 12:00:48 porky kernel:  [<c0178bd6>] fcntl_setlk+0x166/0x2d0
Sep 22 12:00:48 porky kernel:  [<c01b3fd8>] dummy_file_lock+0x8/0x10
Sep 22 12:00:48 porky kernel:  [<c0178c0f>] fcntl_setlk+0x19f/0x2d0
Sep 22 12:00:48 porky kernel:  [<c0138759>] sub_preempt_count+0x69/0x80
Sep 22 12:00:48 porky kernel:  [<c02b3f9a>] _spin_unlock+0x1a/0x40
Sep 22 12:00:48 porky kernel:  [<c0138512>] check_preempt_timing+0x192/0x200
Sep 22 12:00:48 porky kernel:  [<c0138759>] sub_preempt_count+0x69/0x80
Sep 22 12:00:48 porky kernel:  [<c02b3f9a>] _spin_unlock+0x1a/0x40
Sep 22 12:00:48 porky kernel:  [<c01747d2>] sys_fcntl64+0xa2/0xc0
Sep 22 12:00:48 porky kernel:  [<c0174501>] do_fcntl+0x11/0x1c0
Sep 22 12:00:48 porky kernel:  [<c01745f5>] do_fcntl+0x105/0x1c0
Sep 22 12:00:48 porky kernel:  [<c01747d2>] sys_fcntl64+0xa2/0xc0
Sep 22 12:00:48 porky kernel:  [<c01066b9>] sysenter_past_esp+0x52/0x71
Sep 22 12:00:48 porky kernel: Code: 74 2f 8d 96 b0 00 00 00 89 55 e0 8b 
86 b0 00 00 00 85 c0 74 1c 89 c3 8d b4 26 00 00 00 00 f6 43 30 01 0f 85 
ce 04 00 00 89 5d e0 <8b> 1b 85 db 75 ed 8b 55 0c 31 ff f6 42 30 08 0f 
85 6e 02 00 00





^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S3
  2004-09-22 17:16                                     ` Lee Revell
@ 2004-09-22 17:40                                       ` K.R. Foley
  2004-09-22 19:45                                       ` Ingo Molnar
  1 sibling, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-09-22 17:40 UTC (permalink / raw)
  To: Lee Revell; +Cc: Ingo Molnar, linux-kernel, Mark_H_Johnson

Lee Revell wrote:
> On Wed, 2004-09-22 at 11:07, K.R. Foley wrote:
> 
>>Ingo Molnar wrote:
>>
>>>i've released the -S3 VP patch:
>>>
>>>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S3
>>>
>>
>>In order to get this to build I had to add
>>
>>#include <asm/delay.h>
>>
>>to linux/kernel/time.c
>>
> 
> 
> Builds fine for me, this must specific to your config, or Ingo fixed the
> patch.
> 
> Lee
> 
> 

Hmm. That seems odd.

By the way, should I have included linux/delay.h, which includes 
asm/delay.h instead of including it directly?

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S3
  2004-09-22 10:33                                 ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S3 Ingo Molnar
  2004-09-22 15:07                                   ` K.R. Foley
  2004-09-22 17:09                                   ` K.R. Foley
@ 2004-09-22 19:08                                   ` Lee Revell
  2004-09-23  1:13                                   ` Lee Revell
  2004-09-23 12:28                                   ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S4 Ingo Molnar
  4 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-22 19:08 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: K.R. Foley, linux-kernel, Mark_H_Johnson

On Wed, 2004-09-22 at 06:33, Ingo Molnar wrote:
>    http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S3

The rt_garbage_collect latency is back:

preemption latency trace v1.0.7 on 2.6.9-rc2-mm1-VP-S3
-------------------------------------------------------
 latency: 2040 us, entries: 2321 (2321)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: ksoftirqd/0/2, uid:0 nice:0 policy:0 rt_prio:0
    -----------------
 => started at: netif_receive_skb+0x6a/0x1d0
 => ended at:   netif_receive_skb+0x125/0x1d0
=======>
00000001 0.000ms (+0.001ms): netif_receive_skb (process_backlog)
00000001 0.001ms (+0.000ms): packet_rcv_spkt (netif_receive_skb)
00000001 0.002ms (+0.000ms): skb_clone (packet_rcv_spkt)
00000001 0.002ms (+0.001ms): kmem_cache_alloc (skb_clone)
00000001 0.004ms (+0.001ms): memcpy (skb_clone)
00000001 0.006ms (+0.001ms): strlcpy (packet_rcv_spkt)
00000002 0.007ms (+0.003ms): sk_run_filter (packet_rcv_spkt)
00000001 0.011ms (+0.000ms): __kfree_skb (packet_rcv_spkt)
00000001 0.012ms (+0.000ms): kfree_skbmem (__kfree_skb)
00000001 0.012ms (+0.000ms): skb_release_data (kfree_skbmem)
00000001 0.012ms (+0.000ms): kmem_cache_free (kfree_skbmem)
00000001 0.013ms (+0.001ms): ip_rcv (netif_receive_skb)
00000001 0.015ms (+0.000ms): ip_route_input (ip_rcv)
00000001 0.015ms (+0.003ms): rt_hash_code (ip_route_input)
00000001 0.019ms (+0.001ms): ip_route_input_slow (ip_rcv)
00000001 0.021ms (+0.001ms): rt_hash_code (ip_route_input_slow)
00000001 0.022ms (+0.002ms): fn_hash_lookup (ip_route_input_slow)
00000002 0.024ms (+0.002ms): fib_semantic_match (fn_hash_lookup)
00000001 0.027ms (+0.000ms): fib_validate_source (ip_route_input_slow)
00000001 0.028ms (+0.001ms): fn_hash_lookup (fib_validate_source)
00000001 0.029ms (+0.001ms): fn_hash_lookup (fib_validate_source)
00000002 0.031ms (+0.001ms): fib_semantic_match (fn_hash_lookup)
00000001 0.032ms (+0.000ms): __fib_res_prefsrc (fib_validate_source)
00000001 0.033ms (+0.002ms): inet_select_addr (__fib_res_prefsrc)
00000001 0.035ms (+0.000ms): dst_alloc (ip_route_input_slow)
00000001 0.036ms (+0.002ms): rt_garbage_collect (dst_alloc)
00000102 0.039ms (+0.001ms): rt_may_expire (rt_garbage_collect)
00000101 0.040ms (+0.000ms): local_bh_enable (rt_garbage_collect)
00000102 0.041ms (+0.001ms): rt_may_expire (rt_garbage_collect)
00000101 0.042ms (+0.000ms): local_bh_enable (rt_garbage_collect)
00000102 0.043ms (+0.000ms): rt_may_expire (rt_garbage_collect)
00000101 0.044ms (+0.000ms): local_bh_enable (rt_garbage_collect)
00000102 0.045ms (+0.001ms): rt_may_expire (rt_garbage_collect)
00000102 0.046ms (+0.001ms): rt_may_expire (rt_garbage_collect)
00000101 0.047ms (+0.000ms): local_bh_enable (rt_garbage_collect)
00000102 0.048ms (+0.001ms): rt_may_expire (rt_garbage_collect)

[these 2 repeat hundreds of times]

00000101 1.875ms (+0.000ms): local_bh_enable (rt_garbage_collect)
00000102 1.876ms (+0.000ms): rt_may_expire (rt_garbage_collect)
00000102 1.877ms (+0.000ms): rt_may_expire (rt_garbage_collect)
00000101 1.877ms (+0.000ms): local_bh_enable (rt_garbage_collect)
00000102 1.878ms (+0.000ms): rt_may_expire (rt_garbage_collect)
00000102 1.879ms (+0.000ms): rt_may_expire (rt_garbage_collect)
00000101 1.880ms (+0.001ms): local_bh_enable (rt_garbage_collect)
00000001 1.881ms (+0.001ms): kmem_cache_alloc (dst_alloc)
00000001 1.882ms (+0.003ms): cache_alloc_refill (kmem_cache_alloc)

[some other stuff]

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: Oops in __posix_lock_file was:Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S2
  2004-09-22 17:30                                 ` Oops in __posix_lock_file was:Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S2 K.R. Foley
@ 2004-09-22 19:43                                   ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-22 19:43 UTC (permalink / raw)
  To: K.R. Foley; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson


* K.R. Foley <kr@cybsft.com> wrote:

> Ingo Molnar wrote:
> >i've released the -S2 VP patch:
> >
> >  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S2
> >
> 
> I don't know if this one has been fixed in S3 or not but I also saw
> this in S1 I think. This just happened when I booted back into S2 so I
> thought I would report it.

> 
> kr
> 
> 
> Sep 22 12:00:44 porky kernel: Unable to handle kernel NULL pointer 
> dereference at virtual address 00000000

> Sep 22 12:00:45 porky kernel:  [<c0107175>] error_code+0x2d/0x38
> Sep 22 12:00:45 porky kernel:  [<c01776dd>] __posix_lock_file+0x6d/0x5a0

yeah, this is one of the bugs that should be fixed in -S3.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S3
  2004-09-22 17:16                                     ` Lee Revell
  2004-09-22 17:40                                       ` K.R. Foley
@ 2004-09-22 19:45                                       ` Ingo Molnar
  1 sibling, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-22 19:45 UTC (permalink / raw)
  To: Lee Revell; +Cc: K.R. Foley, linux-kernel, Mark_H_Johnson


* Lee Revell <rlrevell@joe-job.com> wrote:

> On Wed, 2004-09-22 at 11:07, K.R. Foley wrote:
> > Ingo Molnar wrote:
> > > i've released the -S3 VP patch:
> > > 
> > >    http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S3
> > > 
> > 
> > In order to get this to build I had to add
> > 
> > #include <asm/delay.h>
> > 
> > to linux/kernel/time.c
> > 
> 
> Builds fine for me, this must specific to your config, or Ingo fixed
> the patch.

yeah, this was reported very early so i just fixed up the patch.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S3
  2004-09-22 10:33                                 ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S3 Ingo Molnar
                                                     ` (2 preceding siblings ...)
  2004-09-22 19:08                                   ` Lee Revell
@ 2004-09-23  1:13                                   ` Lee Revell
  2004-09-23 12:28                                   ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S4 Ingo Molnar
  4 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-23  1:13 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: K.R. Foley, linux-kernel, Mark_H_Johnson

On Wed, 2004-09-22 at 06:33, Ingo Molnar wrote:
> i've released the -S3 VP patch:
> 
>    http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm1-S3
> 

Ingo, it looks like there are still a few hardware configurations on
which the VP patches just don't work:

http://eca.cx/lad/2004/09/0221.html

This user definitely knows what they are doing.  IIRC the problems were
introduced with -O5, which involved big SMP changes so this really looks
like a bug.  Any ideas?

Lee



^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-22 10:33                                 ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S3 Ingo Molnar
                                                     ` (3 preceding siblings ...)
  2004-09-23  1:13                                   ` Lee Revell
@ 2004-09-23 12:28                                   ` Ingo Molnar
  2004-09-23 12:57                                     ` Norberto Bensa
                                                       ` (2 more replies)
  4 siblings, 3 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-23 12:28 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, Mark_H_Johnson, K.R. Foley, Rui Nuno Capela


i've released the -S4 VP patch:

   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm2-S4

-S4 fixes a softirq latency processing bug introduced in -S3. The
symptoms of this bug can be erratic mouse/keyboard behavior, higher
networking latencies, and similar things. (If CONFIG_PREEMPT is disabled
then another effect of this bug can lead to crashes.)

-S4 is also a merge to 2.6.9-rc2-mm2.

To get a 2.6.9-rc2-mm2-VP-S4 kernel, the patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc2.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm2/2.6.9-rc2-mm2.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm2-S4

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 12:28                                   ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S4 Ingo Molnar
@ 2004-09-23 12:57                                     ` Norberto Bensa
  2004-09-23 13:01                                       ` Ingo Molnar
  2004-09-23 13:35                                     ` Rui Nuno Capela
  2004-09-23 21:12                                     ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S5 Ingo Molnar
  2 siblings, 1 reply; 226+ messages in thread
From: Norberto Bensa @ 2004-09-23 12:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar

Hello,

Ingo Molnar wrote:
> i've released the -S4 VP patch:
>
>   
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm2-
>S4

  CC      arch/i386/kernel/irq.o
arch/i386/kernel/irq.c: In function `do_IRQ':
arch/i386/kernel/irq.c:287: warning: implicit declaration of function 
`redirect_hardirq'
arch/i386/kernel/irq.c:344: error: `noirqdebug' undeclared (first use in this 
function)
arch/i386/kernel/irq.c:344: error: (Each undeclared identifier is reported 
only once
arch/i386/kernel/irq.c:344: error: for each function it appears in.)
arch/i386/kernel/irq.c:345: warning: implicit declaration of function 
`note_interrupt'
make[1]: *** [arch/i386/kernel/irq.o] Error 1
make: *** [arch/i386/kernel] Error 2


Regards,
Norberto

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 12:57                                     ` Norberto Bensa
@ 2004-09-23 13:01                                       ` Ingo Molnar
  2004-09-23 13:07                                         ` Ingo Molnar
  2004-09-23 13:09                                         ` Ingo Molnar
  0 siblings, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-23 13:01 UTC (permalink / raw)
  To: Norberto Bensa; +Cc: linux-kernel


* Norberto Bensa <norberto+linux-kernel@bensa.ath.cx> wrote:

> Hello,
> 
> Ingo Molnar wrote:
> > i've released the -S4 VP patch:
> >
> >   
> > http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm2-
> >S4
> 
>   CC      arch/i386/kernel/irq.o
> arch/i386/kernel/irq.c: In function `do_IRQ':
> arch/i386/kernel/irq.c:287: warning: implicit declaration of function 
> `redirect_hardirq'
> arch/i386/kernel/irq.c:344: error: `noirqdebug' undeclared (first use in this 


did you do a 'make oldconfig'? Make sure there's
CONFIG_GENERIC_HARDIRQ=y in your .config.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 13:01                                       ` Ingo Molnar
@ 2004-09-23 13:07                                         ` Ingo Molnar
  2004-09-23 13:09                                         ` Ingo Molnar
  1 sibling, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-23 13:07 UTC (permalink / raw)
  To: Norberto Bensa; +Cc: linux-kernel


oops - Kconfig chunks are missing. fixing.

	Ingo

* Ingo Molnar <mingo@elte.hu> wrote:

> 
> * Norberto Bensa <norberto+linux-kernel@bensa.ath.cx> wrote:
> 
> > Hello,
> > 
> > Ingo Molnar wrote:
> > > i've released the -S4 VP patch:
> > >
> > >   
> > > http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm2-
> > >S4
> > 
> >   CC      arch/i386/kernel/irq.o
> > arch/i386/kernel/irq.c: In function `do_IRQ':
> > arch/i386/kernel/irq.c:287: warning: implicit declaration of function 
> > `redirect_hardirq'
> > arch/i386/kernel/irq.c:344: error: `noirqdebug' undeclared (first use in this 
> 
> 
> did you do a 'make oldconfig'? Make sure there's
> CONFIG_GENERIC_HARDIRQ=y in your .config.
> 
> 	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 13:01                                       ` Ingo Molnar
  2004-09-23 13:07                                         ` Ingo Molnar
@ 2004-09-23 13:09                                         ` Ingo Molnar
  2004-09-23 16:46                                           ` Norberto Bensa
  1 sibling, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-23 13:09 UTC (permalink / raw)
  To: Norberto Bensa; +Cc: linux-kernel


i've uploaded the correct patch - please download -S4 again.

	Ingo

* Ingo Molnar <mingo@elte.hu> wrote:

> 
> * Norberto Bensa <norberto+linux-kernel@bensa.ath.cx> wrote:
> 
> > Hello,
> > 
> > Ingo Molnar wrote:
> > > i've released the -S4 VP patch:
> > >
> > >   
> > > http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm2-
> > >S4
> > 
> >   CC      arch/i386/kernel/irq.o
> > arch/i386/kernel/irq.c: In function `do_IRQ':
> > arch/i386/kernel/irq.c:287: warning: implicit declaration of function 
> > `redirect_hardirq'
> > arch/i386/kernel/irq.c:344: error: `noirqdebug' undeclared (first use in this 
> 
> 
> did you do a 'make oldconfig'? Make sure there's
> CONFIG_GENERIC_HARDIRQ=y in your .config.
> 
> 	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 12:28                                   ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S4 Ingo Molnar
  2004-09-23 12:57                                     ` Norberto Bensa
@ 2004-09-23 13:35                                     ` Rui Nuno Capela
  2004-09-23 13:40                                       ` Ingo Molnar
  2004-09-23 21:12                                     ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S5 Ingo Molnar
  2 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-23 13:35 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, mark_h_johnson, K.R. Foley

Ingo Molnar wrote:
>
> i've released the -S4 VP patch:
>

Just tried to configure for 2.6.9-rc2-mm2-VP-S4 on my laptop. Strange
enough I don't get the PREEMPT_VOLUNTARY, PREEMPT_SOFTIRQS and
PREEMPT_HARDIRQS symbols available for Kconfig.

Not surprisingly, make stops on these messages:

 [...]
 CC      arch/i386/kernel/irq.o
arch/i386/kernel/irq.c: In function `do_IRQ':
arch/i386/kernel/irq.c:287: warning: implicit declaration of function
`redirect_hardirq'
arch/i386/kernel/irq.c:363: error: `noirqdebug' undeclared (first use in
this function)
arch/i386/kernel/irq.c:363: error: (Each undeclared identifier is reported
only once
arch/i386/kernel/irq.c:363: error: for each function it appears in.)
arch/i386/kernel/irq.c:364: warning: implicit declaration of function
`note_interrupt'
make[1]: *** [arch/i386/kernel/irq.o] Error 1
make: *** [arch/i386/kernel] Error 2



Bye now.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 13:35                                     ` Rui Nuno Capela
@ 2004-09-23 13:40                                       ` Ingo Molnar
  2004-09-23 16:23                                         ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-23 13:40 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: linux-kernel, Lee Revell, mark_h_johnson, K.R. Foley


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> Ingo Molnar wrote:
> >
> > i've released the -S4 VP patch:
> >
> 
> Just tried to configure for 2.6.9-rc2-mm2-VP-S4 on my laptop. Strange
> enough I don't get the PREEMPT_VOLUNTARY, PREEMPT_SOFTIRQS and
> PREEMPT_HARDIRQS symbols available for Kconfig.
> 
> Not surprisingly, make stops on these messages:
> 
>  [...]
>  CC      arch/i386/kernel/irq.o
> arch/i386/kernel/irq.c: In function `do_IRQ':

yeah, please re-download the -S4 patch, i fixed this meanwhile.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 13:40                                       ` Ingo Molnar
@ 2004-09-23 16:23                                         ` Rui Nuno Capela
  2004-09-23 18:07                                           ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-23 16:23 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, mark_h_johnson, K.R. Foley

Ingo Molnar wrote:
>
> yeah, please re-download the -S4 patch, i fixed this meanwhile.
>

Yes, now it builds fine on my laptop.

However, after a couple of reboots, there appears to be some verbose
messages regarding PCI something, but the my main complaint is the USB
subsystem which is failing miserably now.

I guess these are the relevant log messages excerpt:

[...]
Mounted devfs on /dev
Freeing unused kernel memory: 160k freed
IRQ#8 thread started up.
usbcore: registered new driver usbfs
usbcore: registered new driver hub
ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ACPI: PCI Interrupt Link [LNK8] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 10 (level, low) -> IRQ 10
ohci_hcd 0000:00:02.0: OHCI Host Controller
requesting new irq thread for IRQ10...
ohci_hcd 0000:00:02.0: irq 10, pci mem 0xd4000000
ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:02.0: init err (00002edf 0000)
ohci_hcd 0000:00:02.0: can't start
ohci_hcd 0000:00:02.0: init error -75
ohci_hcd 0000:00:02.0: remove, state 0
ohci_hcd 0000:00:02.0: USB bus 1 deregistered
ohci_hcd: probe of 0000:00:02.0 failed with error -75
ACPI: PCI Interrupt Link [LNK4] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 10 (level, low) -> IRQ 10
ohci_hcd 0000:00:0f.0: OHCI Host Controller
ohci_hcd 0000:00:0f.0: irq 10, pci mem 0xd4009000
ohci_hcd 0000:00:0f.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:0f.0: init err (00002edf 0000)
ohci_hcd 0000:00:0f.0: can't start
ohci_hcd 0000:00:0f.0: init error -75
ohci_hcd 0000:00:0f.0: remove, state 0
ohci_hcd 0000:00:0f.0: USB bus 1 deregistered
ohci_hcd: probe of 0000:00:0f.0 failed with error -75
[...]

Probably this isn't strictly related to VP, but surely it was introduced
by mm1 and mm2. Can't tell for sure. And please don't count as hardware
failure as it suffices to go back to 2.6.9-rc1 to get USB back to normal
;)

Any thoughts?
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org





^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 13:09                                         ` Ingo Molnar
@ 2004-09-23 16:46                                           ` Norberto Bensa
  2004-09-23 17:13                                             ` Norberto Bensa
  0 siblings, 1 reply; 226+ messages in thread
From: Norberto Bensa @ 2004-09-23 16:46 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 324 bytes --]

Hello,

Ingo Molnar wrote:
> i've uploaded the correct patch - please download -S4 again.
>

Is it me or does this patch broke quiet command-line parameter?

    Kernel command line: quiet vga=0x030c

Yet this kernel is very verbose :(

.config attached. BTW, I think you got your Subject: wrong ;)

Best regards,
Norberto


[-- Attachment #2: .config --]
[-- Type: text/plain, Size: 29640 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.9-rc2-mm2-VP-S4
# Thu Sep 23 13:13:06 2004
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
# CONFIG_PREEMPT_TIMING is not set
# CONFIG_IOSCHED_NOOP is not set
# CONFIG_IOSCHED_AS is not set
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SHMEM=y
# CONFIG_TINY_SHMEM is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
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=y
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 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_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=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 is not set
# CONFIG_X86_MCE_P4THERMAL 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

#
# Firmware Drivers
#
# 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_EFI is not set
CONFIG_HAVE_DEC_LOCK=y
# CONFIG_REGPARM is not set

#
# Performance-monitoring counters support
#
# CONFIG_PERFCTR is not set
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP 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_BOOT=y
CONFIG_ACPI_INTERPRETER=y
# CONFIG_ACPI_SLEEP is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
# CONFIG_ACPI_BUTTON is not set
# CONFIG_ACPI_FAN is not set
# CONFIG_ACPI_PROCESSOR is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_THINKPAD is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not set

#
# 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_PCI_MSI=y
CONFIG_PCI_LEGACY_PROC=y
# CONFIG_PCI_NAMES is not set
CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set
CONFIG_PCMCIA_PROBE=y

#
# PCI Hotplug Support
#
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_FAKE is not set
# CONFIG_HOTPLUG_PCI_COMPAQ is not set
# CONFIG_HOTPLUG_PCI_IBM is not set
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_PCIE is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set

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

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y

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

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play support
#
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y
CONFIG_PNPBIOS_PROC_FS=y

#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=2048
CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set

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

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=y
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_TASKFILE_IO=y

#
# IDE chipset support/bugfixes
#
# CONFIG_IDE_GENERIC is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW 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=y
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
# CONFIG_BLK_DEV_SD is not set
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA 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_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_PAS16 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_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
# CONFIG_MD_LINEAR is not set
CONFIG_MD_RAID0=y
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_RAID6 is not set
CONFIG_MD_MULTIPATH=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_MIRROR=y
CONFIG_DM_ZERO=y

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

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

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=m
CONFIG_PACKET_MMAP=y
# CONFIG_NETLINK_DEV is not set
CONFIG_UNIX=m
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# 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_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK 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_HW_FLOWCONTROL is not set

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

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_KGDBOE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_NET_SB1000 is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL 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_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
CONFIG_8139TOO=m
CONFIG_8139TOO_PIO=y
# 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_TLAN is not set
# CONFIG_VIA_RHINE 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_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

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

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=2048
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=2048
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_RAW=y

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC 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

#
# Non-8250 serial port support
#
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=y
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_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_INTEL_MCH is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
CONFIG_AGP_VIA=y
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
# CONFIG_HANGCHECK_TIMER is not set

#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y

#
# I2C Algorithms
#
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_ELEKTOR is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
CONFIG_I2C_ISA=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
CONFIG_I2C_VIAPRO=m
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set

#
# Hardware Sensors Chip support
#
CONFIG_I2C_SENSOR=m
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
CONFIG_SENSORS_VIA686A=m
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set

#
# Other I2C Chip support
#
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
CONFIG_VIDEO_DEV=y

#
# Video For Linux
#

#
# Video Adapters
#
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_PMS is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_SAA5246A is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_TUNER_3036 is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_DPC is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
# CONFIG_VIDEO_OVCAMCHIP is not set

#
# Radio Adapters
#
# CONFIG_RADIO_CADET is not set
# CONFIG_RADIO_RTRACK is not set
# CONFIG_RADIO_RTRACK2 is not set
# CONFIG_RADIO_AZTECH is not set
# CONFIG_RADIO_GEMTEK is not set
# CONFIG_RADIO_GEMTEK_PCI is not set
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_MAESTRO is not set
# CONFIG_RADIO_SF16FMI is not set
# CONFIG_RADIO_SF16FMR2 is not set
# CONFIG_RADIO_TERRATEC is not set
# CONFIG_RADIO_TRUST is not set
# CONFIG_RADIO_TYPHOON is not set
# CONFIG_RADIO_ZOLTRIX is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
# CONFIG_FB is not set
CONFIG_VIDEO_SELECT=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y

#
# Sound
#
CONFIG_SOUND=y

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_RAWMIDI=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=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG 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

#
# ISA devices
#
# CONFIG_SND_AD1816A is not set
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES968 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_ALS100 is not set
# CONFIG_SND_AZT2320 is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_DT019X is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set

#
# PCI devices
#
CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=y
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART 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_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set

#
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_SPLIT_ISO is not set
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_OHCI_HCD is not set
CONFIG_USB_UHCI_HCD=y

#
# USB Device Class drivers
#
# 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 is not set

#
# USB Human Interface Devices (HID)
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set

#
# USB Multimedia devices
#
# 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_SE401 is not set
# CONFIG_USB_SN9C102 is not set
# CONFIG_USB_STV680 is not set

#
# USB Network adaptors
#
# CONFIG_USB_CATC 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

#
# USB port drivers
#

#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 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_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_TEST is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# File systems
#
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
# CONFIG_XFS_RT is not set
CONFIG_XFS_QUOTA=y
CONFIG_XFS_SECURITY=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_MINIX_FS=m
# CONFIG_ROMFS_FS is not set
CONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set

#
# Caches
#
# CONFIG_CACHEFS is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=m
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=850
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-15"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
CONFIG_DEVPTS_FS_SECURITY=y
CONFIG_TMPFS=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not set
CONFIG_NFS_DIRECTIO=y
# CONFIG_NFSD is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
# CONFIG_EXPORTFS is not set
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_SPKM3=m
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_EFI_PARTITION is not set

#
# Native Language Support
#
CONFIG_NLS=m
CONFIG_NLS_DEFAULT="utf8"
# CONFIG_NLS_CODEPAGE_437 is not set
# 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_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
# 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=m

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_FRAME_POINTER is not set
# CONFIG_EARLY_PRINTK is not set
CONFIG_4KSTACKS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#
# CONFIG_KEYS is not set
CONFIG_SECURITY=y
# CONFIG_SECURITY_NETWORK is not set
CONFIG_SECURITY_CAPABILITIES=y
# CONFIG_SECURITY_ROOTPLUG is not set
# CONFIG_SECURITY_SELINUX is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WHIRLPOOL=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_TEST=m

#
# Library routines
#
CONFIG_CRC_CCITT=m
CONFIG_CRC32=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_X86_BIOS_REBOOT=y

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 16:46                                           ` Norberto Bensa
@ 2004-09-23 17:13                                             ` Norberto Bensa
  2004-09-23 18:20                                               ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Norberto Bensa @ 2004-09-23 17:13 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel

Hello,

Norberto Bensa wrote:
> Is it me or does this patch broke quiet command-line parameter?

Ingo, is this on purpose:

--- linux/kernel/printk.c.orig 
+++ linux/kernel/printk.c 
@@ -401,7 +401,7 @@ static void __call_console_drivers(unsig
 static void _call_console_drivers(unsigned long start,
     unsigned long end, int msg_log_level)
 {
- if (msg_log_level < console_loglevel &&
+ if (/*msg_log_level < console_loglevel && */
    console_drivers && start != end) {
   if ((start & LOG_BUF_MASK) > (end & LOG_BUF_MASK)) {
    /* wrapped write */


If so, why is it needed?

Thanks,
Norberto

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 16:23                                         ` Rui Nuno Capela
@ 2004-09-23 18:07                                           ` Rui Nuno Capela
  2004-09-24 12:43                                             ` OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work) Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-23 18:07 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, mark_h_johnson, K.R. Foley

Rui Nuno Capela (meself:) wrote:
>
> Yes, now it builds fine on my laptop.
>
> However, after a couple of reboots, there appears to be some verbose
> messages regarding PCI something, but the my main complaint is the USB
> subsystem which is failing miserably now.
>
> I guess these are the relevant log messages excerpt:
>
> [...]
> Mounted devfs on /dev
> Freeing unused kernel memory: 160k freed
> IRQ#8 thread started up.
> usbcore: registered new driver usbfs
> usbcore: registered new driver hub
> ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
> ACPI: PCI Interrupt Link [LNK8] enabled at IRQ 10
> ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 10 (level, low) -> IRQ 10
> ohci_hcd 0000:00:02.0: OHCI Host Controller
> requesting new irq thread for IRQ10...
> ohci_hcd 0000:00:02.0: irq 10, pci mem 0xd4000000
> ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
> ohci_hcd 0000:00:02.0: init err (00002edf 0000)
> ohci_hcd 0000:00:02.0: can't start
> ohci_hcd 0000:00:02.0: init error -75
> ohci_hcd 0000:00:02.0: remove, state 0
> ohci_hcd 0000:00:02.0: USB bus 1 deregistered
> ohci_hcd: probe of 0000:00:02.0 failed with error -75
> ACPI: PCI Interrupt Link [LNK4] enabled at IRQ 10
> ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 10 (level, low) -> IRQ 10
> ohci_hcd 0000:00:0f.0: OHCI Host Controller
> ohci_hcd 0000:00:0f.0: irq 10, pci mem 0xd4009000
> ohci_hcd 0000:00:0f.0: new USB bus registered, assigned bus number 1
> ohci_hcd 0000:00:0f.0: init err (00002edf 0000)
> ohci_hcd 0000:00:0f.0: can't start
> ohci_hcd 0000:00:0f.0: init error -75
> ohci_hcd 0000:00:0f.0: remove, state 0
> ohci_hcd 0000:00:0f.0: USB bus 1 deregistered
> ohci_hcd: probe of 0000:00:0f.0 failed with error -75
> [...]
>
> Probably this isn't strictly related to VP, but surely it was introduced
> by mm1 and mm2. Can't tell for sure. And please don't count as hardware
> failure as it suffices to go back to 2.6.9-rc1 to get USB back to normal
> ;)
>
> Any thoughts?

This isn't related to VP at all. Sorry for the bandwidth waste.

Just noticed a post from Andre Eisenbach [1] a few moments ago, with the
this subject: "USB (OHCI) not working without pci=routeirq", and it's
exactly what is going on wrong here.

[1] http://lkml.org/lkml/2004/9/23/163

Thanks anyhow.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S4
  2004-09-23 17:13                                             ` Norberto Bensa
@ 2004-09-23 18:20                                               ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-23 18:20 UTC (permalink / raw)
  To: Norberto Bensa; +Cc: linux-kernel


* Norberto Bensa <norberto+linux-kernel@bensa.ath.cx> wrote:

> Ingo, is this on purpose:
> 
> --- linux/kernel/printk.c.orig 
> +++ linux/kernel/printk.c 
> @@ -401,7 +401,7 @@ static void __call_console_drivers(unsig
>  static void _call_console_drivers(unsigned long start,
>      unsigned long end, int msg_log_level)
>  {
> - if (msg_log_level < console_loglevel &&
> + if (/*msg_log_level < console_loglevel && */
>     console_drivers && start != end) {

not intended, debugging leftover, you can remove it.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc2-mm3-S5
  2004-09-23 12:28                                   ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S4 Ingo Molnar
  2004-09-23 12:57                                     ` Norberto Bensa
  2004-09-23 13:35                                     ` Rui Nuno Capela
@ 2004-09-23 21:12                                     ` Ingo Molnar
  2004-09-24  0:32                                       ` Rui Nuno Capela
                                                         ` (2 more replies)
  2 siblings, 3 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-23 21:12 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, Mark_H_Johnson, K.R. Foley, Rui Nuno Capela


i've released the -S5 VP patch:
 
   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm3-S5

this iteration fixes the jackd lockup reported by Rui Nuno Capela.

since Andrew has not released -mm3 yet i've uploaded his latest
intermediate tree plus two additional fixes that will likely show up in
the real -mm3, and unrolled some of the more experimental scheduler
stuff. The patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc2.bz2
 + http://redhat.com/~mingo/voluntary-preempt/2.6.9-rc2-pre-mm3-mingo.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm3-S5

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm3-S5
  2004-09-23 21:12                                     ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S5 Ingo Molnar
@ 2004-09-24  0:32                                       ` Rui Nuno Capela
  2004-09-24  2:22                                       ` K.R. Foley
  2004-09-24  7:44                                       ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S6 Ingo Molnar
  2 siblings, 0 replies; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-24  0:32 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, mark_h_johnson, K.R. Foley

[-- Attachment #1: Type: text/plain, Size: 818 bytes --]

Dear Sir Molnar,

>
> i've released the -S5 VP patch:
>

This is going GREAT!

While I'm still writing this very lines (via some webmail client on
konqui), my dreaded P4/HT box is pumping hard along jackd -R -p 128 -n2,
for more than one hour now, with two qsynth/fluidsynth instances up,
ardour continuous 8-track in loop-streaming playback nonstop, and also
some more juk and artsd (kde 3.3 here) all trashing my-full-head-of-sound
in my phones. No xrun, NO lockup, NO nothing. And still counting...

I even have CONFIG_SCHED_SMT set, as you can check by attached config
file. Amazing, to say the least, if you remember my latest complaints ;)

Ingo, you're a champ!

Gotta go to sleep now, it was worth the effort staying awake this late...

tomorrow is a nother day :)
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org

[-- Attachment #2: config-2.6.9-rc2-mm3-S5.0smp.gz --]
[-- Type: application/x-gzip, Size: 7807 bytes --]

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm3-S5
  2004-09-23 21:12                                     ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S5 Ingo Molnar
  2004-09-24  0:32                                       ` Rui Nuno Capela
@ 2004-09-24  2:22                                       ` K.R. Foley
  2004-09-24  3:30                                         ` K.R. Foley
  2004-09-24  7:44                                       ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S6 Ingo Molnar
  2 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-09-24  2:22 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson, Rui Nuno Capela

Ingo Molnar wrote:
> i've released the -S5 VP patch:
>  
>    http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm3-S5

This one seems to bring back some issues with the network interface. The 
only noticeable symptom is dropping ~30 percent of new telnet 
connections under heavy load. When not loaded it still drops ~5 percent. 
I had no dropped connections with S4 even when loaded. This just happens 
to be one of things that I have been testing manually since I noticed 
some problems with previous patches.

Currently using an SMC card with a DEC 21140 chip and the tulip driver 
on my SMP system.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm3-S5
  2004-09-24  2:22                                       ` K.R. Foley
@ 2004-09-24  3:30                                         ` K.R. Foley
  2004-09-24  7:40                                           ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-09-24  3:30 UTC (permalink / raw)
  To: K.R. Foley
  Cc: Ingo Molnar, linux-kernel, Lee Revell, Mark_H_Johnson, Rui Nuno Capela

K.R. Foley wrote:
> Ingo Molnar wrote:
> 
>> i've released the -S5 VP patch:
>>  
>>    
>> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm3-S5 
>>
> 
> 
> This one seems to bring back some issues with the network interface. The 
> only noticeable symptom is dropping ~30 percent of new telnet 
> connections under heavy load. When not loaded it still drops ~5 percent. 
> I had no dropped connections with S4 even when loaded. This just happens 
> to be one of things that I have been testing manually since I noticed 
> some problems with previous patches.
> 
> Currently using an SMC card with a DEC 21140 chip and the tulip driver 
> on my SMP system.
> 
> kr

The following, on top of Ingo's patch above, fixes the problem with 
dropping new connections and doesn't have any adverse affects that I've 
seen:

--- linux-2.6.9-rc2-pre-mm3/net/ipv4/tcp_output.c.orig  2004-09-23 
22:16:42.249435870 -0500
+++ linux-2.6.9-rc2-pre-mm3/net/ipv4/tcp_output.c       2004-09-23 
22:12:03.911811945 -0500
@@ -699,11 +699,6 @@

                         tcp_minshall_update(tp, mss_now, skb);
                         sent_pkts = 1;
-                       /*
-                        * Break out early - we'll continue later:
-                        */
-                       if (softirq_need_resched())
-                               break;
                 }

                 if (sent_pkts) {


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm3-S5
  2004-09-24  3:30                                         ` K.R. Foley
@ 2004-09-24  7:40                                           ` Ingo Molnar
  2004-09-24 11:05                                             ` K.R. Foley
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-24  7:40 UTC (permalink / raw)
  To: K.R. Foley; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson, Rui Nuno Capela


* K.R. Foley <kr@cybsft.com> wrote:

> The following, on top of Ingo's patch above, fixes the problem with
> dropping new connections and doesn't have any adverse affects that
> I've seen:
> 
> --- linux-2.6.9-rc2-pre-mm3/net/ipv4/tcp_output.c.orig  2004-09-23 
> 22:16:42.249435870 -0500
> +++ linux-2.6.9-rc2-pre-mm3/net/ipv4/tcp_output.c       2004-09-23 
> 22:12:03.911811945 -0500
> @@ -699,11 +699,6 @@
> 
>                         tcp_minshall_update(tp, mss_now, skb);
>                         sent_pkts = 1;
> -                       /*
> -                        * Break out early - we'll continue later:
> -                        */
> -                       if (softirq_need_resched())
> -                               break;

hm, ok, i'll revert this in my tree. I suspect we'll see some latencies
resurfacing under high network load again, but correctness goes first
obviously. If then we'll have to find some other method to break that
critical path.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc2-mm3-S6
  2004-09-23 21:12                                     ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S5 Ingo Molnar
  2004-09-24  0:32                                       ` Rui Nuno Capela
  2004-09-24  2:22                                       ` K.R. Foley
@ 2004-09-24  7:44                                       ` Ingo Molnar
  2004-09-28  0:05                                         ` [patch] voluntary-preempt-2.6.9-rc2-mm4-S7 Ingo Molnar
  2 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-24  7:44 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, Mark_H_Johnson, K.R. Foley, Rui Nuno Capela


i've released the -S6 VP patch:

   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm3-S6

this iteration fixes the 'dropped tcp connections' problem reported and
fixed by K.R. Foley.

The patching order is:
 
   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc2.bz2
 + http://redhat.com/~mingo/voluntary-preempt/2.6.9-rc2-pre-mm3-mingo.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm3-S6
 
	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm3-S5
  2004-09-24  7:40                                           ` Ingo Molnar
@ 2004-09-24 11:05                                             ` K.R. Foley
  2004-09-24 11:45                                               ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-09-24 11:05 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson, Rui Nuno Capela

Ingo Molnar wrote:
> * K.R. Foley <kr@cybsft.com> wrote:
> 
> 
>>The following, on top of Ingo's patch above, fixes the problem with
>>dropping new connections and doesn't have any adverse affects that
>>I've seen:
>>
>>--- linux-2.6.9-rc2-pre-mm3/net/ipv4/tcp_output.c.orig  2004-09-23 
>>22:16:42.249435870 -0500
>>+++ linux-2.6.9-rc2-pre-mm3/net/ipv4/tcp_output.c       2004-09-23 
>>22:12:03.911811945 -0500
>>@@ -699,11 +699,6 @@
>>
>>                        tcp_minshall_update(tp, mss_now, skb);
>>                        sent_pkts = 1;
>>-                       /*
>>-                        * Break out early - we'll continue later:
>>-                        */
>>-                       if (softirq_need_resched())
>>-                               break;
> 
> 
> hm, ok, i'll revert this in my tree. I suspect we'll see some latencies
> resurfacing under high network load again, but correctness goes first
> obviously. If then we'll have to find some other method to break that
> critical path.
> 
> 	Ingo
> 
Ingo,

Maybe this wasn't the right way to fix the problem? I just looked at the 
S4 patch and it had the same change in it, but did not exhibit the same 
problem. Not knowing exactly what I was looking for, I just started 
looking for obvious changes that might affect dropping tcp connections 
and this one seemed reasonable. I made the change and the problem went 
away. Maybe this needs looking at a little closer.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm3-S5
  2004-09-24 11:05                                             ` K.R. Foley
@ 2004-09-24 11:45                                               ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-24 11:45 UTC (permalink / raw)
  To: K.R. Foley; +Cc: linux-kernel, Lee Revell, Mark_H_Johnson, Rui Nuno Capela


* K.R. Foley <kr@cybsft.com> wrote:

> Maybe this wasn't the right way to fix the problem? I just looked at
> the S4 patch and it had the same change in it, but did not exhibit the
> same problem. Not knowing exactly what I was looking for, I just
> started looking for obvious changes that might affect dropping tcp
> connections and this one seemed reasonable. I made the change and the
> problem went away. Maybe this needs looking at a little closer.

S4 had other problems with softirq processing so i'd not be surprised if
that magically fixed the problem introduced by this change.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work)
  2004-09-23 18:07                                           ` Rui Nuno Capela
@ 2004-09-24 12:43                                             ` Rui Nuno Capela
  2004-09-24 12:55                                               ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-24 12:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: David Brownell, Karsten Wiese, Bjorn Helgaas, David Brownell,
	Roman Weissgaerber, linux-usb-devel, Ingo Molnar, K.R. Foley

[-- Attachment #1: Type: text/plain, Size: 10306 bytes --]

Hi,

My laptop is a Compaq Presario 2516EA, loaded with Mandrake 10.0 Official,
which has been working fine until 2.6.9-rc2. Incidentally with -mm1 and
-mm2 the USB subsystem start failing miserably, due to errors while
(re)starting the ohci_hcd stuff.

By lurking on some recent threads on lkml, and following some other
suggestions about this very problem, I've tried every combination on the
boot prompt: pci=routeirq, acpi=off, softirq-preempt=0, harirq-preempt=0.

This laptop also has the USB legacy BIOS mode switch. Tried that too.

All combinations resulted in the same failure, without exception. Here
comes the relevant dmesg lines, regarding the ohci_hcd failure (note: USB
verbose debug messages are turned on):

[...]
usbcore: registered new driver usbfs
usbcore: registered new driver hub
ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ohci_hcd: block sizes: ed 64 td 64
ACPI: PCI Interrupt Link [LNK8] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 10 (level, low) -> IRQ 10
ohci_hcd 0000:00:02.0: OHCI Host Controller
ohci_hcd 0000:00:02.0: USB HC TakeOver from BIOS/SMM
requesting new irq thread for IRQ10...
ohci_hcd 0000:00:02.0: irq 10, pci mem 0xd4000000
ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:02.0: resetting from state 'reset', control = 0x0
ohci_hcd 0000:00:02.0: init err (00002edf 0000)
ohci_hcd 0000:00:02.0: can't start
ohci_hcd 0000:00:02.0: stop reset controller (state 0x00)
ohci_hcd 0000:00:02.0: OHCI controller state
ohci_hcd 0000:00:02.0: OHCI 1.0, with legacy support registers
ohci_hcd 0000:00:02.0: control 0x0c0 HCFS=suspend CBSR=0
ohci_hcd 0000:00:02.0: cmdstatus 0x00000 SOC=0
ohci_hcd 0000:00:02.0: intrstatus 0x00000000
ohci_hcd 0000:00:02.0: intrenable 0x00000000
ohci_hcd 0000:00:02.0: hcca frame #0000
ohci_hcd 0000:00:02.0: roothub.a 03000003 POTPGT=3 NDP=3
ohci_hcd 0000:00:02.0: roothub.b 00000000 PPCM=0000 DR=0000
ohci_hcd 0000:00:02.0: roothub.status 00000000
ohci_hcd 0000:00:02.0: roothub.portstatus [0] 0x00000000
ohci_hcd 0000:00:02.0: roothub.portstatus [1] 0x00000000
ohci_hcd 0000:00:02.0: roothub.portstatus [2] 0x00000000
ohci_hcd 0000:00:02.0: init error -75
ohci_hcd 0000:00:02.0: remove, state 0
ohci_hcd 0000:00:02.0: roothub graceful disconnect
usb_disconnect nodev
ohci_hcd 0000:00:02.0: stop reset controller (state 0x00)
ohci_hcd 0000:00:02.0: OHCI controller state
ohci_hcd 0000:00:02.0: OHCI 1.0, with legacy support registers
ohci_hcd 0000:00:02.0: control 0x000 HCFS=reset CBSR=0
ohci_hcd 0000:00:02.0: cmdstatus 0x00000 SOC=0
ohci_hcd 0000:00:02.0: intrstatus 0x00000000
ohci_hcd 0000:00:02.0: intrenable 0x00000000
ohci_hcd 0000:00:02.0: roothub.a 03000003 POTPGT=3 NDP=3
ohci_hcd 0000:00:02.0: roothub.b 00000000 PPCM=0000 DR=0000
ohci_hcd 0000:00:02.0: roothub.status 00000000
ohci_hcd 0000:00:02.0: roothub.portstatus [0] 0x00000000
ohci_hcd 0000:00:02.0: roothub.portstatus [1] 0x00000000
ohci_hcd 0000:00:02.0: roothub.portstatus [2] 0x00000000
ohci_hcd 0000:00:02.0: USB bus 1 deregistered
ohci_hcd: probe of 0000:00:02.0 failed with error -75
ACPI: PCI Interrupt Link [LNK4] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 10 (level, low) -> IRQ 10
ohci_hcd 0000:00:0f.0: OHCI Host Controller
ohci_hcd 0000:00:0f.0: USB HC TakeOver from BIOS/SMM
ohci_hcd 0000:00:0f.0: irq 10, pci mem 0xd4009000
ohci_hcd 0000:00:0f.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:0f.0: resetting from state 'reset', control = 0x0
ohci_hcd 0000:00:0f.0: init err (00002edf 0000)
ohci_hcd 0000:00:0f.0: can't start
ohci_hcd 0000:00:0f.0: stop reset controller (state 0x00)
ohci_hcd 0000:00:0f.0: OHCI controller state
ohci_hcd 0000:00:0f.0: OHCI 1.0, with legacy support registers
ohci_hcd 0000:00:0f.0: control 0x0c0 HCFS=suspend CBSR=0
ohci_hcd 0000:00:0f.0: cmdstatus 0x00000 SOC=0
ohci_hcd 0000:00:0f.0: intrstatus 0x00000000
ohci_hcd 0000:00:0f.0: intrenable 0x00000000
ohci_hcd 0000:00:0f.0: hcca frame #0000
ohci_hcd 0000:00:0f.0: roothub.a 03000003 POTPGT=3 NDP=3
ohci_hcd 0000:00:0f.0: roothub.b 00000000 PPCM=0000 DR=0000
ohci_hcd 0000:00:0f.0: roothub.status 00000000
ohci_hcd 0000:00:0f.0: roothub.portstatus [0] 0x00000000
ohci_hcd 0000:00:0f.0: roothub.portstatus [1] 0x00000000
ohci_hcd 0000:00:0f.0: roothub.portstatus [2] 0x00000000
ohci_hcd 0000:00:0f.0: init error -75
ohci_hcd 0000:00:0f.0: remove, state 0
ohci_hcd 0000:00:0f.0: roothub graceful disconnect
usb_disconnect nodev
ohci_hcd 0000:00:0f.0: stop reset controller (state 0x00)
ohci_hcd 0000:00:0f.0: OHCI controller state
ohci_hcd 0000:00:0f.0: OHCI 1.0, with legacy support registers
ohci_hcd 0000:00:0f.0: control 0x000 HCFS=reset CBSR=0
ohci_hcd 0000:00:0f.0: cmdstatus 0x00000 SOC=0
ohci_hcd 0000:00:0f.0: intrstatus 0x00000000
ohci_hcd 0000:00:0f.0: intrenable 0x00000000
ohci_hcd 0000:00:0f.0: roothub.a 03000003 POTPGT=3 NDP=3
ohci_hcd 0000:00:0f.0: roothub.b 00000000 PPCM=0000 DR=0000
ohci_hcd 0000:00:0f.0: roothub.status 00000000
ohci_hcd 0000:00:0f.0: roothub.portstatus [0] 0x00000000
ohci_hcd 0000:00:0f.0: roothub.portstatus [1] 0x00000000
ohci_hcd 0000:00:0f.0: roothub.portstatus [2] 0x00000000
ohci_hcd 0000:00:0f.0: USB bus 1 deregistered
ohci_hcd: probe of 0000:00:0f.0 failed with error -75
[...]


Then, in a silent suggestion from David Brownell, I hacked ohci_hcd.c,
forcing the OHCI_QUIRK_INITRESET flag behaviour, build a new kernel and
modules and voila', all USB is back to functionality.

Here goes the complete dmesg output after the new kernel boot, where
everything seems to work as it should (note: I'm using Ingo Molnar's
voluntary-preempt-2.6.9-rc2-mm3-S6 patch):

[...]
usbcore: registered new driver usbfs
usbcore: registered new driver hub
ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ohci_hcd: block sizes: ed 64 td 64
ACPI: PCI Interrupt Link [LNK8] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 10 (level, low) -> IRQ 10
ohci_hcd 0000:00:02.0: OHCI Host Controller
ohci_hcd 0000:00:02.0: USB HC TakeOver from BIOS/SMM
requesting new irq thread for IRQ10...
ohci_hcd 0000:00:02.0: irq 10, pci mem 0xd4000000
ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:02.0: resetting from state 'reset', control = 0x0
ohci_hcd 0000:00:02.0: OHCI_QUIRK_INITRESET forced!
ohci_hcd 0000:00:02.0: OHCI controller state
ohci_hcd 0000:00:02.0: OHCI 1.0, with legacy support registers
ohci_hcd 0000:00:02.0: control 0x083 HCFS=operational CBSR=3
ohci_hcd 0000:00:02.0: cmdstatus 0x00000 SOC=0
ohci_hcd 0000:00:02.0: intrstatus 0x00000004 SF
ohci_hcd 0000:00:02.0: intrenable 0x8000000a MIE RD WDH
ohci_hcd 0000:00:02.0: hcca frame #0007
ohci_hcd 0000:00:02.0: roothub.a 03000203 POTPGT=3 NPS NDP=3
ohci_hcd 0000:00:02.0: roothub.b 00000000 PPCM=0000 DR=0000
ohci_hcd 0000:00:02.0: roothub.status 00008000 DRWE
ohci_hcd 0000:00:02.0: roothub.portstatus [0] 0x00000100 PPS
ohci_hcd 0000:00:02.0: roothub.portstatus [1] 0x00000100 PPS
ohci_hcd 0000:00:02.0: roothub.portstatus [2] 0x00000100 PPS
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: default language 0x0409
usb usb1: Product: OHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.9-rc2-mm3-S6.1 ohci_hcd
usb usb1: SerialNumber: 0000:00:02.0
usb usb1: hotplug
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: hotplug
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: no power switching (usb 1.0)
hub 1-0:1.0: global over-current protection
hub 1-0:1.0: power on to power good time: 6ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: no over-current condition exists
ohci_hcd 0000:00:02.0: created debug files
ACPI: PCI Interrupt Link [LNK4] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 10 (level, low) -> IRQ 10
ohci_hcd 0000:00:0f.0: OHCI Host Controller
ohci_hcd 0000:00:0f.0: USB HC TakeOver from BIOS/SMM
ohci_hcd 0000:00:0f.0: irq 10, pci mem 0xd4009000
ohci_hcd 0000:00:0f.0: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:0f.0: resetting from state 'reset', control = 0x0
ohci_hcd 0000:00:02.0: suspend root hub
ohci_hcd 0000:00:0f.0: OHCI_QUIRK_INITRESET forced!
ohci_hcd 0000:00:0f.0: OHCI controller state
ohci_hcd 0000:00:0f.0: OHCI 1.0, with legacy support registers
ohci_hcd 0000:00:0f.0: control 0x083 HCFS=operational CBSR=3
ohci_hcd 0000:00:0f.0: cmdstatus 0x00000 SOC=0
ohci_hcd 0000:00:0f.0: intrstatus 0x00000004 SF
ohci_hcd 0000:00:0f.0: intrenable 0x8000000a MIE RD WDH
ohci_hcd 0000:00:0f.0: hcca frame #0007
ohci_hcd 0000:00:0f.0: roothub.a 03000203 POTPGT=3 NPS NDP=3
ohci_hcd 0000:00:0f.0: roothub.b 00000000 PPCM=0000 DR=0000
ohci_hcd 0000:00:0f.0: roothub.status 00008000 DRWE
ohci_hcd 0000:00:0f.0: roothub.portstatus [0] 0x00000100 PPS
ohci_hcd 0000:00:0f.0: roothub.portstatus [1] 0x00000100 PPS
ohci_hcd 0000:00:0f.0: roothub.portstatus [2] 0x00000100 PPS
usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: default language 0x0409
usb usb2: Product: OHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.9-rc2-mm3-S6.1 ohci_hcd
usb usb2: SerialNumber: 0000:00:0f.0
usb usb2: hotplug
usb usb2: adding 2-0:1.0 (config #1, interface 0)
usb 2-0:1.0: hotplug
hub 2-0:1.0: usb_probe_interface
hub 2-0:1.0: usb_probe_interface - got id
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
hub 2-0:1.0: standalone hub
hub 2-0:1.0: no power switching (usb 1.0)
hub 2-0:1.0: global over-current protection
hub 2-0:1.0: power on to power good time: 6ms
hub 2-0:1.0: local power source is good
hub 2-0:1.0: no over-current condition exists
ohci_hcd 0000:00:0f.0: created debug files
ohci_hcd 0000:00:0f.0: suspend root hub
[...]


OK. And yes, I know this is a very dirty hack (see attached patch), that
most probably only serves for me and this specific hardware configuration.
I didn't found any other way to set this ohci->flag |=
OHCI_QUIRK_INITRESET; other than forcing it being hardcoded. Sorry.

So I'll ask if this flag may be set as an ohci_hcd module parameter or else?

Please forgive my lack of knowledge in this matter. Probably is just
lazziness :)

Cheers and thanks anyway.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


[-- Attachment #2: ohci_hcd-quirk-initreset-force.patch --]
[-- Type: text/plain, Size: 784 bytes --]

diff -duPNr linux.0/drivers/usb/host/ohci-hcd.c linux.1/drivers/usb/host/ohci-hcd.c
--- linux.0/drivers/usb/host/ohci-hcd.c	2004-09-24 11:07:00.982690336 +0100
+++ linux.1/drivers/usb/host/ohci-hcd.c	2004-09-24 11:19:06.232435616 +0100
@@ -564,11 +564,12 @@
 	 * (SiS, OPTi ...), so reset again instead.  SiS doesn't need
 	 * this if we write fmInterval after we're OPERATIONAL.
 	 */
-	if (ohci->flags & OHCI_QUIRK_INITRESET) {
+	 ohci_dbg(ohci, "OHCI_QUIRK_INITRESET forced!\n");
+/*	if (ohci->flags & OHCI_QUIRK_INITRESET) { */
 		writel (ohci->hc_control, &ohci->regs->control);
 		// flush those writes
 		(void) ohci_readl (&ohci->regs->control);
-	}
+/*	} */
 	writel (ohci->fminterval, &ohci->regs->fminterval);
 
 	/* Tell the controller where the control and bulk lists are

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work)
  2004-09-24 12:43                                             ` OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work) Rui Nuno Capela
@ 2004-09-24 12:55                                               ` Ingo Molnar
  2004-09-24 14:00                                                 ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-24 12:55 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: linux-kernel, David Brownell, Karsten Wiese, Bjorn Helgaas,
	David Brownell, Roman Weissgaerber, linux-usb-devel, K.R. Foley


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> Then, in a silent suggestion from David Brownell, I hacked ohci_hcd.c,
> forcing the OHCI_QUIRK_INITRESET flag behaviour, build a new kernel and
> modules and voila', all USB is back to functionality.

> diff -duPNr linux.0/drivers/usb/host/ohci-hcd.c linux.1/drivers/usb/host/ohci-hcd.c
> --- linux.0/drivers/usb/host/ohci-hcd.c	2004-09-24 11:07:00.982690336 +0100
> +++ linux.1/drivers/usb/host/ohci-hcd.c	2004-09-24 11:19:06.232435616 +0100
> @@ -564,11 +564,12 @@
>  	 * (SiS, OPTi ...), so reset again instead.  SiS doesn't need
>  	 * this if we write fmInterval after we're OPERATIONAL.
>  	 */
> -	if (ohci->flags & OHCI_QUIRK_INITRESET) {
> +	 ohci_dbg(ohci, "OHCI_QUIRK_INITRESET forced!\n");
> +/*	if (ohci->flags & OHCI_QUIRK_INITRESET) { */
>  		writel (ohci->hc_control, &ohci->regs->control);
>  		// flush those writes
>  		(void) ohci_readl (&ohci->regs->control);
> -	}
> +/*	} */
>  	writel (ohci->fminterval, &ohci->regs->fminterval);

it would be cleaner to make this dependent on your chipset/vendor-id -
look how OHCI_QUIRK_INITRESET gets activated for e.g. SiS
(PCI_VENDOR_ID_SI) and OPTi (PCI_VENDOR_ID_OPTI). What is your box's
pdev->vendor and pdev->device? (lspci -v) (If it's indeed a quirk that
is needed, not some other fix.)

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work)
  2004-09-24 12:55                                               ` Ingo Molnar
@ 2004-09-24 14:00                                                 ` Rui Nuno Capela
  2004-09-24 16:16                                                   ` Bjorn Helgaas
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-24 14:00 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, David Brownell, Karsten Wiese, Bjorn Helgaas,
	David Brownell, Roman Weissgaerber, linux-usb-devel, K.R. Foley

[-- Attachment #1: Type: text/plain, Size: 1256 bytes --]

Ingo Molnar wrote:
>
> * Rui Nuno Capela wrote:
>
>> Then, in a silent suggestion from David Brownell, I hacked ohci_hcd.c,
>> forcing the OHCI_QUIRK_INITRESET flag behaviour, build a new kernel and
>> modules and voila', all USB is back to functionality.
>
>
> it would be cleaner to make this dependent on your chipset/vendor-id -
> look how OHCI_QUIRK_INITRESET gets activated for e.g. SiS
> (PCI_VENDOR_ID_SI) and OPTi (PCI_VENDOR_ID_OPTI). What is your box's
> pdev->vendor and pdev->device? (lspci -v) (If it's indeed a quirk that
> is needed, not some other fix.)
>

Here it is:

(lspci -n)

00:02.0 Class 0c03: 10b9:5237 (rev 03)

(lspci -v)

00:02.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
(prog-if 10 [OHCI])
	Subsystem: Hewlett-Packard Company: Unknown device 0850
	Flags: bus master, medium devsel, latency 64, IRQ 10
	Memory at d4000000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [60] Power Management version 2


So I made it strictly specific to this hardware vendor PCI_VENDOR_ID_AL
(0x10b9) and device PCI_DEVICE_ID_AL_M5237 (0x5237).

The attached patch applies now to ohci_pci.c and it just works for me (tm:)

Thanks for the suggestion Ingo.

I feel better now.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org

[-- Attachment #2: ohci_pci-ali-m5237-quirk-initreset.patch --]
[-- Type: text/plain, Size: 603 bytes --]

diff -duPNr linux.1/drivers/usb/host/ohci-pci.c linux.2/drivers/usb/host/ohci-pci.c
--- linux.1/drivers/usb/host/ohci-pci.c	2004-09-24 14:15:37.146541120 +0100
+++ linux.2/drivers/usb/host/ohci-pci.c	2004-09-24 14:26:20.147790072 +0100
@@ -95,6 +95,13 @@
 			ohci_info(ohci, "SiS init quirk\n");
 		}
 	
+		/* ALI M5237 also acts wierd during init */
+		else if (pdev->vendor == PCI_VENDOR_ID_AL
+				&& pdev->device == PCI_DEVICE_ID_AL_M5237) {
+			ohci->flags = OHCI_QUIRK_INITRESET;
+			ohci_info (ohci, "ALI M5237 init quirk\n");
+		}
+
 	}
 
 	/* NOTE: there may have already been a first reset, to

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work)
  2004-09-24 14:00                                                 ` Rui Nuno Capela
@ 2004-09-24 16:16                                                   ` Bjorn Helgaas
  2004-09-25 23:37                                                     ` David Brownell
  0 siblings, 1 reply; 226+ messages in thread
From: Bjorn Helgaas @ 2004-09-24 16:16 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Ingo Molnar, linux-kernel, David Brownell, Karsten Wiese,
	David Brownell, Roman Weissgaerber, linux-usb-devel, K.R. Foley

[-- Attachment #1: Type: text/plain, Size: 848 bytes --]

My box has:

0000:00:0f.2 USB Controller: ServerWorks OSB4/CSB5 OHCI USB Controller (rev 05) (prog-if 10 [OHCI])
        Subsystem: ServerWorks OSB4/CSB5 OHCI USB Controller
        Flags: bus master, medium devsel, latency 64, IRQ 10
        Memory at f5e70000 (32-bit, non-prefetchable)

0000:00:0f.2 Class 0c03: 1166:0220 (rev 05)

The attached patch (which applies on top of Rui's patch for
ALI M5237) fixes the problem for my DL360.  Here's the relevant
output:

ohci_hcd 0000:00:0f.2: ServerWorks OSB4/CSB5 OHCI USB Controller
ohci_hcd 0000:00:0f.2: irq 10, pci mem 0xf5e70000
ohci_hcd 0000:00:0f.2: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:0f.2: Serverworks OSB4/CSB5 init quirk
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 4 ports detected
USB Universal Host Controller Interface driver v2.2

Thanks for chasing this down!

[-- Attachment #2: ohci_pci-serverworks-quirk-initreset.patch --]
[-- Type: text/x-diff, Size: 690 bytes --]

diff -u -ur 2.6.9-rc2-mm2-orig/drivers/usb/host/ohci-pci.c 2.6.9-rc2-mm2/drivers/usb/host/ohci-pci.c
--- 2.6.9-rc2-mm2-orig/drivers/usb/host/ohci-pci.c	2004-09-24 09:52:43.000000000 -0600
+++ 2.6.9-rc2-mm2/drivers/usb/host/ohci-pci.c	2004-09-24 09:50:44.000000000 -0600
@@ -102,6 +102,13 @@
 			ohci_info (ohci, "ALI M5237 init quirk\n");
 		}
 
+		/* Serverworks OSB4/CSB5 also acts wierd during init */
+		else if (pdev->vendor == PCI_VENDOR_ID_SERVERWORKS
+				&& pdev->device == PCI_DEVICE_ID_SERVERWORKS_OSB4USB) {
+			ohci->flags = OHCI_QUIRK_INITRESET;
+			ohci_info (ohci, "Serverworks OSB4/CSB5 init quirk\n");
+		}
+
 	}
 
 	/* NOTE: there may have already been a first reset, to

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-08  8:31             ` Ingo Molnar
  2004-09-09 11:09               ` Rui Nuno Capela
@ 2004-09-25 19:26               ` Lee Revell
  2004-09-25 20:38                 ` Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-25 19:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Rui Nuno Capela, Florian Schmidt, K.R. Foley, linux-kernel,
	felipe_alfaro

On Wed, 2004-09-08 at 04:31, Ingo Molnar wrote:
> * Ingo Molnar <mingo@elte.hu> wrote:
> 
> > * Rui Nuno Capela <rncbc@rncbc.org> wrote:
> > 
> > > OK, could just someone with a P4 HT/SMP box hand me their working
> > > kernel .config file for me to try? That could be a good starting
> > > point, if not a plain baseline.
> > 
> > I'll try the latest VP kernel (-R9) on a P4/HT SMP box in a minute and
> > will send you a .config if it works. [...]
> 
> P4/HT SMP works fine here - config attached.
> 
> since your lockups occur under X, could you try to disable DRI/DRM in
> your XConfig? Also, would it be possible to connect that box to another
> box via a serial line and enable the kernel's serial console via the
> 'console=ttyS0,38400 console=tty' boot option and run 'minicom' on that
> other box, set the serial line to 38400 baud there too and capture all
> kernel messages that occur when the lockups happens? Also enable the NMI
> watchdog via nmi_watchdog=1.

Rui brought up an interesting point on the alsa list.  Is this procedure
possible at all on a new laptop without a legacy serial port?

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-25 19:26               ` Lee Revell
@ 2004-09-25 20:38                 ` Ingo Molnar
  2004-09-25 20:40                   ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-25 20:38 UTC (permalink / raw)
  To: Lee Revell
  Cc: Rui Nuno Capela, Florian Schmidt, K.R. Foley, linux-kernel,
	felipe_alfaro


* Lee Revell <rlrevell@joe-job.com> wrote:

> > since your lockups occur under X, could you try to disable DRI/DRM in
> > your XConfig? Also, would it be possible to connect that box to another
> > box via a serial line and enable the kernel's serial console via the
> > 'console=ttyS0,38400 console=tty' boot option and run 'minicom' on that
> > other box, set the serial line to 38400 baud there too and capture all
> > kernel messages that occur when the lockups happens? Also enable the NMI
> > watchdog via nmi_watchdog=1.
> 
> Rui brought up an interesting point on the alsa list.  Is this
> procedure possible at all on a new laptop without a legacy serial
> port?

well, netconsole should work.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-25 20:38                 ` Ingo Molnar
@ 2004-09-25 20:40                   ` Lee Revell
  2004-09-25 20:50                     ` Duncan Sands
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-25 20:40 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Rui Nuno Capela, Florian Schmidt, K.R. Foley, linux-kernel,
	felipe_alfaro

On Sat, 2004-09-25 at 16:38, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > > since your lockups occur under X, could you try to disable DRI/DRM in
> > > your XConfig? Also, would it be possible to connect that box to another
> > > box via a serial line and enable the kernel's serial console via the
> > > 'console=ttyS0,38400 console=tty' boot option and run 'minicom' on that
> > > other box, set the serial line to 38400 baud there too and capture all
> > > kernel messages that occur when the lockups happens? Also enable the NMI
> > > watchdog via nmi_watchdog=1.
> > 
> > Rui brought up an interesting point on the alsa list.  Is this
> > procedure possible at all on a new laptop without a legacy serial
> > port?
> 
> well, netconsole should work.
> 

OK just to save everyone a google search here is the procedure:

http://technocrat.net/article.pl?sid=04/08/14/0236245&mode=thread

Lee



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-25 20:40                   ` Lee Revell
@ 2004-09-25 20:50                     ` Duncan Sands
  2004-09-25 23:54                       ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Duncan Sands @ 2004-09-25 20:50 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, Rui Nuno Capela, Florian Schmidt, K.R. Foley,
	linux-kernel, felipe_alfaro

On Saturday 25 September 2004 22:40, Lee Revell wrote:
> On Sat, 2004-09-25 at 16:38, Ingo Molnar wrote:
> > * Lee Revell <rlrevell@joe-job.com> wrote:
> > 
> > > > since your lockups occur under X, could you try to disable DRI/DRM in
> > > > your XConfig? Also, would it be possible to connect that box to another
> > > > box via a serial line and enable the kernel's serial console via the
> > > > 'console=ttyS0,38400 console=tty' boot option and run 'minicom' on that
> > > > other box, set the serial line to 38400 baud there too and capture all
> > > > kernel messages that occur when the lockups happens? Also enable the NMI
> > > > watchdog via nmi_watchdog=1.
> > > 
> > > Rui brought up an interesting point on the alsa list.  Is this
> > > procedure possible at all on a new laptop without a legacy serial
> > > port?
> > 
> > well, netconsole should work.
> > 
> 
> OK just to save everyone a google search here is the procedure:
> 
> http://technocrat.net/article.pl?sid=04/08/14/0236245&mode=thread

You may need this patch:

http://linux.bkbits.net:8080/linux-2.5/cset%4041470590n9GHsFJI2h0NeYTRXiyWMQ?nav=index.html|ChangeSet@-8w

Ciao,

Duncan.

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work)
  2004-09-24 16:16                                                   ` Bjorn Helgaas
@ 2004-09-25 23:37                                                     ` David Brownell
  2004-09-26 13:09                                                       ` Rui Nuno Capela
  2004-09-27 15:11                                                       ` Bjorn Helgaas
  0 siblings, 2 replies; 226+ messages in thread
From: David Brownell @ 2004-09-25 23:37 UTC (permalink / raw)
  To: Rui Nuno Capela, Bjorn Helgaas
  Cc: Ingo Molnar, linux-kernel, Karsten Wiese, Roman Weissgaerber,
	linux-usb-devel, K.R. Foley

[-- Attachment #1: Type: text/plain, Size: 348 bytes --]

On Friday 24 September 2004 9:16 am, Bjorn Helgaas wrote:
> 
> The attached patch (which applies on top of Rui's patch for
> ALI M5237) fixes the problem for my DL360.  

Hmm, I'd rather avoid needing a quirk table ... especially
when I've always suspected this is some subtle bug in the
way Linux initializes!  Does this patch behave too?

- Dave

[-- Attachment #2: Diff --]
[-- Type: text/x-diff, Size: 2173 bytes --]

Cope differently with hardware that doesn't act like we expect:
kick in the "initreset" quirk automatically, so we won't need
to maintain a quirk table.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>

--- 1.82/drivers/usb/host/ohci-hcd.c	Mon Sep 20 10:31:27 2004
+++ edited/drivers/usb/host/ohci-hcd.c	Sat Sep 25 15:53:19 2004
@@ -545,6 +545,7 @@
 	/* 2msec timelimit here means no irqs/preempt */
 	spin_lock_irq (&ohci->lock);
 
+retry:
 	/* HC Reset requires max 10 us delay */
 	writel (OHCI_HCR,  &ohci->regs->cmdstatus);
 	temp = 30;	/* ... allow extra time */
@@ -563,6 +564,8 @@
 	 * ... but some hardware won't init fmInterval "by the book"
 	 * (SiS, OPTi ...), so reset again instead.  SiS doesn't need
 	 * this if we write fmInterval after we're OPERATIONAL.
+	 * Unclear about ALi, ServerWorks, and others ... this could
+	 * easily be a longstanding bug in chip init on Linux.
 	 */
 	if (ohci->flags & OHCI_QUIRK_INITRESET) {
 		writel (ohci->hc_control, &ohci->regs->control);
@@ -586,6 +589,11 @@
 	 */
 	if ((ohci_readl (&ohci->regs->fminterval) & 0x3fff0000) == 0
 			|| !ohci_readl (&ohci->regs->periodicstart)) {
+		if (!(ohci->flags & OHCI_QUIRK_INITRESET)) {
+			ohci->flags |= OHCI_QUIRK_INITRESET;
+			ohci_dbg (ohci, "enabling initreset quirk\n");
+			goto retry;
+		}
 		spin_unlock_irq (&ohci->lock);
 		ohci_err (ohci, "init err (%08x %04x)\n",
 			ohci_readl (&ohci->regs->fminterval),
--- 1.38/drivers/usb/host/ohci-pci.c	Fri Sep 10 17:57:52 2004
+++ edited/drivers/usb/host/ohci-pci.c	Sat Sep 25 15:51:41 2004
@@ -69,8 +69,6 @@
 				&& pdev->device == 0xc861) {
 			ohci_info (ohci,
 				"WARNING: OPTi workarounds unavailable\n");
-			/* OPTi sometimes acts wierd during init */
-			ohci->flags = OHCI_QUIRK_INITRESET;
 		}
 
 		/* Check for NSC87560. We have to look at the bridge (fn1) to
@@ -88,13 +86,6 @@
 				ohci_info (ohci, "Using NSC SuperIO setup\n");
 			}
 		}
-
-		/* SiS sometimes acts wierd during init */
-		else if (pdev->vendor == PCI_VENDOR_ID_SI) {
-			ohci->flags = OHCI_QUIRK_INITRESET;
-			ohci_info(ohci, "SiS init quirk\n");
-		}
-	
 	}
 
 	/* NOTE: there may have already been a first reset, to

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-25 20:50                     ` Duncan Sands
@ 2004-09-25 23:54                       ` Lee Revell
  2004-09-26 13:42                         ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-25 23:54 UTC (permalink / raw)
  To: Duncan Sands
  Cc: Ingo Molnar, Rui Nuno Capela, Florian Schmidt, K.R. Foley,
	linux-kernel, felipe_alfaro

On Sat, 2004-09-25 at 16:50, Duncan Sands wrote:
> On Saturday 25 September 2004 22:40, Lee Revell wrote:
> > On Sat, 2004-09-25 at 16:38, Ingo Molnar wrote:
> > > * Lee Revell <rlrevell@joe-job.com> wrote:
> > > 
> > > > > since your lockups occur under X, could you try to disable DRI/DRM in
> > > > > your XConfig? Also, would it be possible to connect that box to another
> > > > > box via a serial line and enable the kernel's serial console via the
> > > > > 'console=ttyS0,38400 console=tty' boot option and run 'minicom' on that
> > > > > other box, set the serial line to 38400 baud there too and capture all
> > > > > kernel messages that occur when the lockups happens? Also enable the NMI
> > > > > watchdog via nmi_watchdog=1.
> > > > 
> > > > Rui brought up an interesting point on the alsa list.  Is this
> > > > procedure possible at all on a new laptop without a legacy serial
> > > > port?
> > > 
> > > well, netconsole should work.
> > > 
> > 
> > OK just to save everyone a google search here is the procedure:
> > 
> > http://technocrat.net/article.pl?sid=04/08/14/0236245&mode=thread
> 
> You may need this patch:
> 
> http://linux.bkbits.net:8080/linux-2.5/cset%4041470590n9GHsFJI2h0NeYTRXiyWMQ?nav=index.html|ChangeSet@-8w
> 

You know, this actually seems like an easier process than the serial
console.  Is there any good reason this isn't the "recommended" way to
diagnose lockups?  Unless they used to work at a telco ;-), most users
are more likely to have an ethernet crossover cable handy than a serial
cable.

Here's the netconsole mini-mini HOWTO.

load the module like:
    insmod netconsole \ 
    netconsole=source-port@source-ip/net-interface,dest-port@dest-ip/MAC-address

for example: 
    modprobe netconsole \
    netconsole=1234@69.44.153.169/eth0,4567@64.81.245.32/00:0A:8A:05:3D:80

then connect the other machine and run:
    netcat -u -l -p dest-port

to watch the output.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work)
  2004-09-25 23:37                                                     ` David Brownell
@ 2004-09-26 13:09                                                       ` Rui Nuno Capela
  2004-09-27 15:11                                                       ` Bjorn Helgaas
  1 sibling, 0 replies; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-26 13:09 UTC (permalink / raw)
  To: David Brownell
  Cc: Bjorn Helgaas, Ingo Molnar, linux-kernel, Karsten Wiese,
	Roman Weissgaerber, linux-usb-devel, K.R. Foley

David Brownell wrote:
> Bjorn Helgaas wrote:
>>
>> The attached patch (which applies on top of Rui's patch for
>> ALI M5237) fixes the problem for my DL360.
>
> Hmm, I'd rather avoid needing a quirk table ... especially
> when I've always suspected this is some subtle bug in the
> way Linux initializes!  Does this patch behave too?
>

The patch works on my ALI M5237, having ohci_hcd (re)starting properly. No
need for my previous specific patch.

Thanks.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc1-bk12-R5
  2004-09-25 23:54                       ` Lee Revell
@ 2004-09-26 13:42                         ` Rui Nuno Capela
  0 siblings, 0 replies; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-26 13:42 UTC (permalink / raw)
  To: Lee Revell
  Cc: Duncan Sands, Ingo Molnar, Florian Schmidt, K.R. Foley,
	linux-kernel, felipe_alfaro

Lee Revell wrote:

>
> You know, this actually seems like an easier process than the serial
> console.  Is there any good reason this isn't the "recommended" way to
> diagnose lockups?  Unless they used to work at a telco ;-), most users
> are more likely to have an ethernet crossover cable handy than a serial
> cable.
>
> Here's the netconsole mini-mini HOWTO.
>
> load the module like:
>     insmod netconsole \
>     netconsole=source-port@source-ip/net-interface,dest-port@dest-ip/MAC-address
>
> for example:
>     modprobe netconsole \
>     netconsole=1234@69.44.153.169/eth0,4567@64.81.245.32/00:0A:8A:05:3D:80
>
> then connect the other machine and run:
>     netcat -u -l -p dest-port
>
> to watch the output.
>

Thanks Lee.

I have tested this netconsole stuff and it seems to work pretty well.
Already sent some results to alsa-devel bugtracker on the respective bug
entry.

Cheers.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work)
  2004-09-25 23:37                                                     ` David Brownell
  2004-09-26 13:09                                                       ` Rui Nuno Capela
@ 2004-09-27 15:11                                                       ` Bjorn Helgaas
  1 sibling, 0 replies; 226+ messages in thread
From: Bjorn Helgaas @ 2004-09-27 15:11 UTC (permalink / raw)
  To: David Brownell
  Cc: Rui Nuno Capela, Ingo Molnar, linux-kernel, Karsten Wiese,
	Roman Weissgaerber, linux-usb-devel, K.R. Foley

On Saturday 25 September 2004 5:37 pm, David Brownell wrote:
> On Friday 24 September 2004 9:16 am, Bjorn Helgaas wrote:
> > 
> > The attached patch (which applies on top of Rui's patch for
> > ALI M5237) fixes the problem for my DL360.  
> 
> Hmm, I'd rather avoid needing a quirk table ... especially
> when I've always suspected this is some subtle bug in the
> way Linux initializes!  Does this patch behave too?

Yes, your patch seems to work on my DL360 (ServerWorks OSB4/CSB5 OHCI)
as well.

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-24  7:44                                       ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S6 Ingo Molnar
@ 2004-09-28  0:05                                         ` Ingo Molnar
  2004-09-28 20:17                                           ` Rui Nuno Capela
                                                             ` (6 more replies)
  0 siblings, 7 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-09-28  0:05 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, K.R. Foley, Rui Nuno Capela


i've released the -S7 VP patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7

this iteration is mainly a merge to -mm4. (-mm4 includes PREEMPT_BKL so
the -VP patch got smaller again - at least until -mm carries it.) The
patch undoes some more experimental scheduler patches that -mm includes.

The patching order is:
  
   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc2.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm4/2.6.9-rc2-mm4.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-28  0:05                                         ` [patch] voluntary-preempt-2.6.9-rc2-mm4-S7 Ingo Molnar
@ 2004-09-28 20:17                                           ` Rui Nuno Capela
  2004-09-28 21:03                                             ` Rui Nuno Capela
  2004-09-29 17:43                                           ` Lee Revell
                                                             ` (5 subsequent siblings)
  6 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-28 20:17 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, K.R. Foley

Ingo Molnar wrote:
>
> i've released the -S7 VP patch:
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
>

Works here on SMP/SMT (P4/HT). However I have a probable off-topic
complaint about the -mm4 (both vanilla and VP):

My Wacom Graphire USB mouse wheel stopped to work properly, at least on X.
Trying to scroll with the mouse wheel just causes flicker and the view
stucks in the same position.

Again this was surely introduced on -mm4.

Bye now.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-28 20:17                                           ` Rui Nuno Capela
@ 2004-09-28 21:03                                             ` Rui Nuno Capela
  2004-09-28 21:46                                               ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-28 21:03 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, K.R. Foley

>
> My Wacom Graphire USB mouse wheel stopped to work properly, at least on
> X. Trying to scroll with the mouse wheel just causes flicker and the
> view stucks in the same position.
>
> Again this was surely introduced on -mm4.
>

Apparently this was solved by applying the specific kernel stuff from
linuxwacom-0.6.4 (http://linuxwacom.sourceforge.net).

The curious thing is that the tablet is working flawlessly on 2.6.9-rc2
kernels since before -mm4 (either vanilla or VP).

Just to clear things out, for now.

Sorry for garbage :)
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-28 21:03                                             ` Rui Nuno Capela
@ 2004-09-28 21:46                                               ` Rui Nuno Capela
  2004-09-28 22:01                                                 ` Matt Heler
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-09-28 21:46 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, K.R. Foley

This is another quirk on -mm4 I have found: I have a couple of outsider
modules, both related to webcams, that fail on modprobe wrt same missing
kernel symbol:

w9968cf: Unknown symbol remap_page_range
spca50x: Unknown symbol remap_page_range

CU
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-28 21:46                                               ` Rui Nuno Capela
@ 2004-09-28 22:01                                                 ` Matt Heler
  0 siblings, 0 replies; 226+ messages in thread
From: Matt Heler @ 2004-09-28 22:01 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: Ingo Molnar, linux-kernel, Lee Revell, K.R. Foley

This is due in part b/c of the patches andrew merged that changed 
remap_page_range to remap_pfn_range. 

On Tuesday 28 September 2004 2:46 pm, Rui Nuno Capela wrote:
> This is another quirk on -mm4 I have found: I have a couple of outsider
> modules, both related to webcams, that fail on modprobe wrt same missing
> kernel symbol:
>
> w9968cf: Unknown symbol remap_page_range
> spca50x: Unknown symbol remap_page_range
>
> CU

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-28  0:05                                         ` [patch] voluntary-preempt-2.6.9-rc2-mm4-S7 Ingo Molnar
  2004-09-28 20:17                                           ` Rui Nuno Capela
@ 2004-09-29 17:43                                           ` Lee Revell
  2004-09-29 18:40                                           ` Lee Revell
                                                             ` (4 subsequent siblings)
  6 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-29 17:43 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, rl

On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> i've released the -S7 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> 

I think I might be seeing the mysterious network problems that K. R.
Foley reported.  The symptoms are that Evolution often fails to download
mail with various errors like "Interrupted system call", "Connection
reset by peer".  I can't rule out a bug in Evolution, but this did not
seem to happen with 2.6.8.1.

These problems could also be related to the changes to the via-rhine
driver.  ISTR that when the VP patches were based on 2.6.8.1, I applied
the patches from -mm4 affecting via-rhine, and that was when the problem
was introduced.

I will try backing these out and see if the problem goes away.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-28  0:05                                         ` [patch] voluntary-preempt-2.6.9-rc2-mm4-S7 Ingo Molnar
  2004-09-28 20:17                                           ` Rui Nuno Capela
  2004-09-29 17:43                                           ` Lee Revell
@ 2004-09-29 18:40                                           ` Lee Revell
  2004-09-29 20:30                                             ` Ingo Molnar
  2004-10-02  3:02                                           ` Lee Revell
                                                             ` (3 subsequent siblings)
  6 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-09-29 18:40 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela

On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> i've released the -S7 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7

Disabling latency tracing does not seem to work.  To demonstrate:

	echo 0 > /proc/sys/kernel/preempt_max_latency
	echo 0 > /proc/sys/kernel/trace_enabled
	modprobe foo-module (will reliably cause a ~3-600 usec latency in resolve_symbol)
	check /proc/latency_trace, or dmesg, it will be the modprobe latency.
	cat /proc/sys/kernel/trace_enabled, it is still 0

This definitely worked at one point.  Not sure when it broke.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-29 18:40                                           ` Lee Revell
@ 2004-09-29 20:30                                             ` Ingo Molnar
  2004-09-29 20:34                                               ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-09-29 20:30 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela


* Lee Revell <rlrevell@joe-job.com> wrote:

> On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> > i've released the -S7 VP patch:
> > 
> >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> 
> Disabling latency tracing does not seem to work.  To demonstrate:
> 
> 	echo 0 > /proc/sys/kernel/preempt_max_latency
> 	echo 0 > /proc/sys/kernel/trace_enabled
> 	modprobe foo-module (will reliably cause a ~3-600 usec latency in resolve_symbol)
> 	check /proc/latency_trace, or dmesg, it will be the modprobe latency.
> 	cat /proc/sys/kernel/trace_enabled, it is still 0
> 
> This definitely worked at one point.  Not sure when it broke.

is it the full modprobe latency trace, or just the header?  Putting zero
into trace_enabled wont disable the critical-section-timing code - it
only disables the function tracer. Since /proc/latency_trace takes the
header portion from the latency-timing code that might change. To
disable both do something like:

  echo 100000000 > /proc/sys/kernel/preempt_max_latency
  echo 0 > /proc/sys/kernel/trace_enabled

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-29 20:30                                             ` Ingo Molnar
@ 2004-09-29 20:34                                               ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-09-29 20:34 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela

On Wed, 2004-09-29 at 16:30, Ingo Molnar wrote:
>  > 
> > >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> > 
> > Disabling latency tracing does not seem to work.  To demonstrate:

> is it the full modprobe latency trace, or just the header?  Putting zero
> into trace_enabled wont disable the critical-section-timing code - it
> only disables the function tracer. Since /proc/latency_trace takes the
> header portion from the latency-timing code that might change. To
> disable both do something like:
> 
>   echo 100000000 > /proc/sys/kernel/preempt_max_latency
>   echo 0 > /proc/sys/kernel/trace_enabled

OK, thanks for clarifying.

Lee



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-28  0:05                                         ` [patch] voluntary-preempt-2.6.9-rc2-mm4-S7 Ingo Molnar
                                                             ` (2 preceding siblings ...)
  2004-09-29 18:40                                           ` Lee Revell
@ 2004-10-02  3:02                                           ` Lee Revell
  2004-10-02  9:50                                             ` Ingo Molnar
  2004-10-03  2:01                                           ` Lee Revell
                                                             ` (2 subsequent siblings)
  6 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-02  3:02 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela

On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> i've released the -S7 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> 

OK, I have been busy with other things, so haven't been able to test as
much.  There might be a few regressions with S7.  Here is a trace from
the ext3 journaling code that I never saw before.  It starts with some
printks from the rtc_interrupt, due to having the rtc-debug patch
installed, but these accout for less than 100 usecs of the ~600 usec
latency.

http://krustophenia.net/testresults.php?dataset=2.6.9-rc2-mm4-S7

This part repeats many times:

00000001 0.127ms (+0.000ms): journal_refile_buffer (journal_commit_transaction)
00000003 0.127ms (+0.000ms): __journal_refile_buffer (journal_refile_buffer)
00000003 0.128ms (+0.000ms): __journal_unfile_buffer (journal_refile_buffer)
00000002 0.128ms (+0.000ms): preempt_schedule (journal_refile_buffer)
00000002 0.128ms (+0.000ms): journal_remove_journal_head (journal_refile_buffer)
00000003 0.129ms (+0.000ms): __journal_remove_journal_head (journal_remove_journal_head)
00000003 0.129ms (+0.000ms): __brelse (__journal_remove_journal_head)
00000003 0.130ms (+0.000ms): journal_free_journal_head (journal_remove_journal_head)
00000003 0.130ms (+0.000ms): kmem_cache_free (journal_free_journal_head)
00000002 0.130ms (+0.000ms): preempt_schedule (journal_refile_buffer)
00000001 0.131ms (+0.000ms): preempt_schedule (journal_refile_buffer)
00000001 0.131ms (+0.000ms): __brelse (journal_commit_transaction)
00000002 0.132ms (+0.000ms): kfree (journal_commit_transaction)
00000001 0.132ms (+0.000ms): preempt_schedule (journal_commit_transaction)
00000001 0.133ms (+0.000ms): journal_refile_buffer (journal_commit_transaction)
00000003 0.133ms (+0.000ms): __journal_refile_buffer (journal_refile_buffer)
00000003 0.133ms (+0.000ms): __journal_unfile_buffer (journal_refile_buffer)
00000002 0.134ms (+0.000ms): preempt_schedule (journal_refile_buffer)
00000002 0.134ms (+0.000ms): journal_remove_journal_head (journal_refile_buffer)
00000003 0.135ms (+0.000ms): __journal_remove_journal_head (journal_remove_journal_head)
00000003 0.135ms (+0.000ms): __brelse (__journal_remove_journal_head)
00000003 0.135ms (+0.000ms): journal_free_journal_head (journal_remove_journal_head)
00000003 0.136ms (+0.000ms): kmem_cache_free (journal_free_journal_head)
00000002 0.136ms (+0.000ms): preempt_schedule (journal_refile_buffer)
00000001 0.136ms (+0.000ms): preempt_schedule (journal_refile_buffer)
00000001 0.137ms (+0.000ms): __brelse (journal_commit_transaction)
00000002 0.137ms (+0.000ms): kfree (journal_commit_transaction)
00000001 0.138ms (+0.000ms): preempt_schedule (journal_commit_transaction)
00000001 0.138ms (+0.000ms): journal_refile_buffer (journal_commit_transaction)
00000003 0.139ms (+0.000ms): __journal_refile_buffer (journal_refile_buffer)
00000003 0.139ms (+0.000ms): __journal_unfile_buffer (journal_refile_buffer)
00000002 0.140ms (+0.000ms): preempt_schedule (journal_refile_buffer)
00000002 0.140ms (+0.000ms): journal_remove_journal_head (journal_refile_buffer)
00000003 0.141ms (+0.000ms): __journal_remove_journal_head (journal_remove_journal_head)
00000003 0.141ms (+0.000ms): __brelse (__journal_remove_journal_head)
00000003 0.141ms (+0.000ms): journal_free_journal_head (journal_remove_journal_head)
00000003 0.142ms (+0.000ms): kmem_cache_free (journal_free_journal_head)
00000002 0.142ms (+0.000ms): preempt_schedule (journal_refile_buffer)
00000001 0.142ms (+0.000ms): preempt_schedule (journal_refile_buffer)
00000001 0.143ms (+0.001ms): __brelse (journal_commit_transaction)
00000002 0.144ms (+0.000ms): kfree (journal_commit_transaction)


Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-02  3:02                                           ` Lee Revell
@ 2004-10-02  9:50                                             ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-02  9:50 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela


* Lee Revell <rlrevell@joe-job.com> wrote:

> OK, I have been busy with other things, so haven't been able to test
> as much.  There might be a few regressions with S7.  Here is a trace
> from the ext3 journaling code that I never saw before.  It starts with
> some printks from the rtc_interrupt, due to having the rtc-debug patch
> installed, but these accout for less than 100 usecs of the ~600 usec
> latency.
> 
> http://krustophenia.net/testresults.php?dataset=2.6.9-rc2-mm4-S7
> 
> This part repeats many times:
> 
> 00000001 0.127ms (+0.000ms): journal_refile_buffer (journal_commit_transaction)

ok, will take another look at this one, it seems we dont break out of
the loop early enough.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-28  0:05                                         ` [patch] voluntary-preempt-2.6.9-rc2-mm4-S7 Ingo Molnar
                                                             ` (3 preceding siblings ...)
  2004-10-02  3:02                                           ` Lee Revell
@ 2004-10-03  2:01                                           ` Lee Revell
  2004-10-03  2:14                                             ` Lee Revell
  2004-10-03 20:08                                             ` Ingo Molnar
  2004-10-03  6:37                                           ` Lee Revell
  2004-10-03 21:09                                           ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S8 Ingo Molnar
  6 siblings, 2 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-03  2:01 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Joel White

On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> i've released the -S7 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> 

I believe we have found a bug.  A user reported massive xruns with S7,
they turned out to be printk() overhead from tons of "using
smp_processor_id() in preemptible code" errors.  The trace below repeats
over and over.  Looks like raid0 is the problem.

using smp_processor_id() in preemptible code: kjournald/685
 [<c011892a>] smp_processor_id+0x8a/0xa0
 [<c0273f67>] raid0_make_request+0x37/0x240
 [<c02e1bde>] cond_resched+0xe/0x80
 [<c0111608>] mcount+0x14/0x18
 [<c020f4a7>] generic_make_request+0x117/0x1a0
 [<c01621e6>] submit_bh+0xe6/0x150
 [<c020f544>] submit_bio+0x14/0x120
 [<c0111608>] mcount+0x14/0x18
 [<c020f5a2>] submit_bio+0x72/0x120
 [<c0133050>] autoremove_wake_function+0x0/0x60
 [<c0111608>] mcount+0x14/0x18
 [<c0162a6a>] bio_alloc+0xea/0x1d0
 [<c01621e6>] submit_bh+0xe6/0x150
 [<c01b022b>] journal_commit_transaction+0x102b/0x1680
 [<c02e27b3>] _spin_unlock+0x13/0x40
 [<c0136914>] _metered_spin_unlock+0x14/0xa0
 [<c0117c51>] find_busiest_group+0xf1/0x310
 [<c01de306>] find_next_bit+0x16/0xa0
 [<c011815e>] load_balance_newidle+0x8e/0xc0
 [<c01178ee>] move_tasks+0xe/0x280
 [<c02e27b3>] _spin_unlock+0x13/0x40
 [<c0136914>] _metered_spin_unlock+0x14/0xa0
 [<c0135059>] sub_preempt_count+0x69/0x80
 [<c0135059>] sub_preempt_count+0x69/0x80
 [<c01263bf>] del_timer_sync+0xaf/0x160
 [<c01de306>] find_next_bit+0x16/0xa0
 [<c0111608>] mcount+0x14/0x18
 [<c01de306>] find_next_bit+0x16/0xa0
 [<c01263bf>] del_timer_sync+0xaf/0x160
 [<c0111608>] mcount+0x14/0x18
 [<c02e27bf>] _spin_unlock+0x1f/0x40
 [<c01b31f3>] kjournald+0xf3/0x270
 [<c0133050>] autoremove_wake_function+0x0/0x60
 [<c02e2b20>] _spin_unlock_irq+0x20/0x40
 [<c0133050>] autoremove_wake_function+0x0/0x60
 [<c0117223>] schedule_tail+0x23/0x70
 [<c01b30d0>] commit_timeout+0x0/0x20
 [<c01b3100>] kjournald+0x0/0x270
 [<c0102779>] kernel_thread_helper+0x5/0xc
printk: 4203 messages suppressed.
using smp_processor_id() in preemptible code: kjournald/685
 [<c011892a>] smp_processor_id+0x8a/0xa0
 [<c0273f67>] raid0_make_request+0x37/0x240

etc.

I have the .config if you need more info.  All PREEMPT_ options are
enabled.

Joel, you reported the same xruns with SCSI and IDE.  Are you running
raid0 in both cases?  Also what is your hardware configuration?  Is this
regular SMP, or HT?

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-03  2:01                                           ` Lee Revell
@ 2004-10-03  2:14                                             ` Lee Revell
  2004-10-03  2:19                                               ` Lee Revell
  2004-10-03 20:08                                             ` Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-03  2:14 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Joel White

On Sat, 2004-10-02 at 22:01, Lee Revell wrote:
> On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> > i've released the -S7 VP patch:
> > 
> >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> > 
> 
> I believe we have found a bug.  A user reported massive xruns with S7,
> they turned out to be printk() overhead from tons of "using
> smp_processor_id() in preemptible code" errors.  The trace below repeats
> over and over.  Looks like raid0 is the problem.

The exact configuration is 4 SCSI drives in a raid 0, and a single IDE
drive.  The raid0 code apparently is not preempt safe.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-03  2:14                                             ` Lee Revell
@ 2004-10-03  2:19                                               ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-03  2:19 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Joel White

On Sat, 2004-10-02 at 22:14, Lee Revell wrote:
> On Sat, 2004-10-02 at 22:01, Lee Revell wrote:
> > On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> > > i've released the -S7 VP patch:
> > > 
> > >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> > > 
> > 
> > I believe we have found a bug.  A user reported massive xruns with S7,
> > they turned out to be printk() overhead from tons of "using
> > smp_processor_id() in preemptible code" errors.  The trace below repeats
> > over and over.  Looks like raid0 is the problem.
> 
> The exact configuration is 4 SCSI drives in a raid 0, and a single IDE
> drive.  The raid0 code apparently is not preempt safe.

s/preempt safe/preempt+SMP safe/.  System is a dual PIII-600.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-09-28  0:05                                         ` [patch] voluntary-preempt-2.6.9-rc2-mm4-S7 Ingo Molnar
                                                             ` (4 preceding siblings ...)
  2004-10-03  2:01                                           ` Lee Revell
@ 2004-10-03  6:37                                           ` Lee Revell
  2004-10-03  6:50                                             ` Lee Revell
  2004-10-03 20:05                                             ` Ingo Molnar
  2004-10-03 21:09                                           ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S8 Ingo Molnar
  6 siblings, 2 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-03  6:37 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela

On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> i've released the -S7 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> 

This one was caused by amlat:

preemption latency trace v1.0.7 on 2.6.9-rc2-mm4-VP-S7
-------------------------------------------------------
 latency: 264 us, entries: 5 (5)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: amlat/3921, uid:1000 nice:0 policy:1 rt_prio:99
    -----------------
 => started at: rtc_open+0x12/0x270
 => ended at:   rtc_open+0x13f/0x270
=======>
00000001 0.000ms (+0.264ms): rtc_open (misc_open)
00000001 0.264ms (+0.000ms): sub_preempt_count (rtc_open)
00000001 0.265ms (+0.000ms): update_max_trace (check_preempt_timing)
00000001 0.265ms (+0.000ms): _mmx_memcpy (update_max_trace)
00000001 0.265ms (+0.000ms): kernel_fpu_begin (_mmx_memcpy)

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-03  6:37                                           ` Lee Revell
@ 2004-10-03  6:50                                             ` Lee Revell
  2004-10-03  7:06                                               ` Lee Revell
  2004-10-03 20:05                                             ` Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-03  6:50 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela

On Sun, 2004-10-03 at 02:37, Lee Revell wrote:
> On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> > i've released the -S7 VP patch:
> > 
> >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> > 
> 
> This one was caused by amlat:

And here's another produced by "lsof /foo":

preemption latency trace v1.0.7 on 2.6.9-rc2-mm4-VP-S7
-------------------------------------------------------
 latency: 399 us, entries: 608 (608)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: lsof/4347, uid:0 nice:0 policy:0 rt_prio:0
    -----------------
 => started at: unix_seq_start+0x10/0x50
 => ended at:   rtc_interrupt+0x294/0x450
=======>
00000001 0.000ms (+0.000ms): unix_seq_start (seq_read)
00000001 0.000ms (+0.039ms): unix_seq_idx (unix_seq_start)
00000001 0.040ms (+0.000ms): unix_seq_show (seq_read)
00000002 0.040ms (+0.001ms): sock_i_ino (unix_seq_show)
00000002 0.041ms (+0.000ms): seq_printf (unix_seq_show)
00000002 0.042ms (+0.002ms): vsnprintf (seq_printf)
00000002 0.045ms (+0.003ms): number (vsnprintf)
00000002 0.048ms (+0.000ms): skip_atoi (vsnprintf)
00000002 0.049ms (+0.001ms): number (vsnprintf)
00000002 0.050ms (+0.000ms): skip_atoi (vsnprintf)
00000002 0.051ms (+0.000ms): number (vsnprintf)
00000002 0.052ms (+0.000ms): skip_atoi (vsnprintf)
00000002 0.052ms (+0.000ms): number (vsnprintf)
00000002 0.053ms (+0.000ms): skip_atoi (vsnprintf)
00000002 0.053ms (+0.000ms): number (vsnprintf)
00000002 0.054ms (+0.000ms): skip_atoi (vsnprintf)
00000002 0.055ms (+0.000ms): number (vsnprintf)
00000002 0.056ms (+0.000ms): skip_atoi (vsnprintf)
00000002 0.056ms (+0.001ms): number (vsnprintf)
00000002 0.058ms (+0.000ms): seq_putc (unix_seq_show)
00000002 0.059ms (+0.000ms): seq_putc (unix_seq_show)
00000002 0.059ms (+0.000ms): seq_putc (unix_seq_show)
00000002 0.059ms (+0.000ms): seq_putc (unix_seq_show)
00000002 0.060ms (+0.000ms): seq_putc (unix_seq_show)
00000002 0.060ms (+0.000ms): seq_putc (unix_seq_show)

...

Full trace:

http://krustophenia.net/testresults.php?dataset=2.6.9-rc2-mm4-S7#/var/www/2.6.9-rc2-mm4-S7/lsof-latency-trace.txt

Lee




^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-03  6:50                                             ` Lee Revell
@ 2004-10-03  7:06                                               ` Lee Revell
  2004-10-03 19:57                                                 ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-03  7:06 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela

On Sun, 2004-10-03 at 02:50, Lee Revell wrote:
> On Sun, 2004-10-03 at 02:37, Lee Revell wrote:
> > On Mon, 2004-09-27 at 20:05, Ingo Molnar wrote:
> > > i've released the -S7 VP patch:
> > > 
> > >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc2-mm4-S7
> > > 
> > 
> > This one was caused by amlat:
> 
> And here's another produced by "lsof /foo":
> 

Finally, there's this one which makes no sense to me:

preemption latency trace v1.0.7 on 2.6.9-rc2-mm4-VP-S7
-------------------------------------------------------
 latency: 507 us, entries: 45 (45)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: events/0/3, uid:0 nice:-10 policy:0 rt_prio:0
    -----------------
 => started at: kernel_fpu_begin+0x15/0x70
 => ended at:   _mmx_memcpy+0x13a/0x180
=======>
00000001 0.000ms (+0.002ms): kernel_fpu_begin (_mmx_memcpy)
00010001 0.002ms (+0.000ms): do_IRQ (_mmx_memcpy)
00010001 0.002ms (+0.000ms): do_IRQ (<00000000>)

[ timer interrupt stuff ] 

00010001 0.024ms (+0.000ms): preempt_schedule (do_IRQ)
00000002 0.025ms (+0.000ms): do_softirq (do_IRQ)
00000002 0.025ms (+0.000ms): __do_softirq (do_softirq)
00000002 0.025ms (+0.000ms): wake_up_process (do_softirq)
00000002 0.026ms (+0.000ms): try_to_wake_up (wake_up_process)
00000002 0.026ms (+0.000ms): task_rq_lock (try_to_wake_up)
00000003 0.026ms (+0.000ms): activate_task (try_to_wake_up)
00000003 0.027ms (+0.000ms): sched_clock (activate_task)
00000003 0.027ms (+0.000ms): recalc_task_prio (activate_task)
00000003 0.028ms (+0.000ms): effective_prio (recalc_task_prio)
00000003 0.028ms (+0.000ms): enqueue_task (activate_task)
00000002 0.028ms (+0.478ms): preempt_schedule (try_to_wake_up)
00000001 0.507ms (+0.000ms): sub_preempt_count (_mmx_memcpy)
00000001 0.508ms (+0.000ms): update_max_trace (check_preempt_timing)
00000001 0.508ms (+0.000ms): _mmx_memcpy (update_max_trace)
00000001 0.508ms (+0.000ms): kernel_fpu_begin (_mmx_memcpy)

478 usecs in try_to_wake_up?

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-03  7:06                                               ` Lee Revell
@ 2004-10-03 19:57                                                 ` Ingo Molnar
  2004-10-04  0:53                                                   ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-03 19:57 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela


* Lee Revell <rlrevell@joe-job.com> wrote:

> Finally, there's this one which makes no sense to me:
> 
> preemption latency trace v1.0.7 on 2.6.9-rc2-mm4-VP-S7
> -------------------------------------------------------
>  latency: 507 us, entries: 45 (45)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
>     -----------------
>     | task: events/0/3, uid:0 nice:-10 policy:0 rt_prio:0
>     -----------------
>  => started at: kernel_fpu_begin+0x15/0x70
>  => ended at:   _mmx_memcpy+0x13a/0x180
> =======>
> 00000001 0.000ms (+0.002ms): kernel_fpu_begin (_mmx_memcpy)
> 00010001 0.002ms (+0.000ms): do_IRQ (_mmx_memcpy)

> 00000002 0.028ms (+0.478ms): preempt_schedule (try_to_wake_up)
> 00000001 0.507ms (+0.000ms): sub_preempt_count (_mmx_memcpy)

> 478 usecs in try_to_wake_up?

no, 478 usecs in _mmx_memcpy - the timer interrupt interrupted that
function and we returned to it after the timer irq. We only know that
the latency happens between try_to_wake_up()'s preempt_schedule() and
_mmax_memcpy. Latency tracing does not capture function exits (would be
too costly) so effects of two functions can add up. The try_to_wake_up()
was simply the last function _entry_ that happened in the timer irq,
that's why it got 'credited' for the latency.

do you still have the stacktrace too that went to the syslog? What
codepath called _mmx_memcpy()?

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-03  6:37                                           ` Lee Revell
  2004-10-03  6:50                                             ` Lee Revell
@ 2004-10-03 20:05                                             ` Ingo Molnar
  1 sibling, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-03 20:05 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela


* Lee Revell <rlrevell@joe-job.com> wrote:

> This one was caused by amlat:
> 
> preemption latency trace v1.0.7 on 2.6.9-rc2-mm4-VP-S7
> -------------------------------------------------------
>  latency: 264 us, entries: 5 (5)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
>     -----------------
>     | task: amlat/3921, uid:1000 nice:0 policy:1 rt_prio:99
>     -----------------
>  => started at: rtc_open+0x12/0x270
>  => ended at:   rtc_open+0x13f/0x270
> =======>
> 00000001 0.000ms (+0.264ms): rtc_open (misc_open)
> 00000001 0.264ms (+0.000ms): sub_preempt_count (rtc_open)
> 00000001 0.265ms (+0.000ms): update_max_trace (check_preempt_timing)
> 00000001 0.265ms (+0.000ms): _mmx_memcpy (update_max_trace)
> 00000001 0.265ms (+0.000ms): kernel_fpu_begin (_mmx_memcpy)

weird, there's nothing in that function that should cause _any_ delay.
Is this drivers/char/rtc.c's rtc_open()? Also, how reproducible is this
delay?

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-03  2:01                                           ` Lee Revell
  2004-10-03  2:14                                             ` Lee Revell
@ 2004-10-03 20:08                                             ` Ingo Molnar
  1 sibling, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-03 20:08 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Joel White


* Lee Revell <rlrevell@joe-job.com> wrote:

> I believe we have found a bug.  A user reported massive xruns with S7,
> they turned out to be printk() overhead from tons of "using
> smp_processor_id() in preemptible code" errors.  The trace below
> repeats over and over.  Looks like raid0 is the problem.

the patch below should fix this issue - it's in rc3-mm1 already.

	Ingo


* Reuben Farrelly <reuben-lkml@reub.net> wrote:

> Since upgrading from -mm3 to -mm4, I'm now getting messages like this 
> logged every second or so:
> 
> Sep 27 18:28:06 tornado kernel: using smp_processor_id() in preemptible code: swapper/1
> Sep 27 18:28:06 tornado kernel:  [<c0104dce>] dump_stack+0x17/0x19
> Sep 27 18:28:06 tornado kernel:  [<c0117fc6>] smp_processor_id+0x80/0x86
> Sep 27 18:28:06 tornado kernel:  [<c0282bf3>] make_request+0x174/0x2e7
> Sep 27 18:28:06 tornado kernel:  [<c02073dd>] generic_make_request+0xda/0x190

this is the remove-bkl patch's debugging feature showing that there's
more preempt-unsafe disk statistics code in the RAID code.

i've attached a patch that introduces preempt and non-preempt versions
of the statistics code and updates the block code to use the appropriate
ones - does this fix all the smp_processor_id() warnings you get?

	Ingo

--- linux/drivers/block/ll_rw_blk.c.orig	
+++ linux/drivers/block/ll_rw_blk.c	
@@ -2099,13 +2099,13 @@ void drive_stat_acct(struct request *rq,
 		return;
 
 	if (rw == READ) {
-		disk_stat_add(rq->rq_disk, read_sectors, nr_sectors);
+		__disk_stat_add(rq->rq_disk, read_sectors, nr_sectors);
 		if (!new_io)
-			disk_stat_inc(rq->rq_disk, read_merges);
+			__disk_stat_inc(rq->rq_disk, read_merges);
 	} else if (rw == WRITE) {
-		disk_stat_add(rq->rq_disk, write_sectors, nr_sectors);
+		__disk_stat_add(rq->rq_disk, write_sectors, nr_sectors);
 		if (!new_io)
-			disk_stat_inc(rq->rq_disk, write_merges);
+			__disk_stat_inc(rq->rq_disk, write_merges);
 	}
 	if (new_io) {
 		disk_round_stats(rq->rq_disk);
@@ -2151,12 +2151,12 @@ void disk_round_stats(struct gendisk *di
 {
 	unsigned long now = jiffies;
 
-	disk_stat_add(disk, time_in_queue, 
+	__disk_stat_add(disk, time_in_queue, 
 			disk->in_flight * (now - disk->stamp));
 	disk->stamp = now;
 
 	if (disk->in_flight)
-		disk_stat_add(disk, io_ticks, (now - disk->stamp_idle));
+		__disk_stat_add(disk, io_ticks, (now - disk->stamp_idle));
 	disk->stamp_idle = now;
 }
 
@@ -2957,12 +2957,12 @@ void end_that_request_last(struct reques
 		unsigned long duration = jiffies - req->start_time;
 		switch (rq_data_dir(req)) {
 		    case WRITE:
-			disk_stat_inc(disk, writes);
-			disk_stat_add(disk, write_ticks, duration);
+			__disk_stat_inc(disk, writes);
+			__disk_stat_add(disk, write_ticks, duration);
 			break;
 		    case READ:
-			disk_stat_inc(disk, reads);
-			disk_stat_add(disk, read_ticks, duration);
+			__disk_stat_inc(disk, reads);
+			__disk_stat_add(disk, read_ticks, duration);
 			break;
 		}
 		disk_round_stats(disk);
--- linux/include/linux/genhd.h.orig	
+++ linux/include/linux/genhd.h	
@@ -112,13 +112,14 @@ struct gendisk {
 
 /* 
  * Macros to operate on percpu disk statistics:
- * Since writes to disk_stats are serialised through the queue_lock,
- * smp_processor_id() should be enough to get to the per_cpu versions
- * of statistics counters
+ *
+ * The __ variants should only be called in critical sections. The full
+ * variants disable/enable preemption.
  */
 #ifdef	CONFIG_SMP
-#define disk_stat_add(gendiskp, field, addnd) 	\
+#define __disk_stat_add(gendiskp, field, addnd) 	\
 	(per_cpu_ptr(gendiskp->dkstats, smp_processor_id())->field += addnd)
+
 #define disk_stat_read(gendiskp, field)					\
 ({									\
 	typeof(gendiskp->dkstats->field) res = 0;			\
@@ -142,7 +143,8 @@ static inline void disk_stat_set_all(str
 }		
 				
 #else
-#define disk_stat_add(gendiskp, field, addnd) (gendiskp->dkstats.field += addnd)
+#define __disk_stat_add(gendiskp, field, addnd) \
+				(gendiskp->dkstats.field += addnd)
 #define disk_stat_read(gendiskp, field)	(gendiskp->dkstats.field)
 
 static inline void disk_stat_set_all(struct gendisk *gendiskp, int value)	{
@@ -150,8 +152,21 @@ static inline void disk_stat_set_all(str
 }
 #endif
 
-#define disk_stat_inc(gendiskp, field) disk_stat_add(gendiskp, field, 1)
+#define disk_stat_add(gendiskp, field, addnd)			\
+	do {							\
+		preempt_disable();				\
+		__disk_stat_add(gendiskp, field, addnd);	\
+		preempt_enable();				\
+	} while (0)
+
+#define __disk_stat_dec(gendiskp, field) __disk_stat_add(gendiskp, field, -1)
 #define disk_stat_dec(gendiskp, field) disk_stat_add(gendiskp, field, -1)
+
+#define __disk_stat_inc(gendiskp, field) __disk_stat_add(gendiskp, field, 1)
+#define disk_stat_inc(gendiskp, field) disk_stat_add(gendiskp, field, 1)
+
+#define __disk_stat_sub(gendiskp, field, subnd) \
+		__disk_stat_add(gendiskp, field, -subnd)
 #define disk_stat_sub(gendiskp, field, subnd) \
 		disk_stat_add(gendiskp, field, -subnd)
 

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc3-mm1-S8
  2004-09-28  0:05                                         ` [patch] voluntary-preempt-2.6.9-rc2-mm4-S7 Ingo Molnar
                                                             ` (5 preceding siblings ...)
  2004-10-03  6:37                                           ` Lee Revell
@ 2004-10-03 21:09                                           ` Ingo Molnar
  2004-10-04 21:53                                             ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S9 Ingo Molnar
  6 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-03 21:09 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, K.R. Foley, Rui Nuno Capela


i've released the -S8 VP patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm1-S8

this iteration is mainly a merge to -rc3-mm1. The -rc3-mm1 tree now
includes the generic-irq-subsystem patch which is a prerequisite of the
threaded-irqs feature in the -VP patch. As a result of this the -VP
patch got significantly smaller, down from 224K to 89K.

also part of the patch are further refinements of the preempt-bkl
feature and a couple of bugfixes, reported for the -mm tree but not
included in -rc3-mm1 yet. (All of these were sent to Andrew too so they
should show up in -mm2.)

to build an -S8 tree from scratch the patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc3.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc3/2.6.9-rc3-mm1/2.6.9-rc3-mm1.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm1-S8

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-03 19:57                                                 ` Ingo Molnar
@ 2004-10-04  0:53                                                   ` Lee Revell
  2004-10-04 10:17                                                     ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-04  0:53 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela

On Sun, 2004-10-03 at 15:57, Ingo Molnar wrote:
> do you still have the stacktrace too that went to the syslog? What
> codepath called _mmx_memcpy()?
> 

Here is an almost identical one (it's even exactly 507 usecs!).  This
and the one I sent previously were apparently caused by switching from X
to a text console and back. 

Sep  2 16:13:49 krustophenia kernel: (events/0/3): new 507 us maximum-latency critical section.
Sep  2 16:13:49 krustophenia kernel:  => started at: <kernel_fpu_begin+0x15/0x70>
Sep  2 16:13:49 krustophenia kernel:  => ended at:   <_mmx_memcpy+0x13a/0x180>
Sep  2 16:13:49 krustophenia kernel:  [check_preempt_timing+259/464] check_preempt_timing+0x103/0x1d0
Sep  2 16:13:49 krustophenia kernel:  [_mmx_memcpy+314/384] _mmx_memcpy+0x13a/0x180
Sep  2 16:13:49 krustophenia kernel:  [sub_preempt_count+70/96] sub_preempt_count+0x46/0x60
Sep  2 16:13:49 krustophenia kernel:  [sub_preempt_count+70/96] sub_preempt_count+0x46/0x60
Sep  2 16:13:49 krustophenia kernel:  [_mmx_memcpy+314/384] _mmx_memcpy+0x13a/0x180
Sep  2 16:13:49 krustophenia kernel:  [vgacon_save_screen+120/128] vgacon_save_screen+0x78/0x80
Sep  2 16:13:49 krustophenia kernel:  [redraw_screen+411/560] redraw_screen+0x19b/0x230
Sep  2 16:13:49 krustophenia kernel:  [complete_change_console+44/224] complete_change_console+0x2c/0xe0
Sep  2 16:13:49 krustophenia kernel:  [console_callback+258/272] console_callback+0x102/0x110
Sep  2 16:13:49 krustophenia kernel:  [worker_thread+422/624] worker_thread+0x1a6/0x270
Sep  2 16:13:49 krustophenia kernel:  [console_callback+0/272] console_callback+0x0/0x110
Sep  2 16:13:49 krustophenia kernel:  [default_wake_function+0/32] default_wake_function+0x0/0x20
Sep  2 16:13:49 krustophenia kernel:  [schedule+718/1360] schedule+0x2ce/0x550
Sep  2 16:13:49 krustophenia kernel:  [default_wake_function+0/32] default_wake_function+0x0/0x20
Sep  2 16:13:49 krustophenia kernel:  [schedule+718/1360] schedule+0x2ce/0x550
Sep  2 16:13:49 krustophenia kernel:  [kthread+180/192] kthread+0xb4/0xc0
Sep  2 16:13:49 krustophenia kernel:  [worker_thread+0/624] worker_thread+0x0/0x270
Sep  2 16:13:49 krustophenia kernel:  [kthread+0/192] kthread+0x0/0xc0
Sep  2 16:13:49 krustophenia kernel:  [kernel_thread_helper+5/16] kernel_thread_helper+0x5/0x10

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-04  0:53                                                   ` Lee Revell
@ 2004-10-04 10:17                                                     ` Ingo Molnar
  2004-10-04 17:20                                                       ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-04 10:17 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela


* Lee Revell <rlrevell@joe-job.com> wrote:

> Here is an almost identical one (it's even exactly 507 usecs!).  This
> and the one I sent previously were apparently caused by switching from
> X to a text console and back. 

ah, it's the VGA console:

> Sep  2 16:13:49 krustophenia kernel:  [_mmx_memcpy+314/384] _mmx_memcpy+0x13a/0x180
> Sep  2 16:13:49 krustophenia kernel:  [vgacon_save_screen+120/128] vgacon_save_screen+0x78/0x80
> Sep  2 16:13:49 krustophenia kernel:  [redraw_screen+411/560] redraw_screen+0x19b/0x230

now i'm wondering why that's running with preemption disabled - i
thought we fixed that.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc2-mm4-S7
  2004-10-04 10:17                                                     ` Ingo Molnar
@ 2004-10-04 17:20                                                       ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-04 17:20 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, K.R. Foley, Rui Nuno Capela

On Mon, 2004-10-04 at 06:17, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > Here is an almost identical one (it's even exactly 507 usecs!).  This
> > and the one I sent previously were apparently caused by switching from
> > X to a text console and back. 
> 
> ah, it's the VGA console:
> 
> > Sep  2 16:13:49 krustophenia kernel:  [_mmx_memcpy+314/384] _mmx_memcpy+0x13a/0x180
> > Sep  2 16:13:49 krustophenia kernel:  [vgacon_save_screen+120/128] vgacon_save_screen+0x78/0x80
> > Sep  2 16:13:49 krustophenia kernel:  [redraw_screen+411/560] redraw_screen+0x19b/0x230
> 
> now i'm wondering why that's running with preemption disabled - i
> thought we fixed that.
> 

Same here.  But, here's the actual trace from S7 (that one was Q
something).  It is indeed the VGA console.

Oct  3 02:58:08 krustophenia kernel: (events/0/3): new 507 us maximum-latency critical section.
Oct  3 02:58:08 krustophenia kernel:  => started at: <kernel_fpu_begin+0x15/0x70>
Oct  3 02:58:08 krustophenia kernel:  => ended at:   <_mmx_memcpy+0x13a/0x180>
Oct  3 02:58:08 krustophenia kernel:  [check_preempt_timing+330/480] check_preempt_timing+0x14a/0x1e0
Oct  3 02:58:08 krustophenia kernel:  [common_interrupt+24/32] common_interrupt+0x18/0x20
Oct  3 02:58:08 krustophenia kernel:  [sub_preempt_count+74/112] sub_preempt_count+0x4a/0x70
Oct  3 02:58:08 krustophenia kernel:  [_mmx_memcpy+314/384] _mmx_memcpy+0x13a/0x180
Oct  3 02:58:08 krustophenia kernel:  [_mmx_memcpy+314/384] _mmx_memcpy+0x13a/0x180
Oct  3 02:58:08 krustophenia kernel:  [vgacon_save_screen+120/128] vgacon_save_screen+0x78/0x80
Oct  3 02:58:08 krustophenia kernel:  [redraw_screen+411/560] redraw_screen+0x19b/0x230
Oct  3 02:58:08 krustophenia kernel:  [complete_change_console+44/224] complete_change_console+0x2c/0xe0
Oct  3 02:58:08 krustophenia kernel:  [console_callback+258/272] console_callback+0x102/0x110
Oct  3 02:58:08 krustophenia kernel:  [worker_thread+559/1088] worker_thread+0x22f/0x440
Oct  3 02:58:08 krustophenia kernel:  [console_callback+0/272] console_callback+0x0/0x110
Oct  3 02:58:08 krustophenia kernel:  [default_wake_function+0/32] default_wake_function+0x0/0x20
Oct  3 02:58:08 krustophenia kernel:  [schedule+829/1712] schedule+0x33d/0x6b0
Oct  3 02:58:08 krustophenia kernel:  [default_wake_function+0/32] default_wake_function+0x0/0x20
Oct  3 02:58:08 krustophenia kernel:  [mcount+20/24] mcount+0x14/0x18
Oct  3 02:58:08 krustophenia kernel:  [kthread+180/192] kthread+0xb4/0xc0
Oct  3 02:58:08 krustophenia kernel:  [worker_thread+0/1088] worker_thread+0x0/0x440
Oct  3 02:58:08 krustophenia kernel:  [kthread+0/192] kthread+0x0/0xc0
Oct  3 02:58:08 krustophenia kernel:  [kernel_thread_helper+5/16] kernel_thread_helper+0x5/0x10

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-03 21:09                                           ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S8 Ingo Molnar
@ 2004-10-04 21:53                                             ` Ingo Molnar
  2004-10-05  0:31                                               ` Lee Revell
                                                                 ` (5 more replies)
  0 siblings, 6 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-04 21:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Lee Revell, K.R. Foley, Rui Nuno Capela, thewade, Florian Schmidt


i've released the -S9 VP patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9

Changes since -S8:

 - merge to -mm2. mm2 includes another latency breaker: Hugh Dickins'
   vmtruncate rework that should fix the bash-shared-mapping latency.

 - fix the x64 compilation bug reported by thewade

 - fix the menuconfig duplicate entry bug noticed by Florian Schmidt

 - (fix two preempt bugs in -mm2 - will be in -mm3)

to build an -S9 tree from scratch the patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc3.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc3/2.6.9-rc3-mm2/2.6.9-rc3-mm2.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-04 21:53                                             ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S9 Ingo Molnar
@ 2004-10-05  0:31                                               ` Lee Revell
  2004-10-05  0:56                                                 ` Florian Schmidt
  2004-10-05  0:38                                               ` Andrew Rodland
                                                                 ` (4 subsequent siblings)
  5 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-05  0:31 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, thewade, Florian Schmidt

On Mon, 2004-10-04 at 17:53, Ingo Molnar wrote:
> i've released the -S9 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9
> 

Does not compile:

rlrevell@mindpipe:~/kernel-source/linux-2.6.8$ make
  CHK     include/linux/version.h
make[1]: `arch/i386/kernel/asm-offsets.s' is up to date.
  CHK     include/linux/compile.h
  GEN_INITRAMFS_LIST usr/initramfs_list
Using shipped usr/initramfs_list
  CC      arch/i386/kernel/irq.o
arch/i386/kernel/irq.c:205: error: redefinition of 'is_irq_stack_ptr'
include/asm/hardirq.h:25: error: previous definition of 'is_irq_stack_ptr' was here
arch/i386/kernel/irq.c: In function `is_irq_stack_ptr':
arch/i386/kernel/irq.c:209: error: `hardirq_stack' undeclared (first use in this function)
arch/i386/kernel/irq.c:209: error: (Each undeclared identifier is reported only once
arch/i386/kernel/irq.c:209: error: for each function it appears in.)
arch/i386/kernel/irq.c:212: error: `softirq_stack' undeclared (first use in this function)
make[1]: *** [arch/i386/kernel/irq.o] Error 1
make: *** [arch/i386/kernel] Error 2

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-04 21:53                                             ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S9 Ingo Molnar
  2004-10-05  0:31                                               ` Lee Revell
@ 2004-10-05  0:38                                               ` Andrew Rodland
  2004-10-05  1:19                                               ` Rui Nuno Capela
                                                                 ` (3 subsequent siblings)
  5 siblings, 0 replies; 226+ messages in thread
From: Andrew Rodland @ 2004-10-05  0:38 UTC (permalink / raw)
  To: linux-kernel

Ingo Molnar wrote:

> 
> i've released the -S9 VP patch:
> 
>  
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9


The swapspace layout part of this is incompatible with swsusp, causing a
compile error and I don't understand the changes well enough to fix it.
Could you please provide a fix or at least provide a note, so that people
like me who depend on it know not use this patch?

Cheers
hobbs



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-05  0:56                                                 ` Florian Schmidt
@ 2004-10-05  0:45                                                   ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-05  0:45 UTC (permalink / raw)
  To: Florian Schmidt
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Rui Nuno Capela, thewade

On Mon, 2004-10-04 at 20:56, Florian Schmidt wrote:
> On Mon, 04 Oct 2004 20:31:58 -0400
> Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > On Mon, 2004-10-04 at 17:53, Ingo Molnar wrote:
> > > i've released the -S9 VP patch:
> > > 
> > >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9
> > > 
> > 
> > Does not compile:
> 
> The definition of hardirq_stack seem to depend on the 4k stacks option.
> with this enables it builds past irq.c.

Ah, OK.  I should have this enabled anyway, I think I disabled it way
back at Ingo's recommendation when were trying to get useful traces out
of ALSA's xrun debugging feature.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-05  0:31                                               ` Lee Revell
@ 2004-10-05  0:56                                                 ` Florian Schmidt
  2004-10-05  0:45                                                   ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Florian Schmidt @ 2004-10-05  0:56 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Rui Nuno Capela, thewade

On Mon, 04 Oct 2004 20:31:58 -0400
Lee Revell <rlrevell@joe-job.com> wrote:

> On Mon, 2004-10-04 at 17:53, Ingo Molnar wrote:
> > i've released the -S9 VP patch:
> > 
> >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9
> > 
> 
> Does not compile:

The definition of hardirq_stack seem to depend on the 4k stacks option.
with this enables it builds past irq.c.

flo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-04 21:53                                             ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S9 Ingo Molnar
  2004-10-05  0:31                                               ` Lee Revell
  2004-10-05  0:38                                               ` Andrew Rodland
@ 2004-10-05  1:19                                               ` Rui Nuno Capela
  2004-10-05  5:32                                                 ` Peter Williams
  2004-10-05  6:38                                                 ` Ingo Molnar
  2004-10-05  1:42                                               ` Florian Schmidt
                                                                 ` (2 subsequent siblings)
  5 siblings, 2 replies; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-05  1:19 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, K.R. Foley, thewade, Florian Schmidt

Ingo wrote:
>
> i've released the -S9 VP patch:
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9
>

Me again, we bad humor :(

My SMP/HT box is (again) terribly in that uglyness of being quite
unfriendly to -mm1, -mm2, and indirectly to -S8 and -S9 labeled kernels.

It works quite well with vanilla 2.6.9-rc3, though.

But very, very bad with those -mm1 or -mm2 patches. To get it straight,
almost all the time it hangs, randomly, but not as completely as to a
dramatic cold-reboot. It stalls on the the most administrative tasks. Name
one, and it stalls! I can hardly feel lucky if it sometimes reaches the
login prompt, while boot/initing.

I know you remember this story. Yeah. This seems quite similar to some of
earlier problems, but (un/fortunately) it doesn't seem related to VP at
all. Just having -mm1 or -mm2 is enough to make this machine go astray.

However, as usual, this seems to be ix86 SMP/HT specific. On my laptop, I
get to run full 2.6.9-rc3-mm2-S9 UP very happily.

Sorry if I can't get any real or useful debug data for now. The bad
behavior I'm referring to, is terribly non-deterministic, so I couldn't
get a pattern yet.

I just wanted to let you know ;)

Sorry for the bandwidth waste,

Cheers,
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-04 21:53                                             ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S9 Ingo Molnar
                                                                 ` (2 preceding siblings ...)
  2004-10-05  1:19                                               ` Rui Nuno Capela
@ 2004-10-05  1:42                                               ` Florian Schmidt
  2004-10-05  2:05                                                 ` Florian Schmidt
  2004-10-05  3:09                                                 ` Andrew Rodland
  2004-10-05  7:02                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T0 Ingo Molnar
  2004-10-05 13:47                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 Ingo Molnar
  5 siblings, 2 replies; 226+ messages in thread
From: Florian Schmidt @ 2004-10-05  1:42 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, K.R. Foley, Rui Nuno Capela, thewade

On Mon, 4 Oct 2004 23:53:15 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> 
> i've released the -S9 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9
> 

Something is fishy for me from S8 on. I justbooted into S9 and i see
many many xruns under load in jackd [as i saw in S8]. Since all my ll
settings are enabled as usual, something else must be wrong. 

I find the following very interesting:

mango:~# ps aux|grep IRQ
root        12  0.0  0.0     0    0 ?        S<   04:28   0:00 [IRQ 8]
root        14  0.0  0.0     0    0 ?        S<   04:28   0:00 [IRQ 12]
root        15  0.0  0.0     0    0 ?        S<   04:28   0:00 [IRQ 14]
root        16  0.0  0.0     0    0 ?        S<   03:17   0:00 [IRQ 15]
root        17  0.0  0.0     0    0 ?        S<   03:17   0:00 [IRQ 1]
root       314  0.0  0.0     0    0 ?        S<   03:17   0:00 [IRQ 10]
root      7983  0.6  0.0     0    0 ?        S<   03:26   0:03 [IRQ 5]
root     14617  0.0  0.0  1576  464 pts/2    R+   03:35   0:00 grep IRQ
mango:~# chrt -p 7938
sched_getscheduler: No such process
failed to get pid 7938's policy

For other irq threads i get normal values [SCHED_OTHER].

Here's the usual tweakables. I find it interesting that the preempt
timing stuff is seemingly non working, either [see bottom]. Will boot
into S8 to see if i see similar things:

-----------
-----------
Linux mango.fruits.de 2.6.9-rc3-mm2-VP-S9LT #1 Tue Oct 5 03:07:49 CEST
2004 i686 GNU/Linux-----------
/proc/interrupts:
           CPU0       
  0:    1233290          XT-PIC  timer  0/33290
  1:       4810          XT-PIC  i8042  0/4810
  2:          0          XT-PIC  cascade  0/0
  5:     863776          XT-PIC  CS46XX  0/63776
  8:          4          XT-PIC  rtc  0/4
 10:       1008          XT-PIC  eth0  0/1008
 12:      34888          XT-PIC  i8042  0/34888
 14:        927          XT-PIC  ide0  0/927
 15:      33585          XT-PIC  ide1  0/33585
NMI:          0 
ERR:          0
-----------
/proc/irq/1/i8042/threaded:1
/proc/irq/10/eth0/threaded:1
/proc/irq/12/i8042/threaded:1
/proc/irq/14/ide0/threaded:1
/proc/irq/15/ide1/threaded:1
/proc/irq/5/CS46XX/threaded:0
/proc/irq/8/rtc/threaded:0
-----------
/sys/block/hda/queue/max_sectors_kb:16
/sys/block/hdc/queue/max_sectors_kb:16
/sys/block/hdd/queue/max_sectors_kb:16
-----------
voluntary_preemption
1
kernel_preemption
1
softirq redirect
1
hardirq redirect
1
-----------
preempt_thresh
0
-----------
preempt_max_thresh
0
-----------
trace enabled
0
-----------


I also see some of these "Wait for ready failed before probe !" [in
dmesg] which have popped up somewhere along the line when VP was based
on mm [definetly in S8 and S9, dunno about earlier for sure]:

[snip]
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx SIS5513: IDE controller at PCI slot 0000:00:02.5
SIS5513: chipset revision 208
SIS5513: not 100% native mode: will probe irqs later
SIS5513: SiS735 ATA 100 (2nd gen) controller
    ide0: BM-DMA at 0xff00-0xff07, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xff08-0xff0f, BIOS settings: hdc:DMA, hdd:DMA
Probing IDE interface ide0...
hda: IC35L060AVER07-0, ATA DISK drive
requesting new irq thread for IRQ14...
elevator: using anticipatory as default io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: ST340823A, ATA DISK drive
hdd: TDK CDRW121032, ATAPI CD/DVD-ROM drive
requesting new irq thread for IRQ15...
ide1 at 0x170-0x177,0x376 on irq 15
Probing IDE interface ide2...
ide2: Wait for ready failed before probe !
Probing IDE interface ide3...
ide3: Wait for ready failed before probe !
Probing IDE interface ide4...
ide4: Wait for ready failed before probe !
Probing IDE interface ide5...
ide5: Wait for ready failed before probe !
hda: max request size: 128KiB
IRQ#14 thread started up.
hda: 120103200 sectors (61492 MB) w/1916KiB Cache, CHS=65535/16/63,
UDMA(100) hda: cache flushes not supported
 hda: hda1 hda2 hda3
hdc: max request size: 128KiB
IRQ#15 thread started up.
hdc: Host Protected Area detected.
	current capacity is 78165360 sectors (40020 MB)
	native  capacity is 78165361 sectors (40020 MB)
hdc: Host Protected Area disabled.
hdc: 78165361 sectors (40020 MB) w/1024KiB Cache, CHS=65535/16/63,
UDMA(33) hdc: cache flushes not supported
 hdc: hdc1 hdc2
hdd: ATAPI 32X CD-ROM CD-R/RW drive, 2048kB Cache, DMA
Uniform CD-ROM driver Revision: 3.20
[snip]

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-05  1:42                                               ` Florian Schmidt
@ 2004-10-05  2:05                                                 ` Florian Schmidt
  2004-10-05  3:09                                                 ` Andrew Rodland
  1 sibling, 0 replies; 226+ messages in thread
From: Florian Schmidt @ 2004-10-05  2:05 UTC (permalink / raw)
  To: Florian Schmidt
  Cc: Ingo Molnar, linux-kernel, Lee Revell, K.R. Foley,
	Rui Nuno Capela, thewade

On Tue, 5 Oct 2004 03:42:23 +0200
Florian Schmidt <mista.tapas@gmx.net> wrote:

> I find the following very interesting:
> 
> mango:~# ps aux|grep IRQ
> root        12  0.0  0.0     0    0 ?        S<   04:28   0:00 [IRQ 8]
> root        14  0.0  0.0     0    0 ?        S<   04:28   0:00 [IRQ 12]
> root        15  0.0  0.0     0    0 ?        S<   04:28   0:00 [IRQ 14]
> root        16  0.0  0.0     0    0 ?        S<   03:17   0:00 [IRQ 15]
> root        17  0.0  0.0     0    0 ?        S<   03:17   0:00 [IRQ 1]
> root       314  0.0  0.0     0    0 ?        S<   03:17   0:00 [IRQ 10]
> root      7983  0.6  0.0     0    0 ?        S<   03:26   0:03 [IRQ 5]
> root     14617  0.0  0.0  1576  464 pts/2    R+   03:35   0:00 grep IRQ
> mango:~# chrt -p 7938
> sched_getscheduler: No such process
> failed to get pid 7938's policy
> 
> For other irq threads i get normal values [SCHED_OTHER].

Hmm, this seemed to have been caused by a small program for changing the
IRQ priorities in the PIC as found here and loading the CS46XX module 
[irq 5] at a later time: 

http://roht.informatik.uni-halle.de/~ladischc/pic_priorities.html

But i'm not sure. I will do some more experimenting. The xrun and preempt 
timing issues still remain. Here's the S9 .config:

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.9-rc3-mm2-VP-S9
# Tue Oct  5 03:23:14 2004
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y

#
# General setup
#
CONFIG_LOCALVERSION="LT"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_PREEMPT_TIMING=y
CONFIG_LATENCY_TRACE=y
CONFIG_MCOUNT=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SHMEM=y
# CONFIG_TINY_SHMEM is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
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_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D 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_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=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=y
CONFIG_PREEMPT_BKL=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=y
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_TSC=y
# CONFIG_X86_MCE 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

#
# Firmware Drivers
#
# 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

#
# Performance-monitoring counters support
#
# CONFIG_PERFCTR is not set
# 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 is not set
CONFIG_ACPI_BLACKLIST_YEAR=0

#
# APM (Advanced Power Management) BIOS Support
#
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
CONFIG_APM_REAL_MODE_POWER_OFF=y

#
# 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_LEGACY_PROC is not set
CONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

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

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_DEBUG_DRIVER is not set

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

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play support
#

#
# Block devices
#
CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA 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_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
# CONFIG_CDROM_PKTCDVD is not set

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

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
CONFIG_BLK_DEV_SIS5513=y
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=m
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA 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_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR 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_QLA2XXX=m
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T 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

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

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

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=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
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set

#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
# CONFIG_IP_NF_FTP is not set
# CONFIG_IP_NF_IRC is not set
# CONFIG_IP_NF_TFTP is not set
# CONFIG_IP_NF_AMANDA is not set
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_REALM=m
# CONFIG_IP_NF_MATCH_SCTP is not set
# CONFIG_IP_NF_MATCH_COMMENT is not set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
# CONFIG_IP_NF_RAW is not set
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK 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_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_KGDBOE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
CONFIG_SIS900=m
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

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

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
CONFIG_GAMEPORT=m
CONFIG_SOUND_GAMEPORT=m
# 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_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD 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_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
# 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=y
# CONFIG_SERIAL_8250_CONSOLE is not set
CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=y
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=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_INTEL_MCH is not set
# CONFIG_AGP_NVIDIA is not set
CONFIG_AGP_SIS=m
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HANGCHECK_TIMER=m

#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_ISA=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_PROSAVAGE=m
CONFIG_I2C_SAVAGE4=m
CONFIG_SCx200_ACB=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
# CONFIG_I2C_STUB is not set
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
CONFIG_I2C_VOODOO3=m
# CONFIG_I2C_PCA_ISA is not set

#
# Hardware Sensors Chip support
#
CONFIG_I2C_SENSOR=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_SMSC47M1 is not set
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83627HF=m

#
# Other I2C Chip support
#
CONFIG_SENSORS_EEPROM=m
CONFIG_SENSORS_PCF8574=m
CONFIG_SENSORS_PCF8591=m
CONFIG_SENSORS_RTC8564=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
# CONFIG_FB is not set
CONFIG_VIDEO_SELECT=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_DEBUG=y
# 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_AC97_CODEC=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART 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_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
# CONFIG_USB is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
CONFIG_ROMFS_FS=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y

#
# Caches
#
# CONFIG_CACHEFS is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
# CONFIG_DEVPTS_FS_SECURITY is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_EXPORTFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
CONFIG_AFS_FS=m
CONFIG_RXRPC=m

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

#
# Native Language Support
#
CONFIG_NLS=y
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=y
# 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=y
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII 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=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_SMP_PROCESSOR_ID is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_4KSTACKS=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_KGDB is not set

#
# Security options
#
# CONFIG_KEYS is not set
CONFIG_SECURITY=y
# CONFIG_SECURITY_NETWORK is not set
CONFIG_SECURITY_CAPABILITIES=m
# CONFIG_SECURITY_SECLVL is not set
# CONFIG_SECURITY_SELINUX is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set

#
# Library routines
#
CONFIG_CRC_CCITT=m
CONFIG_CRC32=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_PC=y


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-05  1:42                                               ` Florian Schmidt
  2004-10-05  2:05                                                 ` Florian Schmidt
@ 2004-10-05  3:09                                                 ` Andrew Rodland
  2004-10-05 10:24                                                   ` Florian Schmidt
  1 sibling, 1 reply; 226+ messages in thread
From: Andrew Rodland @ 2004-10-05  3:09 UTC (permalink / raw)
  To: linux-kernel

Florian Schmidt wrote:

> On Mon, 4 Oct 2004 23:53:15 +0200
> Ingo Molnar <mingo@elte.hu> wrote:
> 
>> 
>> i've released the -S9 VP patch:
>> 
>>  
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9
>> 
> 
> Something is fishy for me from S8 on. I justbooted into S9 and i see
> many many xruns under load in jackd [as i saw in S8]. Since all my ll
> settings are enabled as usual, something else must be wrong.
> 
> I find the following very interesting:
> 
> mango:~# ps aux|grep IRQ
> root        12  0.0  0.0     0    0 ?        S<   04:28   0:00 [IRQ 8]
> root        14  0.0  0.0     0    0 ?        S<   04:28   0:00 [IRQ 12]
> root        15  0.0  0.0     0    0 ?        S<   04:28   0:00 [IRQ 14]
> root        16  0.0  0.0     0    0 ?        S<   03:17   0:00 [IRQ 15]
> root        17  0.0  0.0     0    0 ?        S<   03:17   0:00 [IRQ 1]
> root       314  0.0  0.0     0    0 ?        S<   03:17   0:00 [IRQ 10]
> root      7983  0.6  0.0     0    0 ?        S<   03:26   0:03 [IRQ 5]
> root     14617  0.0  0.0  1576  464 pts/2    R+   03:35   0:00 grep IRQ
> mango:~# chrt -p 7938
> sched_getscheduler: No such process
> failed to get pid 7938's policy
> 
> For other irq threads i get normal values [SCHED_OTHER].
> 

Looks like a case of minor dyslexia to me. 7983 != 7938 :)

--hobbs



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-05  1:19                                               ` Rui Nuno Capela
@ 2004-10-05  5:32                                                 ` Peter Williams
  2004-10-05  6:38                                                 ` Ingo Molnar
  1 sibling, 0 replies; 226+ messages in thread
From: Peter Williams @ 2004-10-05  5:32 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Ingo Molnar, linux-kernel, Lee Revell, K.R. Foley, thewade,
	Florian Schmidt

[-- Attachment #1: Type: text/plain, Size: 1794 bytes --]

Rui Nuno Capela wrote:
> Ingo wrote:
> 
>>i've released the -S9 VP patch:
>>http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9
>>
> 
> 
> Me again, we bad humor :(
> 
> My SMP/HT box is (again) terribly in that uglyness of being quite
> unfriendly to -mm1, -mm2, and indirectly to -S8 and -S9 labeled kernels.
> 
> It works quite well with vanilla 2.6.9-rc3, though.
> 
> But very, very bad with those -mm1 or -mm2 patches. To get it straight,
> almost all the time it hangs, randomly, but not as completely as to a
> dramatic cold-reboot. It stalls on the the most administrative tasks. Name
> one, and it stalls! I can hardly feel lucky if it sometimes reaches the
> login prompt, while boot/initing.
> 
> I know you remember this story. Yeah. This seems quite similar to some of
> earlier problems, but (un/fortunately) it doesn't seem related to VP at
> all. Just having -mm1 or -mm2 is enough to make this machine go astray.
> 
> However, as usual, this seems to be ix86 SMP/HT specific. On my laptop, I
> get to run full 2.6.9-rc3-mm2-S9 UP very happily.
> 
> Sorry if I can't get any real or useful debug data for now. The bad
> behavior I'm referring to, is terribly non-deterministic, so I couldn't
> get a pattern yet.
> 
> I just wanted to let you know ;)

This may be my fault.  I made changes in the SMH code as part of the 
ZAPHOD patch but was unable to test them on a hyperthreaded machine due 
to a lack thereof (I have one on order).  I've attached a patch that 
reverts the changes that I made.  Can you give them a try please and let 
me know if they fix your problem?

Thanks
Peter
-- 
Peter Williams                                   pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
  -- Ambrose Bierce

[-- Attachment #2: smh.patch --]
[-- Type: text/x-patch, Size: 1187 bytes --]

--- linux-2.6.9-rc3-mm2/kernel/sched.c	2004-10-05 15:17:09.157119322 +1000
+++ linux-2.6.9-rc3-mm2-mod/kernel/sched.c	2004-10-05 15:27:05.355561830 +1000
@@ -3240,18 +3240,21 @@ need_resched:
 		put_task_in_sinbin(prev);
 
 	cpu = smp_processor_id();
-	if (unlikely(needs_idle_balance(rq))) {
+	if (unlikely(!rq->nr_running)) {
 go_idle:
 		idle_balance(cpu, rq);
-		/* This code should get optimised away when CONFIG_SCHED_SMT
-		 * is not defined
-		 */
-		if (dependent_idle(rq))
+		if (!rq->nr_running) {
+			next = rq->idle;
 			wake_sleeping_dependent(cpu, rq);
+			/*
+			 * wake_sleeping_dependent() might have released
+			 * the runqueue, so break out if we got new
+			 * tasks meanwhile:
+			 */
+			if (!rq->nr_running)
+				goto switch_tasks;
+		}
 	} else {
-		/* This code should all get optimised away when CONFIG_SCHED_SMT
-		 * is not defined
-		 */
 		if (dependent_sleeper(cpu, rq)) {
 			schedstat_inc(rq, sched_goidle);
 			next = rq->idle;
@@ -3262,7 +3265,7 @@ go_idle:
 		 * lock, hence go into the idle loop if the rq went
 		 * empty meanwhile:
 		 */
-		if (unlikely(recheck_needs_idle_balance(rq)))
+		if (unlikely(!rq->nr_running))
 			goto go_idle;
 	}
 

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-05  1:19                                               ` Rui Nuno Capela
  2004-10-05  5:32                                                 ` Peter Williams
@ 2004-10-05  6:38                                                 ` Ingo Molnar
  1 sibling, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-05  6:38 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Ingo Molnar, linux-kernel, Lee Revell, K.R. Foley, thewade,
	Florian Schmidt


On Tue, 5 Oct 2004, Rui Nuno Capela wrote:

> Ingo wrote:
> >
> > i've released the -S9 VP patch:
> > http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-S9
> >
> 
> Me again, we bad humor :(
> 
> My SMP/HT box is (again) terribly in that uglyness of being quite
> unfriendly to -mm1, -mm2, and indirectly to -S8 and -S9 labeled kernels.

could you apply this patch first:

 http://redhat.com/~mingo/voluntary-preempt/zaphod-undo-2.6.9-rc3-mm2-A0

to get back to the original scheduler. Can you still see problems with
this one applied? If yes then please try to debug it a bit more.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc3-mm2-T0
  2004-10-04 21:53                                             ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S9 Ingo Molnar
                                                                 ` (3 preceding siblings ...)
  2004-10-05  1:42                                               ` Florian Schmidt
@ 2004-10-05  7:02                                               ` Ingo Molnar
  2004-10-05 11:11                                                 ` Rui Nuno Capela
  2004-10-05 11:12                                                 ` Florian Schmidt
  2004-10-05 13:47                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 Ingo Molnar
  5 siblings, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-05  7:02 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, Lee Revell, K.R. Foley, Rui Nuno Capela, Florian Schmidt


i've released the -T0 VP patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-T0

Changes since -T0:

 - fix preempt-timing facility (reported by Florian Schmidt)

 - fix !4K stack compilation breakage (reported by Lee Revell)

 - revert experimental scheduler stuff from -mm. (Rui, does this fix your 
   problems?)

note that sw-suspend and x64+LATENCY_TRACE is still broken.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm1-S9
  2004-10-05  3:09                                                 ` Andrew Rodland
@ 2004-10-05 10:24                                                   ` Florian Schmidt
  0 siblings, 0 replies; 226+ messages in thread
From: Florian Schmidt @ 2004-10-05 10:24 UTC (permalink / raw)
  To: Andrew Rodland; +Cc: linux-kernel

On Mon, 04 Oct 2004 23:09:29 -0400
Andrew Rodland <arodland@entermail.net> wrote:

> Looks like a case of minor dyslexia to me. 7983 != 7938 :)

Hah, right you are.. I shouldn't do this stuff at 3 in the 
morning. I rechecked like 20 times, just to type it in 
wrongly every time, lol.

flo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T0
  2004-10-05 11:12                                                 ` Florian Schmidt
@ 2004-10-05 11:03                                                   ` Ingo Molnar
  2004-10-05 11:14                                                     ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-05 11:03 UTC (permalink / raw)
  To: Florian Schmidt
  Cc: Ingo Molnar, linux-kernel, Lee Revell, K.R. Foley, Rui Nuno Capela


* Florian Schmidt <mista.tapas@gmx.net> wrote:

> On Tue, 5 Oct 2004 03:02:05 -0400 (EDT)
> Ingo Molnar <mingo@redhat.com> wrote:
> 
> > i've released the -T0 VP patch:
> 
> >  - fix !4K stack compilation breakage (reported by Lee Revell)
> 
> I still need to enable 4k stacks to get it to build [see error below w/o 4k
> stacks].

doh - chunk went MIA. Updated the patch, please re-download -T0.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T0
  2004-10-05  7:02                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T0 Ingo Molnar
@ 2004-10-05 11:11                                                 ` Rui Nuno Capela
  2004-10-05 11:17                                                   ` Ingo Molnar
  2004-10-05 11:12                                                 ` Florian Schmidt
  1 sibling, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-05 11:11 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Peter Williams, Lee Revell, K.R. Foley, thewade,
	Florian Schmidt

[-- Attachment #1: Type: text/plain, Size: 1162 bytes --]

Ingo Molnar wrote:
>
> i've released the -T0 VP patch:
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-T0
>
> Changes since -T0:
>
>  - fix preempt-timing facility (reported by Florian Schmidt)
>
>  - fix !4K stack compilation breakage (reported by Lee Revell)
>
>  - revert experimental scheduler stuff from -mm. (Rui, does this fix
>    your problems?)
>

Unfortunately it doesn't seem to. Attached you may find some info I could
dump out, as a snapshot of what I'm seeing on my fresh
2.6.9-rc3-mm2-T0.0smp kernel.

Things to note:

- vp_info: the general state of VP tunnables.
- dmesg: some badness occurrences, worth to look and fix.
- config: the kernel .config file.
- top-100: top output, showing that ksoftirqd/1 is consuming 99.9% of one,
but only one, of the virtual CPUs, permanentely.

The overall system behavior is hardly better than what I've complained
before: if I can get to X, the mouse(s) don't work (either USB or PS/2);
calling /sbin/modprobe is asking for trouble; most of the times, it stalls
while boot-initing. Can't hardly make anything with it :(

Sorry.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


[-- Attachment #2: dump-2.6.9-rc3-mm2-T0.0smp.tar.gz --]
[-- Type: application/x-tgz, Size: 16666 bytes --]

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T0
  2004-10-05  7:02                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T0 Ingo Molnar
  2004-10-05 11:11                                                 ` Rui Nuno Capela
@ 2004-10-05 11:12                                                 ` Florian Schmidt
  2004-10-05 11:03                                                   ` Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Florian Schmidt @ 2004-10-05 11:12 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, mingo, Lee Revell, K.R. Foley, Rui Nuno Capela

On Tue, 5 Oct 2004 03:02:05 -0400 (EDT)
Ingo Molnar <mingo@redhat.com> wrote:

> i've released the -T0 VP patch:

>  - fix !4K stack compilation breakage (reported by Lee Revell)

I still need to enable 4k stacks to get it to build [see error below w/o 4k
stacks].

But xrun hell is no more [as opposed to S8 and S9]. jackd seems to run fine
again. I suspect the reverted scheduler changes to have fixed this
[uneducated guess], since in S8 and S9 the system behaved all different
[sloppy X when compiling stuff. jackd producing xruns although everything is
setup for ll ok].

flo

  CC      arch/i386/kernel/irq.o
arch/i386/kernel/irq.c:205: error: redefinition of `is_irq_stack_ptr'
include/asm/hardirq.h:25: error: `is_irq_stack_ptr' previously defined here
arch/i386/kernel/irq.c: In function `is_irq_stack_ptr':
arch/i386/kernel/irq.c:209: error: `hardirq_stack' undeclared (first use in this function)
arch/i386/kernel/irq.c:209: error: (Each undeclared identifier is reported only once
arch/i386/kernel/irq.c:209: error: for each function it appears in.)
arch/i386/kernel/irq.c:212: error: `softirq_stack' undeclared (first use in this function)
make[1]: *** [arch/i386/kernel/irq.o] Error 1
make: *** [arch/i386/kernel] Error 2

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T0
  2004-10-05 11:03                                                   ` Ingo Molnar
@ 2004-10-05 11:14                                                     ` Rui Nuno Capela
  2004-10-05 11:16                                                       ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-05 11:14 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Florian Schmidt, Ingo Molnar, linux-kernel, Lee Revell, K.R. Foley

Ingo Molnar wrote:
>
> doh - chunk went MIA. Updated the patch, please re-download -T0.
>

Oops. Does it affect me?

I've already test-ran T0 and sent away my early results. Guess it was too
quick. Do I have to start all over?
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T0
  2004-10-05 11:14                                                     ` Rui Nuno Capela
@ 2004-10-05 11:16                                                       ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-05 11:16 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Ingo Molnar, Florian Schmidt, linux-kernel, Lee Revell, K.R. Foley


On Tue, 5 Oct 2004, Rui Nuno Capela wrote:

> Ingo Molnar wrote:
> >
> > doh - chunk went MIA. Updated the patch, please re-download -T0.
> >
> 
> Oops. Does it affect me?

no, it doesnt affect you - the bug only causes build breakage, not runtime 
breakage.

> I've already test-ran T0 and sent away my early results. Guess it was
> too quick. Do I have to start all over? [...]

no. I'll reply to your other mail soon.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T0
  2004-10-05 11:11                                                 ` Rui Nuno Capela
@ 2004-10-05 11:17                                                   ` Ingo Molnar
  2004-10-05 12:07                                                     ` Hugh Dickins
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-05 11:17 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: linux-kernel


On Tue, 5 Oct 2004, Rui Nuno Capela wrote:

> Unfortunately it doesn't seem to. Attached you may find some info I
> could dump out, as a snapshot of what I'm seeing on my fresh
> 2.6.9-rc3-mm2-T0.0smp kernel.

thanks. Do your problems go away if you turn off the SMT scheduler, or if
you disable SMP altogether on your P4-HT box?

> - top-100: top output, showing that ksoftirqd/1 is consuming 99.9% of one,
> but only one, of the virtual CPUs, permanentely.

i think this is the clearest indication that there's something is
fundamentally wrong - ksoftirqd must never use that much CPU time on an
idle system.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T0
  2004-10-05 11:17                                                   ` Ingo Molnar
@ 2004-10-05 12:07                                                     ` Hugh Dickins
  0 siblings, 0 replies; 226+ messages in thread
From: Hugh Dickins @ 2004-10-05 12:07 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Rui Nuno Capela, linux-kernel

On Tue, 5 Oct 2004, Ingo Molnar wrote:
> On Tue, 5 Oct 2004, Rui Nuno Capela wrote:
> 
> i think this is the clearest indication that there's something is
> fundamentally wrong - ksoftirqd must never use that much CPU time on an
> idle system.

Please, would you try this patch below that I posted yesterday?
At the time I thought the trylock was hardly used so not urgent.

I've just now discovered that the standard SMP PREEMPT read_lock
- as in do_wait's read_lock(&tasklist_lock) for example - uses it
via one of those dreaded expansions that grep misses:
		if (likely(_raw_##op##_trylock(lock)))

I've been suffering the occasional leftover zombie from multiple
kernel builds precisely since the preempt-smp.patch went in; been
hunting it unsuccessfully in spare moments, yesterday noticed that
bug, today realize it's probably what I've been hunting - I'm
about to start my own tests again, can't be sure until tomorrow.

Hugh

The i386 and x86_64 _raw_read_trylocks in preempt-smp.patch
are too successful: atomic_read() returns a signed integer.

Signed-off-by: Hugh Dickins <hugh@veritas.com>

--- 2.6.9-rc3-mm2/include/asm-i386/spinlock.h	2004-10-04 12:00:14.000000000 +0100
+++ linux/include/asm-i386/spinlock.h	2004-10-04 18:50:32.752864600 +0100
@@ -235,7 +235,7 @@ static inline int _raw_read_trylock(rwlo
 {
 	atomic_t *count = (atomic_t *)lock;
 	atomic_dec(count);
-	if (atomic_read(count) < RW_LOCK_BIAS)
+	if (atomic_read(count) >= 0)
 		return 1;
 	atomic_inc(count);
 	return 0;
--- 2.6.9-rc3-mm2/include/asm-x86_64/spinlock.h	2004-10-04 12:00:15.000000000 +0100
+++ linux/include/asm-x86_64/spinlock.h	2004-10-04 18:50:32.752864600 +0100
@@ -236,7 +236,7 @@ static inline int _raw_read_trylock(rwlo
 {
 	atomic_t *count = (atomic_t *)lock;
 	atomic_dec(count);
-	if (atomic_read(count) < RW_LOCK_BIAS)
+	if (atomic_read(count) >= 0)
 		return 1;
 	atomic_inc(count);
 	return 0;


^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-04 21:53                                             ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S9 Ingo Molnar
                                                                 ` (4 preceding siblings ...)
  2004-10-05  7:02                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T0 Ingo Molnar
@ 2004-10-05 13:47                                               ` Ingo Molnar
  2004-10-05 16:37                                                 ` Rui Nuno Capela
                                                                   ` (2 more replies)
  5 siblings, 3 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-05 13:47 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, K.R. Foley, Rui Nuno Capela, Florian Schmidt


i've released the -T1 VP patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-T1

Changes since -T0:

 - added the read-lock fix from Hugh that affects SMP systems. This 
   could fix Rui's problem - i've checked -T1 on a P4/HT box and saw no 
   problems, BYMMV.

 - compilation fixes (for those who downloaded T0 early)

 - small tracer improvement

to build a -T1 tree from scratch the patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc3.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc3/2.6.9-rc3-mm2/2.6.9-rc3-mm2.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-T1

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-05 13:47                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 Ingo Molnar
@ 2004-10-05 16:37                                                 ` Rui Nuno Capela
  2004-10-05 18:42                                                   ` Ingo Molnar
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
  2004-10-08 11:16                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 William Lee Irwin III
  2 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-05 16:37 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, K.R. Foley, Florian Schmidt

[-- Attachment #1: Type: text/plain, Size: 745 bytes --]

Ingo Molnar wrote:
>
> i've released the -T1 VP patch:
>
http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-T1
>
> Changes since -T0:
>
>  - added the read-lock fix from Hugh that affects SMP systems. This
>    could fix Rui's problem - i've checked -T1 on a P4/HT box and saw
>    no problems, BYMMV.
>

No go here. My milleage certainly varies :)

Still the same ugliness here with T1. As before, there goes some info
attached, which I could collect while barely up and running.

I don't wanna be a PITA, but changes are hardly noticed since T0.

Next I'll try building with CONFIG_SCHED_SMT off, and later with
CONFIG_SMP off too, to just try to make some point here.

CU
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org

[-- Attachment #2: dump-2.6.9-rc3-mm2-T1.0smp.tar.gz --]
[-- Type: application/x-tgz, Size: 16691 bytes --]

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-05 16:37                                                 ` Rui Nuno Capela
@ 2004-10-05 18:42                                                   ` Ingo Molnar
  2004-10-05 19:38                                                     ` Rui Nuno Capela
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-05 18:42 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: linux-kernel, Lee Revell, K.R. Foley, Florian Schmidt


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> Still the same ugliness here with T1. As before, there goes some info
> attached, which I could collect while barely up and running.

the dmesg info shows you had a crash early on, in khubd:

 Badness in remove_proc_entry at fs/proc/generic.c:688
  [<c018c8e8>] remove_proc_entry+0x152/0x15a
  [<f8b8e116>] uhci_hcd_init+0x116/0x133 [uhci_hcd]
  [<c0135f0e>] sys_init_module+0x1df/0x2da
  [<c01044ed>] sysenter_past_esp+0x52/0x71
 usb 3-1: new low speed USB device using address 2
 Unable to handle kernel paging request at virtual address a49c0e0c

i believe this is a crash present in -mm too. In theory such a crash
could mess up the kernel so best would be if you could try a kernel with
USB disabled? Hopefully none of your critical devices is on USB ...

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-05 18:42                                                   ` Ingo Molnar
@ 2004-10-05 19:38                                                     ` Rui Nuno Capela
  2004-10-05 19:44                                                       ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-05 19:38 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, K.R. Foley, Florian Schmidt

Ingo Molnar wrote:
>
> * Rui Nuno Capela wrote:
>
>> Still the same ugliness here with T1. As before, there goes some info
>> attached, which I could collect while barely up and running.
>
> the dmesg info shows you had a crash early on, in khubd:
>
>  Badness in remove_proc_entry at fs/proc/generic.c:688
>   [<c018c8e8>] remove_proc_entry+0x152/0x15a
>   [<f8b8e116>] uhci_hcd_init+0x116/0x133 [uhci_hcd]
>   [<c0135f0e>] sys_init_module+0x1df/0x2da
>   [<c01044ed>] sysenter_past_esp+0x52/0x71
>  usb 3-1: new low speed USB device using address 2
>  Unable to handle kernel paging request at virtual address a49c0e0c
>
> i believe this is a crash present in -mm too. In theory such a crash
> could mess up the kernel so best would be if you could try a kernel with
> USB disabled? Hopefully none of your critical devices is on USB ...
>

Yeah, I've found it the hard way :) One of my trials discovered just that,
by booting without any USB devices plugged in. It booted apparently fine.

Then, exacltly when I plug in my USB mouse (Wacom Graphire2 tablet), I
immediately get the following kernel oops (on dmesg):

IRQ#23 thread started up.
IRQ#19 thread started up.
usb 2-1: new low speed USB device using address 2
Unable to handle kernel paging request at virtual address aaf7ee8f
 printing eip:
c014284b
*pde = 00000000
Oops: 0000 [#1]
PREEMPT SMP
Modules linked in: mga ohci1394 ieee1394 ehci_hcd uhci_hcd intel_mch_agp
agpgart snd_usb_usx2y snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep
snd_intel8x0 snd_ac97_codec snd_pcm snd_timer snd soundcore snd_page_alloc
evdev sk98lin realtime commoncap w83781d i2c_sensor i2c_isa i2c_i801
i2c_core wacom usbcore subfs dm_mod
CPU:    1
EIP:    0060:[<c014284b>]    Not tainted VLI
EFLAGS: 00010093   (2.6.9-rc3-mm2-T1.0smp)
EIP is at check_poison_obj+0x98/0x1d0
eax: 0000006b   ebx: f6e8a780   ecx: f6d254b8   edx: ffffffa5
esi: 00000000   edi: aaf7ee8f   ebp: f74d3d10   esp: f74d3ce8
ds: 007b   es: 007b   ss: 0068   preempt: 00000002
Process khubd (pid: 1306, threadinfo=f74d3000 task=f7df2a40)
Stack: f6e8a780 f74d3cfc c0130ce3 0000002b c0144658 00000000 0000002c
f6e8a780
       aaf7ee8b f6e8a780 f74d3d34 c01442f5 f6e8a780 aaf7ee8b f6d254b8
f6d254b8
       f6e8a780 00000046 00000020 f74d3d58 c0144658 f6e8a780 00000020
aaf7ee8b
Call Trace:
 [<c0130ce3>] __mcount+0x1d/0x1f
 [<c0144658>] kmem_cache_alloc+0x6b/0xa5
 [<c01442f5>] cache_alloc_debugcheck_after+0x129/0x162
 [<c0144658>] kmem_cache_alloc+0x6b/0xa5
 [<f8c35ff9>] uhci_alloc_urb_priv+0x26/0x81 [uhci_hcd]
 [<f8c35ff9>] uhci_alloc_urb_priv+0x26/0x81 [uhci_hcd]
 [<f8c36fbb>] uhci_urb_enqueue+0x5d/0x2bc [uhci_hcd]
 [<c0110350>] mcount+0x14/0x18
 [<f8b424f4>] hcd_submit_urb+0x127/0x194 [usbcore]
 [<f8b42e38>] usb_submit_urb+0x1e2/0x244 [usbcore]
 [<f8b430c7>] usb_start_wait_urb+0xe/0xe2 [usbcore]
 [<f8b4310c>] usb_start_wait_urb+0x53/0xe2 [usbcore]
 [<c0130ce3>] __mcount+0x1d/0x1f
 [<c01ea660>] kref_init+0x8/0x13
 [<f8b42ba8>] usb_init_urb+0x27/0x3c [usbcore]
 [<c0110350>] mcount+0x14/0x18
 [<f8b42bef>] usb_alloc_urb+0x32/0x52 [usbcore]
 [<f8b43215>] usb_internal_control_msg+0x7a/0x83 [usbcore]
 [<f8b432aa>] usb_control_msg+0x8c/0xa0 [usbcore]
 [<f8b3fe23>] hub_set_address+0x6d/0x90 [usbcore]
 [<f8b3fff7>] hub_port_init+0x1b1/0x39a [usbcore]
 [<f8b404d9>] hub_port_connect_change+0xfe/0x43a [usbcore]
 [<f8b409d3>] hub_events+0x1be/0x395 [usbcore]
 [<f8b40be1>] hub_thread+0x37/0x109 [usbcore]
 [<c0130845>] autoremove_wake_function+0x0/0x50
 [<c0104416>] ret_from_fork+0x6/0x14
 [<c0130845>] autoremove_wake_function+0x0/0x50
 [<f8b40baa>] hub_thread+0x0/0x109 [usbcore]
 [<c0102601>] kernel_thread_helper+0x5/0xb
Code: 89 44 24 08 e8 09 fe ff ff 83 45 ec 01 83 7d ec 05 7f 5b 83 c6 01 3b
75 f0 7d 53 3b 75 e4 b8 6b 00 00 00 ba a5 ff ff ff 0f 44 c2 <38> 04 3e 2e
74 e2 8b 45 ec 85 c0 75 a0 8b 55 f0 89 7c 24 04 c7
 <6>note: khubd[1306] exited with preempt_count 1


Guess what? It's right after this crash that ksoftirqd/1 pulls up to
99.99%CPU#1 and stays still on that figure, forever. Of course, as Ingo
noted, this was happening behind the scenes every time I was boot/initing.

OTOH, I've tested T1 with CONFIG_SCHED_SMT and/or CONFIG_SMP not set, and
got similar crashes too. So this seems to be some nasty bug introduced by
-mm{1,2}, not by VP on SMP/SMT.

Yes, I do have some critical USB devices around here. One is that wacom
tablet (mouse) and the other is a tascam us-224 audio/midi control surface
that a love very much :)

Don't know if this makes me feeling better, doh.

Cheers.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-05 19:38                                                     ` Rui Nuno Capela
@ 2004-10-05 19:44                                                       ` Ingo Molnar
  2004-10-05 20:01                                                         ` Rui Nuno Capela
  2004-10-06  0:12                                                         ` Lee Revell
  0 siblings, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-05 19:44 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: linux-kernel, Lee Revell, K.R. Foley, Florian Schmidt


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> OTOH, I've tested T1 with CONFIG_SCHED_SMT and/or CONFIG_SMP not set,
> and got similar crashes too. So this seems to be some nasty bug
> introduced by -mm{1,2}, not by VP on SMP/SMT.
> 
> Yes, I do have some critical USB devices around here. One is that
> wacom tablet (mouse) and the other is a tascam us-224 audio/midi
> control surface that a love very much :)
> 
> Don't know if this makes me feeling better, doh.

i believe Andrew said that these USB problems should be fixed in the 
next -mm iteration.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-05 19:44                                                       ` Ingo Molnar
@ 2004-10-05 20:01                                                         ` Rui Nuno Capela
  2004-10-06  0:12                                                         ` Lee Revell
  1 sibling, 0 replies; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-05 20:01 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, K.R. Foley, Florian Schmidt

Ingo Molnar wrote:
>
> * Rui Nuno Capela wrote:
>
>> OTOH, I've tested T1 with CONFIG_SCHED_SMT and/or CONFIG_SMP not set,
>> and got similar crashes too. So this seems to be some nasty bug
>> introduced by -mm{1,2}, not by VP on SMP/SMT.
>>
>> Yes, I do have some critical USB devices around here. One is that
>> wacom tablet (mouse) and the other is a tascam us-224 audio/midi
>> control surface that a love very much :)
>>
>> Don't know if this makes me feeling better, doh.
>
> i believe Andrew said that these USB problems should be fixed in the
> next -mm iteration.
>

Oh yes, I really do hope so :)

Meanwhile, I'm stuck with 2.6.9-rc2-mm4-S7 (SMP), but happy.

Strange thing is, that on my laptop, 2.6.9-rc3-mm2-S9 (UP) is doing just
fine. Guess that ohci_hcd now makes the difference here, against the
former which makes uhci_hcd bad behaved atm.

Thanks Ingo.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-05 19:44                                                       ` Ingo Molnar
  2004-10-05 20:01                                                         ` Rui Nuno Capela
@ 2004-10-06  0:12                                                         ` Lee Revell
  2004-10-06  7:51                                                           ` Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-06  0:12 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Rui Nuno Capela, linux-kernel, K.R. Foley, Florian Schmidt

On Tue, 2004-10-05 at 15:44, Ingo Molnar wrote:
> * Rui Nuno Capela <rncbc@rncbc.org> wrote:
> 
> > OTOH, I've tested T1 with CONFIG_SCHED_SMT and/or CONFIG_SMP not set,
> > and got similar crashes too. So this seems to be some nasty bug
> > introduced by -mm{1,2}, not by VP on SMP/SMT.
> > 
> > Yes, I do have some critical USB devices around here. One is that
> > wacom tablet (mouse) and the other is a tascam us-224 audio/midi
> > control surface that a love very much :)
> > 
> > Don't know if this makes me feeling better, doh.
> 
> i believe Andrew said that these USB problems should be fixed in the 
> next -mm iteration.
> 

FWIW, this one does not work for me either, I get a USB-related Oops on
boot.

Lee 


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-06  0:12                                                         ` Lee Revell
@ 2004-10-06  7:51                                                           ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-06  7:51 UTC (permalink / raw)
  To: Lee Revell; +Cc: Rui Nuno Capela, linux-kernel, K.R. Foley, Florian Schmidt


* Lee Revell <rlrevell@joe-job.com> wrote:

> > i believe Andrew said that these USB problems should be fixed in the 
> > next -mm iteration.
> > 
> 
> FWIW, this one does not work for me either, I get a USB-related Oops
> on boot.

by next -mm iteration i meant -rc3-mm3, which is not released yet.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-05 13:47                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 Ingo Molnar
  2004-10-05 16:37                                                 ` Rui Nuno Capela
@ 2004-10-07 10:52                                                 ` Ingo Molnar
       [not found]                                                   ` <20041007134116.3e53b239.h.mth@web.de>
                                                                     ` (11 more replies)
  2004-10-08 11:16                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 William Lee Irwin III
  2 siblings, 12 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-07 10:52 UTC (permalink / raw)
  To: linux-kernel
  Cc: Lee Revell, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano


i've released the -T3 VP patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3

Changes since -T1 (-T2 was not announced):

 - rebased to -rc3-mm3. This should fix the build problems and further 
   shrinks the -VP patch. Also, people who had USB problems please
   re-test -T3 as -mm3 is supposed to have much of those problems fixed.
   Also, the dvb-bt8xx.c build problem should be fixed in -mm3 too, plus
   a number of smp_processor_id() warnings were debugged and fixed as
   well.

 - fixed SWSUSPEND compilation. Could someone who uses swsuspend check
   whether sw-suspension works fine?

 - improved CONFIG_DEBUG_PREEMPT - this could help debug any potentially
   remaining unbalanced preemption counts that were reported. (but
   the fixes in -mm3 could fix them as well.)

to build a -T3 tree from scratch the patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc3.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc3/2.6.9-rc3-mm3/2.6.9-rc3-mm3.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
       [not found]                                                   ` <20041007134116.3e53b239.h.mth@web.de>
@ 2004-10-07 11:44                                                     ` Ingo Molnar
  2004-10-07 12:08                                                       ` Hanno Meyer-Thurow
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-07 11:44 UTC (permalink / raw)
  To: Hanno Meyer-Thurow; +Cc: linux-kernel


* Hanno Meyer-Thurow <h.mth@web.de> wrote:

> > i've released the -T3 VP patch:
> > 
> >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> 
> i get this on compile:
> 
> init/built-in.o(.text+0x18b): In function `rest_init':
> : undefined reference to `sub_preempt_count'

ok, this happens if PREEMPT_TIMING is not enabled. I've re-uploaded the
new -T3 patch, please re-download it.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 11:44                                                     ` Ingo Molnar
@ 2004-10-07 12:08                                                       ` Hanno Meyer-Thurow
  0 siblings, 0 replies; 226+ messages in thread
From: Hanno Meyer-Thurow @ 2004-10-07 12:08 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel

On Thu, 7 Oct 2004 13:44:34 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> ok, this happens if PREEMPT_TIMING is not enabled. I've re-uploaded the
> new -T3 patch, please re-download it.
> 
> 	Ingo

great! it works, thanks :)

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
       [not found]                                                   ` <20041007134116.3e53b239.h.mth@web.de>
@ 2004-10-07 12:16                                                   ` Rui Nuno Capela
  2004-10-07 13:53                                                   ` Rui Nuno Capela
                                                                     ` (9 subsequent siblings)
  11 siblings, 0 replies; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-07 12:16 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, K.R. Foley, Florian Schmidt,
	mark_h_johnson, Fernando Pablo Lopez-Lezcano

Hi Ingo,
>
> i've released the -T3 VP patch:
>
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
>

Didn't try this yet on my desktop (where those USB troubles roared), but
on my laptop there's already a showstopper with while trying to start
beloved jackd -R:

---
Unable to handle kernel paging request at virtual address 00010024
 printing eip:
c011995f
*pde = 00000000
Oops: 0002 [#1]
PREEMPT
Modules linked in: realtime commoncap snd_seq_oss snd_seq_midi_event
snd_seq snd_pcm_oss snd_mixer_oss snd_usb_usx2y snd_usb_lib snd_rawmidi
snd_seq_device snd_hwdep snd_ali5451 snd_ac97_codec snd_pcm snd_timer
snd_page_alloc snd soundcore prism2_cs p80211 ds yenta_socket pcmcia_core
natsemi crc32 ohci1394 ieee1394 loop subfs evdev ohci_hcd usbcore thermal
processor fan button battery ac
CPU:    0
EIP:    0060:[<c011995f>]    Not tainted VLI
EFLAGS: 00010086   (2.6.9-rc3-mm3-T3.0)
EIP is at profile_hit+0x2f/0x33
eax: 00010024   ebx: de1f8510   ecx: 00000000   edx: 00000000
esi: 00000001   edi: ffffffea   ebp: db32ef88   esp: db32ef88
ds: 007b   es: 007b   ss: 0068   preempt: 00000003
Process jackd (pid: 6519, threadinfo=db32e000 task=dec4fa00)
Stack: db32efbc c0115431 00000002 c0104231 00000004 c0398460 c0102d2f
007d0f00
       00000046 0000001e 00001979 b75a1bb0 b7fa5a4c db32e000 c0104231
00001979
       00000001 b75a1dac b75a1bb0 b7fa5a4c bfffb9b8 0000009c 0000007b
0000007b
Call Trace:
 [<c0115431>] setscheduler+0xc4/0x254
 [<c0104231>] sysenter_past_esp+0x52/0x71
 [<c0102d2f>] sys_clone+0x40/0x42
 [<c0104231>] sysenter_past_esp+0x52/0x71
Code: b8 60 ff ff 8b 0d ec 16 3a c0 8b 15 e8 16 3a c0 8b 45 0c 83 ea 01 2d
28 02 10 c0 d3 e8 39 c2 0f 46 c2 8b 15 e4 16 3a c0 8d 04 82 <ff> 00 5d c3
55 89 e5 e8 85 60 ff ff b8 da ff ff ff 5d c3 55 89
 <6>note: jackd[6519] exited with preempt_count 2
Debug: sleeping function called from invalid context jackd(6519) at
kernel/fork.c:421
in_atomic():1, irqs_disabled():0
 [<c0116385>] __might_sleep+0xb5/0xc5
 [<c011921c>] vprintk+0x135/0x182
 [<c0116927>] mm_release+0x72/0xcf
 [<c01190e5>] printk+0x1d/0x1f
 [<c011b3a6>] do_exit+0x85/0x506
 [<c0112f0e>] do_page_fault+0x0/0x67e
 [<c0105539>] do_divide_error+0x0/0x13a
 [<c0112f0e>] do_page_fault+0x0/0x67e
 [<c01190e5>] printk+0x1d/0x1f
 [<c01133a7>] do_page_fault+0x499/0x67e
 [<c01c54dd>] __copy_from_user_ll+0x11/0x76
 [<c012efbc>] check_preempt_timing+0x18f/0x1fb
 [<c012f1ce>] sub_preempt_count+0x5c/0x8b
 [<c0117869>] copy_process+0x610/0xcfe
 [<c010eca6>] sched_clock+0x14/0x8d
 [<c012f1ce>] sub_preempt_count+0x5c/0x8b
 [<c01146c3>] wake_up_new_task+0x142/0x190
 [<c012efbc>] check_preempt_timing+0x18f/0x1fb
 [<c012f1ce>] sub_preempt_count+0x5c/0x8b
 [<c01146c3>] wake_up_new_task+0x142/0x190
 [<c0117869>] copy_process+0x610/0xcfe
 [<c0117869>] copy_process+0x610/0xcfe
 [<c01146c3>] wake_up_new_task+0x142/0x190
 [<c01146c3>] wake_up_new_task+0x142/0x190
 [<c0112f0e>] do_page_fault+0x0/0x67e
 [<c0104c8d>] error_code+0x2d/0x38
 [<c011995f>] profile_hit+0x2f/0x33
 [<c0115431>] setscheduler+0xc4/0x254
 [<c0104231>] sysenter_past_esp+0x52/0x71
 [<c0102d2f>] sys_clone+0x40/0x42
 [<c0104231>] sysenter_past_esp+0x52/0x71
scheduling while atomic: jackd/0x04000002/6519
 [<c02d21cc>] schedule+0x554/0x5f5
 [<c02d27f4>] cond_resched+0x5f/0x7f
 [<c011692c>] mm_release+0x77/0xcf
 [<c01190e5>] printk+0x1d/0x1f
 [<c011b3a6>] do_exit+0x85/0x506
 [<c0112f0e>] do_page_fault+0x0/0x67e
 [<c0105539>] do_divide_error+0x0/0x13a
 [<c0112f0e>] do_page_fault+0x0/0x67e
 [<c01190e5>] printk+0x1d/0x1f
 [<c01133a7>] do_page_fault+0x499/0x67e
 [<c01c54dd>] __copy_from_user_ll+0x11/0x76
 [<c012efbc>] check_preempt_timing+0x18f/0x1fb
 [<c012f1ce>] sub_preempt_count+0x5c/0x8b
 [<c0117869>] copy_process+0x610/0xcfe
 [<c010eca6>] sched_clock+0x14/0x8d
 [<c012f1ce>] sub_preempt_count+0x5c/0x8b
 [<c01146c3>] wake_up_new_task+0x142/0x190
 [<c012efbc>] check_preempt_timing+0x18f/0x1fb
 [<c012f1ce>] sub_preempt_count+0x5c/0x8b
 [<c01146c3>] wake_up_new_task+0x142/0x190
 [<c0117869>] copy_process+0x610/0xcfe
 [<c0117869>] copy_process+0x610/0xcfe
 [<c01146c3>] wake_up_new_task+0x142/0x190
 [<c01146c3>] wake_up_new_task+0x142/0x190
 [<c0112f0e>] do_page_fault+0x0/0x67e
 [<c0104c8d>] error_code+0x2d/0x38
 [<c011995f>] profile_hit+0x2f/0x33
 [<c0115431>] setscheduler+0xc4/0x254
 [<c0104231>] sysenter_past_esp+0x52/0x71
 [<c0102d2f>] sys_clone+0x40/0x42
 [<c0104231>] sysenter_past_esp+0x52/0x71
---

This jackd crash seems to show up due to CONFIG_DEBUG_PREEMPT being set
on, but not sure yet.

CU
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org





^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
       [not found]                                                   ` <20041007134116.3e53b239.h.mth@web.de>
  2004-10-07 12:16                                                   ` Rui Nuno Capela
@ 2004-10-07 13:53                                                   ` Rui Nuno Capela
  2004-10-07 14:13                                                     ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
  2004-10-07 23:26                                                     ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Rui Nuno Capela
  2004-10-07 17:55                                                   ` K.R. Foley
                                                                     ` (8 subsequent siblings)
  11 siblings, 2 replies; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-07 13:53 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, K.R. Foley, Florian Schmidt,
	mark_h_johnson, Fernando Pablo Lopez-Lezcano

>
> please re-download it, this is another bug i've fixed in the re-uploaded
> version. Does the new patch work?
>

OK. Now it works fine. Thanks Ingo.

Maybe I'm just a plain idiot, but wouldn't it be welcome to add another
dot number or whatever to the VP filename label? IMHO that should clear
things of what actual patch release are we really applying.

The crash with jackd wasn't the only one, some other sound apps also failed
with similar kernel oopses dumps.

And, just out of curiosity, I've also tested "vanilla" 2.6.9-rc3-mm3 and
it looks like suffering from the same illness. So this has to be yet
another "feature" of the -mm line ;)

I'm glad this time VP came to the rescue :)

Take care.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 13:53                                                   ` Rui Nuno Capela
@ 2004-10-07 14:13                                                     ` Con Kolivas
  2004-10-07 23:26                                                     ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Rui Nuno Capela
  1 sibling, 0 replies; 226+ messages in thread
From: Con Kolivas @ 2004-10-07 14:13 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Ingo Molnar, linux-kernel, Lee Revell, K.R. Foley,
	Florian Schmidt, mark_h_johnson, Fernando Pablo Lopez-Lezcano

Rui Nuno Capela writes:

>>
>> please re-download it, this is another bug i've fixed in the re-uploaded
>> version. Does the new patch work?
>>
> 
> OK. Now it works fine. Thanks Ingo.
> 
> Maybe I'm just a plain idiot, but wouldn't it be welcome to add another
> dot number or whatever to the VP filename label? IMHO that should clear
> things of what actual patch release are we really applying.
> 
> The crash with jackd wasn't the only one, some other sound apps also failed
> with similar kernel oopses dumps.
> 
> And, just out of curiosity, I've also tested "vanilla" 2.6.9-rc3-mm3 and
> it looks like suffering from the same illness. So this has to be yet
> another "feature" of the -mm line ;)

Known issue;

Follow this advice:
http://marc.theaimsgroup.com/?l=linux-kernel&m=109714329614794&w=2

Con


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
                                                                     ` (2 preceding siblings ...)
  2004-10-07 13:53                                                   ` Rui Nuno Capela
@ 2004-10-07 17:55                                                   ` K.R. Foley
  2004-10-07 20:29                                                     ` K.R. Foley
  2004-10-08 21:14                                                   ` Lee Revell
                                                                     ` (7 subsequent siblings)
  11 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-10-07 17:55 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

Ingo Molnar wrote:
> i've released the -T3 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> 

For me, this one wants to panic on boot when trying to find the root 
filesystem. Acts like either the aic7xxx module is missing (which I 
don't think is the case) or hosed, or it's having trouble with the label 
for the root partition (Fedora system). Will investigate further when I 
get home tonight, unless something jumps out at anyone.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 17:55                                                   ` K.R. Foley
@ 2004-10-07 20:29                                                     ` K.R. Foley
  2004-10-07 21:55                                                       ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-10-07 20:29 UTC (permalink / raw)
  To: K.R. Foley
  Cc: Ingo Molnar, linux-kernel, Lee Revell, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

K.R. Foley wrote:
> Ingo Molnar wrote:
> 
>> i've released the -T3 VP patch:
>>
>>   
>> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3 
>>
>>
> 
> For me, this one wants to panic on boot when trying to find the root 
> filesystem. Acts like either the aic7xxx module is missing (which I 
> don't think is the case) or hosed, or it's having trouble with the label 
> for the root partition (Fedora system). Will investigate further when I 
> get home tonight, unless something jumps out at anyone.
> 
> kr

For clarification: This appears to be a problem in 2.6.9-rc3-mm3 also.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 20:29                                                     ` K.R. Foley
@ 2004-10-07 21:55                                                       ` Ingo Molnar
  2004-10-08  1:41                                                         ` K.R. Foley
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-07 21:55 UTC (permalink / raw)
  To: K.R. Foley
  Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano


* K.R. Foley <kr@cybsft.com> wrote:

> >For me, this one wants to panic on boot when trying to find the root 
> >filesystem. Acts like either the aic7xxx module is missing (which I 
> >don't think is the case) or hosed, or it's having trouble with the label 
> >for the root partition (Fedora system). Will investigate further when I 
> >get home tonight, unless something jumps out at anyone.
> >
> >kr
> 
> For clarification: This appears to be a problem in 2.6.9-rc3-mm3 also.

try root=/dev/sda3 (or whereever your root fs is) instead of
root=LABEL=/, in /etc/grub.conf.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 13:53                                                   ` Rui Nuno Capela
  2004-10-07 14:13                                                     ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
@ 2004-10-07 23:26                                                     ` Rui Nuno Capela
  2004-10-08  5:36                                                       ` Lee Revell
  1 sibling, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-07 23:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, K.R. Foley, Florian Schmidt,
	mark_h_johnson, Fernando Pablo Lopez-Lezcano

Ingo Molnar wrote:
>
>>
>> i've released the -T3 VP patch:
>>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
>>
>

OK. Just to let you know, both of my personal machines are now running on
bleeding-edge 2.6.9-rc3-mm3-T3, and very happily may I assure :)

- my laptop, Mandrake 10.1c: P4@2.5GHz UP
- my desktop, SUSE 9.1 Pro: P4@2.8GHz HT/SMP

USB is fine and so is jackd, only to mention my recently known annoyances.

Even my Wacom Graphire USB is working without anything else but the kernel
supplied stuff. Most of the previous kernel installs I had to pullover
from linuxwacom.sf.net the mousedev, evdev and wacom modules, just to get
this tablet working straight on X, but now it seems pretty native :)

Good times are we living, eh?

Take care.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 21:55                                                       ` Ingo Molnar
@ 2004-10-08  1:41                                                         ` K.R. Foley
  2004-10-08  7:02                                                           ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-10-08  1:41 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

Ingo Molnar wrote:
> * K.R. Foley <kr@cybsft.com> wrote:
> 
> 
>>>For me, this one wants to panic on boot when trying to find the root 
>>>filesystem. Acts like either the aic7xxx module is missing (which I 
>>>don't think is the case) or hosed, or it's having trouble with the label 
>>>for the root partition (Fedora system). Will investigate further when I 
>>>get home tonight, unless something jumps out at anyone.
>>>
>>>kr
>>
>>For clarification: This appears to be a problem in 2.6.9-rc3-mm3 also.
> 
> 
> try root=/dev/sda3 (or whereever your root fs is) instead of
> root=LABEL=/, in /etc/grub.conf.
> 
> 	Ingo
> 

Thanks. Tried that just to be sure. However, I don't seem to be the only 
one having this problem with aic7xxx.

kr

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 23:26                                                     ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Rui Nuno Capela
@ 2004-10-08  5:36                                                       ` Lee Revell
  2004-10-08  6:49                                                         ` Con Kolivas
  2004-10-08  7:06                                                         ` Ingo Molnar
  0 siblings, 2 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-08  5:36 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Florian Schmidt,
	mark_h_johnson, Fernando Pablo Lopez-Lezcano

On Thu, 2004-10-07 at 19:26, Rui Nuno Capela wrote:
> Ingo Molnar wrote:
> >
> >>
> >> i've released the -T3 VP patch:
> >>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> >>
> >
> 
> OK. Just to let you know, both of my personal machines are now running on
> bleeding-edge 2.6.9-rc3-mm3-T3, and very happily may I assure :)

This actually feels a _lot_ snappier than mm2, which seemed prone to
weird stalls.  I don't have any numbers to back this up yet.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-08  5:36                                                       ` Lee Revell
@ 2004-10-08  6:49                                                         ` Con Kolivas
  2004-10-08 18:05                                                           ` Lee Revell
  2004-10-08  7:06                                                         ` Ingo Molnar
  1 sibling, 1 reply; 226+ messages in thread
From: Con Kolivas @ 2004-10-08  6:49 UTC (permalink / raw)
  To: Lee Revell
  Cc: Rui Nuno Capela, Ingo Molnar, linux-kernel, K.R. Foley,
	Florian Schmidt, mark_h_johnson, Fernando Pablo Lopez-Lezcano

Lee Revell wrote:
> On Thu, 2004-10-07 at 19:26, Rui Nuno Capela wrote:
> 
>>Ingo Molnar wrote:
>>
>>>>i've released the -T3 VP patch:
>>>>  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
>>>>
>>>
>>OK. Just to let you know, both of my personal machines are now running on
>>bleeding-edge 2.6.9-rc3-mm3-T3, and very happily may I assure :)
> 
> 
> This actually feels a _lot_ snappier than mm2, which seemed prone to
> weird stalls.  I don't have any numbers to back this up yet.

mm2 had a completely different cpu scheduler so no meaningful comparison 
can be made. Try comparing to mm3 vanilla.

Cheers,
Con

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-08  1:41                                                         ` K.R. Foley
@ 2004-10-08  7:02                                                           ` Ingo Molnar
  2004-10-08 14:03                                                             ` K.R. Foley
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-08  7:02 UTC (permalink / raw)
  To: K.R. Foley
  Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano


* K.R. Foley <kr@cybsft.com> wrote:

> Ingo Molnar wrote:
> >* K.R. Foley <kr@cybsft.com> wrote:
> >
> >
> >>>For me, this one wants to panic on boot when trying to find the root 
> >>>filesystem. Acts like either the aic7xxx module is missing (which I 
> >>>don't think is the case) or hosed, or it's having trouble with the label 
> >>>for the root partition (Fedora system). Will investigate further when I 
> >>>get home tonight, unless something jumps out at anyone.
> >>>
> >>>kr
> >>
> >>For clarification: This appears to be a problem in 2.6.9-rc3-mm3 also.
> >
> >
> >try root=/dev/sda3 (or whereever your root fs is) instead of
> >root=LABEL=/, in /etc/grub.conf.
> >
> >	Ingo
> >
> 
> Thanks. Tried that just to be sure. However, I don't seem to be the
> only one having this problem with aic7xxx.

could you send me the following info:

  - full log of a failed boot
  - full log of a successful boot
  - the output of 'mount'

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-08  5:36                                                       ` Lee Revell
  2004-10-08  6:49                                                         ` Con Kolivas
@ 2004-10-08  7:06                                                         ` Ingo Molnar
  2004-10-08  7:36                                                           ` Peter Williams
  1 sibling, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-08  7:06 UTC (permalink / raw)
  To: Lee Revell
  Cc: Rui Nuno Capela, linux-kernel, K.R. Foley, Florian Schmidt,
	mark_h_johnson, Fernando Pablo Lopez-Lezcano

* Lee Revell <rlrevell@joe-job.com> wrote:

> On Thu, 2004-10-07 at 19:26, Rui Nuno Capela wrote:
> > Ingo Molnar wrote:
> > >
> > >>
> > >> i've released the -T3 VP patch:
> > >>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> > >>
> > >
> > 
> > OK. Just to let you know, both of my personal machines are now running on
> > bleeding-edge 2.6.9-rc3-mm3-T3, and very happily may I assure :)
> 
> This actually feels a _lot_ snappier than mm2, which seemed prone to
> weird stalls.  I don't have any numbers to back this up yet.

yeah, -mm is back to the development branch of the stock scheduler. 
(i.e. the scheduler changes destined for 2.6.10.)

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-08  7:06                                                         ` Ingo Molnar
@ 2004-10-08  7:36                                                           ` Peter Williams
  2004-10-08 17:27                                                             ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Peter Williams @ 2004-10-08  7:36 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Lee Revell, Rui Nuno Capela, linux-kernel, K.R. Foley,
	Florian Schmidt, mark_h_johnson, Fernando Pablo Lopez-Lezcano

Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> 
>>On Thu, 2004-10-07 at 19:26, Rui Nuno Capela wrote:
>>
>>>Ingo Molnar wrote:
>>>
>>>>>i've released the -T3 VP patch:
>>>>>  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
>>>>>
>>>>
>>>OK. Just to let you know, both of my personal machines are now running on
>>>bleeding-edge 2.6.9-rc3-mm3-T3, and very happily may I assure :)
>>
>>This actually feels a _lot_ snappier than mm2, which seemed prone to
>>weird stalls.  I don't have any numbers to back this up yet.
> 
> 
> yeah, -mm is back to the development branch of the stock scheduler. 
> (i.e. the scheduler changes destined for 2.6.10.)

It's also got a fix for the cache hot timing bug which was causing havoc 
with the load balancer.

Peter
-- 
Peter Williams                                   pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
  -- Ambrose Bierce

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-05 13:47                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 Ingo Molnar
  2004-10-05 16:37                                                 ` Rui Nuno Capela
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
@ 2004-10-08 11:16                                                 ` William Lee Irwin III
  2 siblings, 0 replies; 226+ messages in thread
From: William Lee Irwin III @ 2004-10-08 11:16 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, K.R. Foley, Rui Nuno Capela, Florian Schmidt

On Tue, Oct 05, 2004 at 03:47:07PM +0200, Ingo Molnar wrote:
> i've released the -T1 VP patch:
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-T1
> Changes since -T0:
>  - added the read-lock fix from Hugh that affects SMP systems. This 
>    could fix Rui's problem - i've checked -T1 on a P4/HT box and saw no 
>    problems, BYMMV.
>  - compilation fixes (for those who downloaded T0 early)
>  - small tracer improvement
> to build a -T1 tree from scratch the patching order is:
>    http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
>  + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc3.bz2
>  + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc3/2.6.9-rc3-mm2/2.6.9-rc3-mm2.bz2
>  + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm2-T1

The version numbers are up to Chebyshev polynomials. Now I have to try it.


-- wli

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-08  7:02                                                           ` Ingo Molnar
@ 2004-10-08 14:03                                                             ` K.R. Foley
  2004-10-08 14:28                                                               ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: K.R. Foley @ 2004-10-08 14:03 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

[-- Attachment #1: Type: text/plain, Size: 2152 bytes --]

Ingo Molnar wrote:
> * K.R. Foley <kr@cybsft.com> wrote:
> 
> 
>>Ingo Molnar wrote:
>>
>>>* K.R. Foley <kr@cybsft.com> wrote:
>>>
>>>
>>>
>>>>>For me, this one wants to panic on boot when trying to find the root 
>>>>>filesystem. Acts like either the aic7xxx module is missing (which I 
>>>>>don't think is the case) or hosed, or it's having trouble with the label 
>>>>>for the root partition (Fedora system). Will investigate further when I 
>>>>>get home tonight, unless something jumps out at anyone.
>>>>>
>>>>>kr
>>>>
>>>>For clarification: This appears to be a problem in 2.6.9-rc3-mm3 also.
>>>
>>>
>>>try root=/dev/sda3 (or whereever your root fs is) instead of
>>>root=LABEL=/, in /etc/grub.conf.
>>>
>>>	Ingo
>>>
>>
>>Thanks. Tried that just to be sure. However, I don't seem to be the
>>only one having this problem with aic7xxx.
> 
> 

Ingo,

First let me say that, in case you haven't been following the other 
thread about this "2.6.9-rc3-mm3 fails to detect aic7xxx", I resolved 
this by backing out the bk-scsi.patch and bk-scsi-target.patch. Without 
those everything works fine.

> could you send me the following info:
> 
>   - full log of a failed boot

I would like to be able to be able to send you this, but it doesn't get 
to the point of logging. It dies trying to find the / device. On the 
screen it displays the parameters for the chosen option in grub.conf, 
says its uncompressing, then displays the Nash version info, then 
displays a panic message about not finding the root device. Something on 
the order of:

Kernel panic - not syncing: VFS: Unable to mount root fs on 
unknown-block(0,0)

Do you think that I would actually get to see more info out of this if I 
connect a serial console?

>   - full log of a successful boot

Attached.

>   - the output of 'mount'

[root@porky root]# mount
/dev/sda2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
/dev/sdb1 on /proj1 type ext3 (rw)
none on /dev/shm type tmpfs (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

> 
> 	Ingo
> 

thanks,

kr


[-- Attachment #2: bootlog.ok --]
[-- Type: text/plain, Size: 23743 bytes --]

Oct  8 06:48:42 porky syslogd 1.4.1: restart.
Oct  8 06:48:42 porky syslog: syslogd startup succeeded
Oct  8 06:48:42 porky syslog: klogd startup succeeded
Oct  8 06:48:42 porky kernel: klogd 1.4.1, log source = /proc/kmsg started.
Oct  8 06:48:42 porky kernel: Linux version 2.6.9-rc3-mm3-VP-T3 (kr@porky.cybersoft.int) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #8 SMP Thu Oct 7 23:07:40 CDT 2004
Oct  8 06:48:42 porky kernel: BIOS-provided physical RAM map:
Oct  8 06:48:42 porky kernel:  BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
Oct  8 06:48:42 porky kernel:  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
Oct  8 06:48:42 porky kernel:  BIOS-e820: 0000000000100000 - 000000001ff9e000 (usable)
Oct  8 06:48:42 porky kernel:  BIOS-e820: 000000001ff9e000 - 0000000020000000 (reserved)
Oct  8 06:48:42 porky kernel:  BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
Oct  8 06:48:42 porky kernel:  BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved)
Oct  8 06:48:42 porky kernel:  BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
Oct  8 06:48:42 porky kernel: 0MB HIGHMEM available.
Oct  8 06:48:42 porky kernel: 511MB LOWMEM available.
Oct  8 06:48:42 porky kernel: found SMP MP-table at 000fe710
Oct  8 06:48:42 porky kernel: DMI 2.3 present.
Oct  8 06:48:42 porky irqbalance: irqbalance startup succeeded
Oct  8 06:48:42 porky kernel: ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Oct  8 06:48:42 porky kernel: Processor #0 6:8 APIC version 17
Oct  8 06:48:42 porky kernel: ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Oct  8 06:48:42 porky kernel: Processor #1 6:8 APIC version 17
Oct  8 06:48:42 porky kernel: ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
Oct  8 06:48:42 porky kernel: ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
Oct  8 06:48:42 porky kernel: Using ACPI for processor (LAPIC) configuration information
Oct  8 06:48:42 porky kernel: Intel MultiProcessor Specification v1.4
Oct  8 06:48:42 porky kernel:     Virtual Wire compatibility mode.
Oct  8 06:48:42 porky kernel: OEM ID: DELL     Product ID: WS 620       APIC at: 0xFEE00000
Oct  8 06:48:42 porky kernel: I/O APIC #2 Version 32 at 0xFEC00000.
Oct  8 06:48:42 porky kernel: Enabling APIC mode:  Flat.  Using 1 I/O APICs
Oct  8 06:48:42 porky kernel: Processors: 2
Oct  8 06:48:42 porky portmap: portmap startup succeeded
Oct  8 06:48:42 porky kernel: Built 1 zonelists
Oct  8 06:48:42 porky kernel: Initializing CPU#0
Oct  8 06:48:43 porky kernel: Kernel command line: ro root=LABEL=/ rhgb quiet noapic
Oct  8 06:48:43 porky kernel: (swapper/0): new 196391 us maximum-latency critical section.
Oct  8 06:48:43 porky kernel:  => started at: <start_kernel+0x48/0x1e0>
Oct  8 06:48:43 porky kernel:  => ended at:   <cond_resched+0x25/0x80>
Oct  8 06:48:43 porky kernel:  [<c0137a38>] touch_preempt_timing+0x48/0x50
Oct  8 06:48:43 porky kernel:  [<c0137952>] check_preempt_timing+0x162/0x200
Oct  8 06:48:43 porky kernel:  [<c02b67b5>] cond_resched+0x25/0x80
Oct  8 06:48:43 porky kernel:  [<c0137a38>] touch_preempt_timing+0x48/0x50
Oct  8 06:48:43 porky kernel:  [<c02b67b5>] cond_resched+0x25/0x80
Oct  8 06:48:43 porky kernel:  [<c02b67b5>] cond_resched+0x25/0x80
Oct  8 06:48:43 porky rpc.statd[2435]: Version 1.0.6 Starting
Oct  8 06:48:43 porky kernel:  [<c0138e58>] register_cpu_notifier+0x18/0x60
Oct  8 06:48:43 porky kernel:  [<c0133688>] rcu_cpu_notify+0x38/0x40
Oct  8 06:48:43 porky kernel:  [<c0381d0d>] rcu_init+0x6d/0x80
Oct  8 06:48:43 porky kernel:  [<c037097c>] start_kernel+0xbc/0x1e0
Oct  8 06:48:43 porky nfslock: rpc.statd startup succeeded
Oct  8 06:48:43 porky kernel:  [<c0370440>] unknown_bootoption+0x0/0x190
Oct  8 06:48:43 porky kernel: PID hash table entries: 2048 (order: 11, 32768 bytes)
Oct  8 06:48:43 porky kernel: (swapper/0): new 205265 us maximum-latency critical section.
Oct  8 06:48:43 porky kernel:  => started at: <cond_resched+0x25/0x80>
Oct  8 06:48:43 porky kernel:  => ended at:   <cond_resched+0x25/0x80>
Oct  8 06:48:43 porky kernel:  [<c0137a38>] touch_preempt_timing+0x48/0x50
Oct  8 06:48:43 porky kernel:  [<c0137952>] check_preempt_timing+0x162/0x200
Oct  8 06:48:43 porky kernel:  [<c02b67b5>] cond_resched+0x25/0x80
Oct  8 06:48:43 porky kernel:  [<c0137a38>] touch_preempt_timing+0x48/0x50
Oct  8 06:48:43 porky kernel:  [<c02b67b5>] cond_resched+0x25/0x80
Oct  8 06:48:43 porky kernel:  [<c02b67b5>] cond_resched+0x25/0x80
Oct  8 06:48:43 porky kernel:  [<c0138e58>] register_cpu_notifier+0x18/0x60
Oct  8 06:48:43 porky kernel:  [<c012b21b>] timer_cpu_notify+0x2b/0x30
Oct  8 06:48:43 porky kernel:  [<c03819d5>] init_timers+0x35/0x60
Oct  8 06:48:43 porky kernel:  [<c037098b>] start_kernel+0xcb/0x1e0
Oct  8 06:48:43 porky kernel:  [<c0370440>] unknown_bootoption+0x0/0x190
Oct  8 06:48:43 porky kernel: Detected 931.130 MHz processor.
Oct  8 06:48:43 porky kernel: Using tsc for high-res timesource
Oct  8 06:48:43 porky kernel: (swapper/0): new 502992 us maximum-latency critical section.
Oct  8 06:48:43 porky kernel:  => started at: <cond_resched+0x25/0x80>
Oct  8 06:48:43 porky kernel:  => ended at:   <cond_resched+0x25/0x80>
Oct  8 06:48:43 porky kernel:  [<c0137a38>] touch_preempt_timing+0x48/0x50
Oct  8 06:48:43 porky kernel:  [<c0137952>] check_preempt_timing+0x162/0x200
Oct  8 06:48:43 porky kernel:  [<c02b67b5>] cond_resched+0x25/0x80
Oct  8 06:48:43 porky kernel:  [<c0137a38>] touch_preempt_timing+0x48/0x50
Oct  8 06:48:43 porky rpcidmapd: rpc.idmapd startup succeeded
Oct  8 06:48:43 porky kernel:  [<c02b67b5>] cond_resched+0x25/0x80
Oct  8 06:48:44 porky kernel:  [<c02b67b5>] cond_resched+0x25/0x80
Oct  8 06:48:44 porky kernel:  [<c01212fb>] acquire_console_sem+0x2b/0x60
Oct  8 06:48:44 porky kernel:  [<c038a4e3>] con_init+0x13/0x2b0
Oct  8 06:48:44 porky kernel:  [<c0114df0>] mcount+0x14/0x18
Oct  8 06:48:44 porky kernel:  [<c0389a12>] console_init+0x42/0x50
Oct  8 06:48:44 porky kernel:  [<c037099a>] start_kernel+0xda/0x1e0
Oct  8 06:48:44 porky kernel:  [<c0370440>] unknown_bootoption+0x0/0x190
Oct  8 06:48:44 porky kernel: Console: colour VGA+ 80x25
Oct  8 06:48:44 porky random: Initializing random number generator:  succeeded
Oct  8 06:48:44 porky kernel: Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Oct  8 06:48:44 porky kernel: Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Oct  8 06:48:44 porky kernel: Memory: 513384k/523896k available (1762k kernel code, 9892k reserved, 725k data, 284k init, 0k highmem)
Oct  8 06:48:44 porky kernel: Checking if this processor honours the WP bit even in supervisor mode... Ok.
Oct  8 06:48:44 porky kernel: Security Scaffold v1.0.0 initialized
Oct  8 06:48:44 porky kernel: Capability LSM initialized
Oct  8 06:48:44 porky kernel: Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Oct  8 06:48:44 porky rc: Starting pcmcia:  succeeded
Oct  8 06:48:44 porky kernel: CPU: L1 I cache: 16K, L1 D cache: 16K
Oct  8 06:48:44 porky kernel: CPU: L2 cache: 256K
Oct  8 06:48:44 porky kernel: Intel machine check architecture supported.
Oct  8 06:48:44 porky kernel: Intel machine check reporting enabled on CPU#0.
Oct  8 06:48:44 porky kernel: Enabling fast FPU save and restore... done.
Oct  8 06:48:44 porky kernel: Enabling unmasked SIMD FPU exception support... done.
Oct  8 06:48:44 porky kernel: Checking 'hlt' instruction... OK.
Oct  8 06:48:44 porky kernel: CPU0: Intel Pentium III (Coppermine) stepping 06
Oct  8 06:48:44 porky kernel: per-CPU timeslice cutoff: 731.28 usecs.
Oct  8 06:48:39 porky sysctl: kernel.sysrq = 0 
Oct  8 06:48:44 porky kernel: task migration cache decay timeout: 1 msecs.
Oct  8 06:48:39 porky sysctl: kernel.core_uses_pid = 1 
Oct  8 06:48:44 porky kernel: Booting processor 1/1 eip 2000
Oct  8 06:48:39 porky network: Setting network parameters:  succeeded 
Oct  8 06:48:44 porky kernel: Initializing CPU#1
Oct  8 06:48:39 porky network: Bringing up loopback interface:  succeeded 
Oct  8 06:48:44 porky netfs: Mounting other filesystems:  succeeded
Oct  8 06:48:44 porky kernel: CPU: L1 I cache: 16K, L1 D cache: 16K
Oct  8 06:48:44 porky kernel: CPU: L2 cache: 256K
Oct  8 06:48:44 porky kernel: Intel machine check architecture supported.
Oct  8 06:48:44 porky kernel: Intel machine check reporting enabled on CPU#1.
Oct  8 06:48:44 porky kernel: CPU1: Intel Pentium III (Coppermine) stepping 06
Oct  8 06:48:44 porky kernel: Total of 2 processors activated (3682.30 BogoMIPS).
Oct  8 06:48:44 porky kernel: checking TSC synchronization across 2 CPUs: passed.
Oct  8 06:48:44 porky kernel: ksoftirqd started up.
Oct  8 06:48:44 porky kernel: Brought up 2 CPUs
Oct  8 06:48:44 porky kernel: ksoftirqd started up.
Oct  8 06:48:44 porky kernel: checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Oct  8 06:48:44 porky kernel: Freeing initrd memory: 355k freed
Oct  8 06:48:44 porky kernel: NET: Registered protocol family 16
Oct  8 06:48:44 porky autofs: automount startup succeeded
Oct  8 06:48:44 porky kernel: PCI: PCI BIOS revision 2.10 entry at 0xfc03e, last bus=4
Oct  8 06:48:44 porky kernel: PCI: Using configuration type 1
Oct  8 06:48:44 porky kernel: mtrr: v2.0 (20020519)
Oct  8 06:48:44 porky kernel: Linux Plug and Play Support v0.97 (c) Adam Belay
Oct  8 06:48:44 porky kernel: PCI: Probing PCI hardware
Oct  8 06:48:44 porky kernel: PCI: Probing PCI hardware (bus 00)
Oct  8 06:48:44 porky kernel: PCI: Transparent bridge - 0000:00:1e.0
Oct  8 06:48:44 porky kernel: PCI: Using IRQ router PIIX/ICH [8086/2410] at 0000:00:1f.0
Oct  8 06:48:45 porky smartd[2575]: smartd version 5.21 Copyright (C) 2002-3 Bruce Allen 
Oct  8 06:48:45 porky kernel: PCI: Failed to allocate mem resource #0:1000@0 for 0000:03:00.0
Oct  8 06:48:45 porky smartd[2575]: Home page is http://smartmontools.sourceforge.net/  
Oct  8 06:48:45 porky kernel: apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
Oct  8 06:48:45 porky smartd[2575]: Opened configuration file /etc/smartd.conf 
Oct  8 06:48:45 porky kernel: apm: disabled - APM is not SMP safe.
Oct  8 06:48:45 porky smartd[2575]: Configuration file /etc/smartd.conf parsed. 
Oct  8 06:48:45 porky kernel: Starting balanced_irq
Oct  8 06:48:45 porky smartd[2575]: Device: /dev/hda, opened 
Oct  8 06:48:45 porky kernel: VFS: Disk quotas dquot_6.5.1
Oct  8 06:48:45 porky smartd[2575]: Device: /dev/hda, unable to read Device Identity Structure 
Oct  8 06:48:45 porky kernel: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Oct  8 06:48:45 porky smartd[2575]: Unable to register ATA device /dev/hda at line 30 of file /etc/smartd.conf 
Oct  8 06:48:45 porky kernel: Initializing Cryptographic API
Oct  8 06:48:45 porky smartd[2575]: Unable to register device /dev/hda (no Directive -d removable). Exiting. 
Oct  8 06:48:45 porky kernel: vesafb: probe of vesafb0 failed with error -6
Oct  8 06:48:45 porky kernel: isapnp: Scanning for PnP cards...
Oct  8 06:48:45 porky smartd: smartd startup failed
Oct  8 06:48:45 porky kernel: isapnp: No Plug & Play device found
Oct  8 06:48:45 porky kernel: requesting new irq thread for IRQ8...
Oct  8 06:48:45 porky kernel: Real Time Clock Driver v1.12
Oct  8 06:48:45 porky kernel: requesting new irq thread for IRQ12...
Oct  8 06:48:45 porky kernel: serio: i8042 AUX port at 0x60,0x64 irq 12
Oct  8 06:48:45 porky kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
Oct  8 06:48:45 porky kernel: io scheduler noop registered
Oct  8 06:48:45 porky kernel: io scheduler anticipatory registered
Oct  8 06:48:45 porky kernel: io scheduler deadline registered
Oct  8 06:48:45 porky kernel: io scheduler cfq registered
Oct  8 06:48:45 porky kernel: RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
Oct  8 06:48:45 porky kernel: Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
Oct  8 06:48:45 porky kernel: ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Oct  8 06:48:45 porky kernel: ICH: IDE controller at PCI slot 0000:00:1f.1
Oct  8 06:48:45 porky kernel: ICH: chipset revision 2
Oct  8 06:48:45 porky kernel: ICH: not 100%% native mode: will probe irqs later
Oct  8 06:48:45 porky kernel:     ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:pio
Oct  8 06:48:45 porky kernel:     ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:pio
Oct  8 06:48:45 porky kernel: hda: SAMSUNG CD-R/RW SW-248F, ATAPI CD/DVD-ROM drive
Oct  8 06:48:45 porky kernel: requesting new irq thread for IRQ14...
Oct  8 06:48:45 porky kernel: elevator: using anticipatory as default io scheduler
Oct  8 06:48:45 porky kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Oct  8 06:48:45 porky kernel: hdc: Lite-On LTN483S 48x Max, ATAPI CD/DVD-ROM drive
Oct  8 06:48:45 porky kernel: requesting new irq thread for IRQ15...
Oct  8 06:48:45 porky kernel: ide1 at 0x170-0x177,0x376 on irq 15
Oct  8 06:48:46 porky kernel: mice: PS/2 mouse device common for all mice
Oct  8 06:48:46 porky kernel: IRQ#12 thread started up.
Oct  8 06:48:46 porky kernel: requesting new irq thread for IRQ1...
Oct  8 06:48:46 porky kernel: IRQ#1 thread started up.
Oct  8 06:48:46 porky kernel: input: AT Translated Set 2 keyboard on isa0060/serio0
Oct  8 06:48:46 porky kernel: input: ImPS/2 Generic Wheel Mouse on isa0060/serio1
Oct  8 06:48:46 porky kernel: md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
Oct  8 06:48:46 porky kernel: NET: Registered protocol family 2
Oct  8 06:48:46 porky kernel: IP: routing cache hash table of 2048 buckets, 32Kbytes
Oct  8 06:48:46 porky kernel: TCP: Hash tables configured (established 16384 bind 21845)
Oct  8 06:48:46 porky kernel: NET: Registered protocol family 1
Oct  8 06:48:46 porky kernel: NET: Registered protocol family 17
Oct  8 06:48:46 porky kernel: NET: Registered protocol family 8
Oct  8 06:48:46 porky kernel: NET: Registered protocol family 20
Oct  8 06:48:46 porky kernel: md: Autodetecting RAID arrays.
Oct  8 06:48:46 porky kernel: md: autorun ...
Oct  8 06:48:46 porky rc: Starting hpoj:  succeeded
Oct  8 06:48:46 porky kernel: md: ... autorun DONE.
Oct  8 06:48:46 porky kernel: RAMDISK: Compressed image found at block 0
Oct  8 06:48:46 porky kernel: VFS: Mounted root (ext2 filesystem).
Oct  8 06:48:46 porky kernel: SCSI subsystem initialized
Oct  8 06:48:46 porky kernel: PCI: Found IRQ 10 for device 0000:04:05.0
Oct  8 06:48:46 porky kernel: PCI: Sharing IRQ 10 with 0000:00:1f.3
Oct  8 06:48:47 porky kernel: requesting new irq thread for IRQ10...
Oct  8 06:48:47 porky kernel: PCI: Found IRQ 5 for device 0000:04:05.1
Oct  8 06:48:47 porky kernel: PCI: Sharing IRQ 5 with 0000:04:0a.0
Oct  8 06:48:47 porky kernel: requesting new irq thread for IRQ5...
Oct  8 06:48:47 porky kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
Oct  8 06:48:47 porky kernel:         <Adaptec aic7899 Ultra160 SCSI adapter>
Oct  8 06:48:47 porky kernel:         aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
Oct  8 06:48:47 porky kernel: 
Oct  8 06:48:47 porky kernel: IRQ#10 thread started up.
Oct  8 06:48:47 porky kernel: (scsi0:A:0): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)
Oct  8 06:48:47 porky kernel:   Vendor: QUANTUM   Model: ATLAS10K2-TY092L  Rev: DA40
Oct  8 06:48:47 porky kernel:   Type:   Direct-Access                      ANSI SCSI revision: 03
Oct  8 06:48:48 porky kernel: scsi0:A:0:0: Tagged Queuing enabled.  Depth 32
Oct  8 06:48:48 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB)
Oct  8 06:48:48 porky kernel: SCSI device sda: drive cache: write back
Oct  8 06:48:48 porky kernel:  sda: sda1 sda2 sda3
Oct  8 06:48:48 porky kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Oct  8 06:48:48 porky kernel: scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
Oct  8 06:48:48 porky kernel:         <Adaptec aic7899 Ultra160 SCSI adapter>
Oct  8 06:48:48 porky kernel:         aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs
Oct  8 06:48:48 porky kernel: 
Oct  8 06:48:48 porky kernel: IRQ#5 thread started up.
Oct  8 06:48:48 porky kernel: (scsi1:A:0): 20.000MB/s transfers (20.000MHz, offset 15)
Oct  8 06:48:48 porky kernel:   Vendor: SEAGATE   Model: SX118273LC        Rev: 6679
Oct  8 06:48:48 porky kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
Oct  8 06:48:48 porky kernel: scsi1:A:0:0: Tagged Queuing enabled.  Depth 32
Oct  8 06:48:48 porky kernel: SCSI device sdb: 35566480 512-byte hdwr sectors (18210 MB)
Oct  8 06:48:48 porky kernel: SCSI device sdb: drive cache: write through
Oct  8 06:48:48 porky kernel:  sdb: sdb1
Oct  8 06:48:48 porky kernel: Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
Oct  8 06:48:48 porky kernel: EXT3-fs: mounted filesystem with ordered data mode.
Oct  8 06:48:48 porky kernel: kjournald starting.  Commit interval 5 seconds
Oct  8 06:48:48 porky kernel: Freeing unused kernel memory: 284k freed
Oct  8 06:48:48 porky kernel: NET: Registered protocol family 10
Oct  8 06:48:48 porky kernel: IPv6 over IPv4 tunneling driver
Oct  8 06:48:48 porky kernel: IRQ#8 thread started up.
Oct  8 06:48:48 porky kernel: usbcore: registered new driver usbfs
Oct  8 06:48:48 porky kernel: usbcore: registered new driver hub
Oct  8 06:48:48 porky kernel: USB Universal Host Controller Interface driver v2.2
Oct  8 06:48:48 porky kernel: PCI: Found IRQ 11 for device 0000:00:1f.2
Oct  8 06:48:48 porky kernel: uhci_hcd 0000:00:1f.2: Intel Corp. 82801AA USB
Oct  8 06:48:48 porky kernel: requesting new irq thread for IRQ11...
Oct  8 06:48:48 porky kernel: uhci_hcd 0000:00:1f.2: irq 11, io base 0xff80
Oct  8 06:48:48 porky kernel: uhci_hcd 0000:00:1f.2: new USB bus registered, assigned bus number 1
Oct  8 06:48:48 porky kernel: hub 1-0:1.0: USB hub found
Oct  8 06:48:48 porky kernel: hub 1-0:1.0: 2 ports detected
Oct  8 06:48:48 porky kernel: EXT3 FS on sda2, internal journal
Oct  8 06:48:48 porky kernel: device-mapper: 4.1.0-ioctl (2003-12-10) initialised: dm@uk.sistina.com
Oct  8 06:48:48 porky kernel: Adding 1044216k swap on /dev/sda3.  Priority:-1 extents:1
Oct  8 06:48:48 porky kernel: program scsi_unique_id is using a deprecated SCSI ioctl, please convert it to SG_IO
Oct  8 06:48:49 porky last message repeated 11 times
Oct  8 06:48:49 porky kernel: kjournald starting.  Commit interval 5 seconds
Oct  8 06:48:49 porky kernel: EXT3 FS on sda1, internal journal
Oct  8 06:48:49 porky kernel: EXT3-fs: mounted filesystem with ordered data mode.
Oct  8 06:48:49 porky kernel: kjournald starting.  Commit interval 5 seconds
Oct  8 06:48:49 porky kernel: EXT3 FS on sdb1, internal journal
Oct  8 06:48:49 porky kernel: EXT3-fs: mounted filesystem with ordered data mode.
Oct  8 06:48:49 porky kernel: IA-32 Microcode Update Driver: v1.14 <tigran@veritas.com>
Oct  8 06:48:49 porky kernel: microcode: CPU0 already at revision 0x2 (current=0x2)
Oct  8 06:48:49 porky kernel: microcode: CPU1 already at revision 0x2 (current=0x2)
Oct  8 06:48:49 porky kernel: microcode: No suitable data for CPU0
Oct  8 06:48:49 porky kernel: microcode: No suitable data for CPU1
Oct  8 06:48:49 porky kernel: parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP]
Oct  8 06:48:49 porky kernel: parport0: irq 7 detected
Oct  8 06:48:49 porky kernel: Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0
Oct  8 06:48:49 porky kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0,  type 0
Oct  8 06:48:49 porky kernel: inserting floppy driver for 2.6.9-rc3-mm3-VP-T3
Oct  8 06:48:49 porky kernel: Floppy drive(s): fd0 is 1.44M
Oct  8 06:48:49 porky kernel: requesting new irq thread for IRQ6...
Oct  8 06:48:49 porky kernel: IRQ#6 thread started up.
Oct  8 06:48:49 porky kernel: FDC 0 is a National Semiconductor PC87306
Oct  8 06:48:49 porky kernel: Linux Tulip driver version 1.1.13 (May 11, 2002)
Oct  8 06:48:49 porky kernel: PCI: Found IRQ 5 for device 0000:04:0a.0
Oct  8 06:48:49 porky kernel: PCI: Sharing IRQ 5 with 0000:04:05.1
Oct  8 06:48:49 porky kernel: tulip0:  EEPROM default media type Autosense.
Oct  8 06:48:49 porky kernel: tulip0:  Index #0 - Media MII (#11) described by a 21140 MII PHY (1) block.
Oct  8 06:48:49 porky kernel: tulip0:  MII transceiver #3 config 3100 status 7809 advertising 01e1.
Oct  8 06:48:49 porky kernel: eth0: Digital DS21140 Tulip rev 32 at 0xe480, 00:00:C0:7F:A0:E9, IRQ 5.
Oct  8 06:48:49 porky kernel: tulip 0000:04:0a.0: Device was removed without properly calling pci_disable_device(). This may need fixing.
Oct  8 06:48:49 porky kernel: IRQ#14 thread started up.
Oct  8 06:48:49 porky kernel: hda: ATAPI 48X CD-ROM CD-R/RW drive, 8192kB Cache, UDMA(33)
Oct  8 06:48:49 porky kernel: Uniform CD-ROM driver Revision: 3.20
Oct  8 06:48:49 porky kernel: IRQ#15 thread started up.
Oct  8 06:48:49 porky kernel: hdc: ATAPI 48X CD-ROM drive, 120kB Cache, UDMA(33)
Oct  8 06:48:49 porky kernel: ip_tables: (C) 2000-2002 Netfilter core team
Oct  8 06:48:49 porky kernel: Linux Tulip driver version 1.1.13 (May 11, 2002)
Oct  8 06:48:49 porky kernel: PCI: Found IRQ 5 for device 0000:04:0a.0
Oct  8 06:48:49 porky kernel: PCI: Sharing IRQ 5 with 0000:04:05.1
Oct  8 06:48:49 porky kernel: tulip0:  EEPROM default media type Autosense.
Oct  8 06:48:49 porky kernel: tulip0:  Index #0 - Media MII (#11) described by a 21140 MII PHY (1) block.
Oct  8 06:48:49 porky kernel: tulip0:  MII transceiver #3 config 3100 status 7809 advertising 01e1.
Oct  8 06:48:49 porky kernel: eth0: Digital DS21140 Tulip rev 32 at 0xe480, 00:00:C0:7F:A0:E9, IRQ 5.
Oct  8 06:48:49 porky kernel: ip_tables: (C) 2000-2002 Netfilter core team
Oct  8 06:48:49 porky kernel: eth0: Setting full-duplex based on MII#3 link partner capability of 05e1.
Oct  8 06:48:49 porky kernel: parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP]
Oct  8 06:48:49 porky kernel: parport0: irq 7 detected
Oct  8 06:48:49 porky kernel: lp0: using parport0 (polling).
Oct  8 06:48:50 porky cups: cupsd startup succeeded
Oct  8 06:48:50 porky sshd:  succeeded
Oct  8 06:48:50 porky xinetd: xinetd startup succeeded
Oct  8 06:48:50 porky ntpdate[2906]: step time server 192.168.36.1 offset -0.498488 sec
Oct  8 06:48:50 porky ntpd:  succeeded
Oct  8 06:48:50 porky ntpd[2910]: ntpd 4.2.0@1.1161-r Thu Mar 11 11:46:39 EST 2004 (1)
Oct  8 06:48:50 porky ntpd: ntpd startup succeeded
Oct  8 06:48:50 porky ntpd[2910]: precision = 1.000 usec
Oct  8 06:48:50 porky ntpd[2910]: kernel time sync status 0040
Oct  8 06:48:50 porky ntpd[2910]: frequency initialized 16.655 PPM from /var/lib/ntp/drift
Oct  8 06:48:50 porky ntpd[2910]: configure: keyword "authenticate" unknown, line ignored
Oct  8 06:48:50 porky vsftpd: vsftpd vsftpd succeeded
Oct  8 06:48:50 porky sendmail: sendmail startup succeeded
Oct  8 06:48:50 porky sendmail: sm-client startup succeeded
Oct  8 06:48:50 porky gpm[2959]: *** info [startup.c(95)]: 
Oct  8 06:48:50 porky gpm[2959]: Started gpm successfully. Entered daemon mode.
Oct  8 06:48:50 porky xinetd[2896]: xinetd Version 2.3.13 started with libwrap loadavg options compiled in.
Oct  8 06:48:50 porky xinetd[2896]: Started working: 2 available services
Oct  8 06:48:51 porky gpm[2959]: *** info [mice.c(1766)]: 
Oct  8 06:48:51 porky gpm[2959]: imps2: Auto-detected intellimouse PS/2
Oct  8 06:48:51 porky gpm: gpm startup succeeded
Oct  8 06:48:51 porky crond: crond startup succeeded
Oct  8 06:48:51 porky xfs: xfs startup succeeded
Oct  8 06:48:52 porky anacron: anacron startup succeeded
Oct  8 06:48:52 porky atd: atd startup succeeded
Oct  8 06:48:52 porky readahead: Starting background readahead: 
Oct  8 06:48:52 porky rc: Starting readahead:  succeeded
Oct  8 06:48:53 porky messagebus: messagebus startup succeeded
Oct  8 06:48:53 porky mdmonitor: mdadm succeeded
Oct  8 06:48:53 porky mdmpd: mdmpd succeeded

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-08 14:03                                                             ` K.R. Foley
@ 2004-10-08 14:28                                                               ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-08 14:28 UTC (permalink / raw)
  To: K.R. Foley
  Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano


* K.R. Foley <kr@cybsft.com> wrote:

> First let me say that, in case you haven't been following the other
> thread about this "2.6.9-rc3-mm3 fails to detect aic7xxx", I resolved
> this by backing out the bk-scsi.patch and bk-scsi-target.patch.
> Without those everything works fine.

> >could you send me the following info:
> >
> >  - full log of a failed boot
> 
> I would like to be able to be able to send you this, but it doesn't
> get to the point of logging. [...]

meanwhile i could reproduce an aic79xx detection problem on a
testsystem, so no need to send the log.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-08  7:36                                                           ` Peter Williams
@ 2004-10-08 17:27                                                             ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-08 17:27 UTC (permalink / raw)
  To: Peter Williams
  Cc: Ingo Molnar, Rui Nuno Capela, linux-kernel, K.R. Foley,
	Florian Schmidt, mark_h_johnson, Fernando Pablo Lopez-Lezcano

On Fri, 2004-10-08 at 03:36, Peter Williams wrote:
> Ingo Molnar wrote:
> > * Lee Revell <rlrevell@joe-job.com> wrote:
> > 
> > 
> >>On Thu, 2004-10-07 at 19:26, Rui Nuno Capela wrote:
> >>
> >>>Ingo Molnar wrote:
> >>>
> >>>>>i've released the -T3 VP patch:
> >>>>>  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> >>>>>
> >>>>
> >>>OK. Just to let you know, both of my personal machines are now running on
> >>>bleeding-edge 2.6.9-rc3-mm3-T3, and very happily may I assure :)
> >>
> >>This actually feels a _lot_ snappier than mm2, which seemed prone to
> >>weird stalls.  I don't have any numbers to back this up yet.
> > 
> > 
> > yeah, -mm is back to the development branch of the stock scheduler. 
> > (i.e. the scheduler changes destined for 2.6.10.)
> 
> It's also got a fix for the cache hot timing bug which was causing havoc 
> with the load balancer.

Wouldn't this only be an issue on SMP?  I am on a UP system.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-08  6:49                                                         ` Con Kolivas
@ 2004-10-08 18:05                                                           ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-08 18:05 UTC (permalink / raw)
  To: Con Kolivas
  Cc: Rui Nuno Capela, Ingo Molnar, linux-kernel, K.R. Foley,
	Florian Schmidt, mark_h_johnson, Fernando Pablo Lopez-Lezcano

On Fri, 2004-10-08 at 02:49, Con Kolivas wrote:
> Lee Revell wrote:
> > On Thu, 2004-10-07 at 19:26, Rui Nuno Capela wrote:
> > 
> >>Ingo Molnar wrote:
> >>
> >>>>i've released the -T3 VP patch:
> >>>>  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> >>>>
> >>>
> >>OK. Just to let you know, both of my personal machines are now running on
> >>bleeding-edge 2.6.9-rc3-mm3-T3, and very happily may I assure :)
> > 
> > 
> > This actually feels a _lot_ snappier than mm2, which seemed prone to
> > weird stalls.  I don't have any numbers to back this up yet.
> 
> mm2 had a completely different cpu scheduler so no meaningful comparison 
> can be made. Try comparing to mm3 vanilla.

Well, I figured the change from -mm2 to -mm3 was responsible, as I have
never seen the VP patches make a perceptible difference in system
response time.  The VP effect only becomes apparent when you do
something that really needs millisecond or sub-ms latency.  I guess a
bug in the VP patch could cause performance regressions though.  However
no one reported sluggishness with mm2+S7, but it's apparent when you try
mm3+T3 that it feels a lot more responsive.

Anyway I was just wondering if there was an obvious change that would
cause this.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
                                                                     ` (3 preceding siblings ...)
  2004-10-07 17:55                                                   ` K.R. Foley
@ 2004-10-08 21:14                                                   ` Lee Revell
  2004-10-08 23:11                                                   ` Lee Revell
                                                                     ` (6 subsequent siblings)
  11 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-08 21:14 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano, Andrew Morton

On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
> i've released the -T3 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> 

[adding Andrew Morton to the cc: list as these issues are increasingly
relevant to -mm and not VP specific] 

I am seeing the same prune_icache latency that Mark reported.  I have
never seen this one at all before T3.  This one seem very frequent,
enough so to overtake the netif_skb single-packet processing latency
that seems to be our lower bound. 

preemption latency trace v1.0.7 on 2.6.9-rc3-mm3-VP-T3
-------------------------------------------------------
 latency: 242 us, entries: 178 (178)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: kswapd0/54, uid:0 nice:0 policy:0 rt_prio:0
    -----------------
 => started at: prune_icache+0x52/0x460
 => ended at:   prune_icache+0x162/0x460
=======>
00000001 0.000ms (+0.001ms): prune_icache (shrink_icache_memory)
00000001 0.001ms (+0.002ms): inode_has_buffers (prune_icache)
00000001 0.004ms (+0.001ms): inode_has_buffers (prune_icache)
00000001 0.005ms (+0.001ms): inode_has_buffers (prune_icache)
00000001 0.007ms (+0.001ms): inode_has_buffers (prune_icache)
00000001 0.008ms (+0.001ms): inode_has_buffers (prune_icache)
00000001 0.010ms (+0.001ms): inode_has_buffers (prune_icache)
00000001 0.011ms (+0.001ms): inode_has_buffers (prune_icache)
00000001 0.012ms (+0.001ms): inode_has_buffers (prune_icache)
00000001 0.014ms (+0.001ms): inode_has_buffers (prune_icache)
00000001 0.015ms (+0.001ms): inode_has_buffers (prune_icache)

[more of same interrupted by the timer a few times]

Workload is just a kernel compile and an RT task (jackd). 
Interestingly, kswapd seems to have triggered the above, but I should
not be hitting swap!  I have swappiness set to 0, and here is what
vmstat showed:

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 1  0      4  30608  54476 221680    0    0     9    12  310   600 36  8 56  0
 1  0      4  41424  54476 221796    0    0     0     0 1109  2577 88 12  0  0
 1  0      4  41168  54484 221808    0    0    24     0 1005  2158 83 17  0  0
 1  0      4  34704  54496 221808    0    0     0   192 1015  2063 92  8  0  0
 1  0      4  32208  54496 221808    0    0     0     0 1003  2045 96  4  0  0
 1  0      4  30928  54496 221808    0    0     0     0 1004  2090 98  2  0  0

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
                                                                     ` (4 preceding siblings ...)
  2004-10-08 21:14                                                   ` Lee Revell
@ 2004-10-08 23:11                                                   ` Lee Revell
  2004-10-09  4:16                                                   ` Lee Revell
                                                                     ` (5 subsequent siblings)
  11 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-08 23:11 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
> i've released the -T3 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> 

Also, I am still seeing some long latencies in the ext3 journaling code:

preemption latency trace v1.0.7 on 2.6.9-rc3-mm3-VP-T3
-------------------------------------------------------
 latency: 607 us, entries: 1087 (1087)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: kjournald/687, uid:0 nice:0 policy:0 rt_prio:0
    -----------------
 => started at: journal_commit_transaction+0x75/0x2830
 => ended at:   __journal_clean_checkpoint_list+0xb2/0xf0
=======>
00000001 0.000ms (+0.003ms): journal_commit_transaction (kjournald)

Here is the loop:

00000002 0.003ms (+0.001ms): kfree (journal_commit_transaction)
00000001 0.004ms (+0.001ms): journal_refile_buffer (journal_commit_transaction)
00000003 0.006ms (+0.000ms): __journal_refile_buffer (journal_refile_buffer)
00000003 0.006ms (+0.001ms): __journal_unfile_buffer (journal_refile_buffer)
00000002 0.008ms (+0.000ms): journal_remove_journal_head (journal_refile_buffer)
00000003 0.008ms (+0.000ms): __journal_remove_journal_head (journal_remove_journal_head)
00000003 0.009ms (+0.000ms): __brelse (__journal_remove_journal_head)
00000003 0.010ms (+0.000ms): journal_free_journal_head (journal_remove_journal_head)
00000003 0.010ms (+0.001ms): kmem_cache_free (journal_free_journal_head)
00000001 0.011ms (+0.000ms): __brelse (journal_commit_transaction)

[end loop]

00000002 0.012ms (+0.000ms): kfree (journal_commit_transaction)
00000001 0.013ms (+0.000ms): journal_refile_buffer (journal_commit_transaction)

I think I already reported this one with S7.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
                                                                     ` (5 preceding siblings ...)
  2004-10-08 23:11                                                   ` Lee Revell
@ 2004-10-09  4:16                                                   ` Lee Revell
  2004-10-09  4:57                                                   ` Lee Revell
                                                                     ` (4 subsequent siblings)
  11 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-09  4:16 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
> i've released the -T3 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> 

Wow, this is a really bad one - 5576 usecs in shmem_truncate!  I think
this was triggered by Mozilla deleting a large video file from /tmp
which is a tmpfs mount.

(mozilla-bin/16141): new 5576 us maximum-latency critical section.
 => started at: <shmem_truncate+0x67/0x630>
 => ended at:   <shmem_truncate+0x3bc/0x630>
 [<c013d96a>] check_preempt_timing+0x14a/0x1e0
 [<c013d2f5>] __mcount+0x15/0x20
 [<c02dd08a>] preempt_schedule+0xa/0x70
 [<c013dbba>] sub_preempt_count+0x5a/0x90
 [<c016b39c>] shmem_truncate+0x3bc/0x630
 [<c016b39c>] shmem_truncate+0x3bc/0x630
 [<c016b964>] shmem_delete_inode+0x134/0x340
 [<c016b830>] shmem_delete_inode+0x0/0x340
 [<c01991ee>] generic_delete_inode+0xde/0x300
 [<c0189615>] sys_unlink+0xf5/0x150
 [<c0106b47>] syscall_call+0x7/0xb

Full trace:

http://krustophenia.net/testresults.php?dataset=2.6.9-rc3-mm3-VP-T3#/var/www/2.6.9-rc3-mm3-VP-T3/shmem-truncate-latency-trace.txt

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
                                                                     ` (6 preceding siblings ...)
  2004-10-09  4:16                                                   ` Lee Revell
@ 2004-10-09  4:57                                                   ` Lee Revell
  2004-10-09  5:09                                                     ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
  2004-10-09 18:16                                                   ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Florian Schmidt
                                                                     ` (3 subsequent siblings)
  11 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-09  4:57 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
> i've released the -T3 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> 

With VP and PREEMPT in general, does the scheduler always run the
highest priority process, or do we only preempt if a SCHED_FIFO process
is runnable?

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-09  4:57                                                   ` Lee Revell
@ 2004-10-09  5:09                                                     ` Con Kolivas
  2004-10-09  5:21                                                       ` voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Con Kolivas @ 2004-10-09  5:09 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

Lee Revell writes:

> On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
>> i've released the -T3 VP patch:
>> 
>>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
>> 
> 
> With VP and PREEMPT in general, does the scheduler always run the
> highest priority process, or do we only preempt if a SCHED_FIFO process
> is runnable?

Always the highest priority runnable.

Cheers,
Con


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-09  5:09                                                     ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
@ 2004-10-09  5:21                                                       ` Lee Revell
  2004-10-09  5:23                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
                                                                           ` (2 more replies)
  0 siblings, 3 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-09  5:21 UTC (permalink / raw)
  To: Con Kolivas
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

On Sat, 2004-10-09 at 01:09, Con Kolivas wrote:
> Lee Revell writes:
> 
> > On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
> >> i've released the -T3 VP patch:
> >> 
> >>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> >> 
> > 
> > With VP and PREEMPT in general, does the scheduler always run the
> > highest priority process, or do we only preempt if a SCHED_FIFO process
> > is runnable?
> 
> Always the highest priority runnable.
> 

Hmm, interesting.  Would there be any advantage to a mode where only
SCHED_FIFO tasks can preempt?  This seems like a much lighter way to
solve the realtime problem.

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-09  5:21                                                       ` voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
@ 2004-10-09  5:23                                                         ` Con Kolivas
  2004-10-09  5:31                                                           ` voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
  2004-10-09 10:46                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
  2004-10-09 13:21                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 K.R. Foley
  2 siblings, 1 reply; 226+ messages in thread
From: Con Kolivas @ 2004-10-09  5:23 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

[-- Attachment #1: Type: text/plain, Size: 916 bytes --]

Lee Revell wrote:
> On Sat, 2004-10-09 at 01:09, Con Kolivas wrote:
> 
>>Lee Revell writes:
>>
>>
>>>On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
>>>
>>>>i've released the -T3 VP patch:
>>>>
>>>>  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
>>>>
>>>
>>>With VP and PREEMPT in general, does the scheduler always run the
>>>highest priority process, or do we only preempt if a SCHED_FIFO process
>>>is runnable?
>>
>>Always the highest priority runnable.
>>
> 
> 
> Hmm, interesting.  Would there be any advantage to a mode where only
> SCHED_FIFO tasks can preempt?  This seems like a much lighter way to
> solve the realtime problem.

No, the linux scheduler has always been preemptible. PREEMPT and VP just 
allows it to preempt kernel code paths as well. It could be modified to 
do such a thing but apart from real time applications it would perform 
very badly overall.

Con

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-09  5:23                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
@ 2004-10-09  5:31                                                           ` Lee Revell
  2004-10-09  5:34                                                             ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-09  5:31 UTC (permalink / raw)
  To: Con Kolivas
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

On Sat, 2004-10-09 at 01:23, Con Kolivas wrote:
> Lee Revell wrote:
> > On Sat, 2004-10-09 at 01:09, Con Kolivas wrote:
> > 
> >>Lee Revell writes:
> >>
> >>
> >>>On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
> >>>
> >>>>i've released the -T3 VP patch:
> >>>>
> >>>>  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> >>>>
> >>>
> >>>With VP and PREEMPT in general, does the scheduler always run the
> >>>highest priority process, or do we only preempt if a SCHED_FIFO process
> >>>is runnable?
> >>
> >>Always the highest priority runnable.
> >>
> > 
> > 
> > Hmm, interesting.  Would there be any advantage to a mode where only
> > SCHED_FIFO tasks can preempt?  This seems like a much lighter way to
> > solve the realtime problem.
> 
> No, the linux scheduler has always been preemptible. PREEMPT and VP just 
> allows it to preempt kernel code paths as well. It could be modified to 
> do such a thing but apart from real time applications it would perform 
> very badly overall.

I am talking about a mode where we only allow a SCHED_FIFO process to
preempt a kernel code path.  In every other case it works like !PREEMPT.

This is apparently how kernel preemption worked on SVR4.

Lee 


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-09  5:31                                                           ` voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
@ 2004-10-09  5:34                                                             ` Con Kolivas
  2004-10-09  5:50                                                               ` Preemption model (was Re: voluntary-preempt-2.6.9-rc3-mm3-T3) Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Con Kolivas @ 2004-10-09  5:34 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

[-- Attachment #1: Type: text/plain, Size: 1480 bytes --]

Lee Revell wrote:
> On Sat, 2004-10-09 at 01:23, Con Kolivas wrote:
> 
>>Lee Revell wrote:
>>
>>>On Sat, 2004-10-09 at 01:09, Con Kolivas wrote:
>>>
>>>
>>>>Lee Revell writes:
>>>>
>>>>
>>>>
>>>>>On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
>>>>>
>>>>>
>>>>>>i've released the -T3 VP patch:
>>>>>>
>>>>>> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
>>>>>>
>>>>>
>>>>>With VP and PREEMPT in general, does the scheduler always run the
>>>>>highest priority process, or do we only preempt if a SCHED_FIFO process
>>>>>is runnable?
>>>>
>>>>Always the highest priority runnable.
>>>>
>>>
>>>
>>>Hmm, interesting.  Would there be any advantage to a mode where only
>>>SCHED_FIFO tasks can preempt?  This seems like a much lighter way to
>>>solve the realtime problem.
>>
>>No, the linux scheduler has always been preemptible. PREEMPT and VP just 
>>allows it to preempt kernel code paths as well. It could be modified to 
>>do such a thing but apart from real time applications it would perform 
>>very badly overall.
> 
> 
> I am talking about a mode where we only allow a SCHED_FIFO process to
> preempt a kernel code path.  In every other case it works like !PREEMPT.
> 
> This is apparently how kernel preemption worked on SVR4.

Yes it could. If you ask nicely, Ingo might even throw in yet another 
config option in the kernel. It gets messy if multiple people start 
hacking on the same thing when it's under heavy development.

Cheers,
Con

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Preemption model (was Re: voluntary-preempt-2.6.9-rc3-mm3-T3)
  2004-10-09  5:34                                                             ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
@ 2004-10-09  5:50                                                               ` Lee Revell
  2004-10-09  5:53                                                                 ` Con Kolivas
  0 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-09  5:50 UTC (permalink / raw)
  To: Con Kolivas
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

On Sat, 2004-10-09 at 01:34, Con Kolivas wrote:
> Lee Revell wrote:
> >>>>>With VP and PREEMPT in general, does the scheduler always run the
> >>>>>highest priority process, or do we only preempt if a SCHED_FIFO process
> >>>>>is runnable?
> >>>>
> >>>>Always the highest priority runnable.
> >>>>
> >>>
> >>>
> >>>Hmm, interesting.  Would there be any advantage to a mode where only
> >>>SCHED_FIFO tasks can preempt?  This seems like a much lighter way to
> >>>solve the realtime problem.
> >>
> >>No, the linux scheduler has always been preemptible. PREEMPT and VP just 
> >>allows it to preempt kernel code paths as well. It could be modified to 
> >>do such a thing but apart from real time applications it would perform 
> >>very badly overall.
> > 
> > 
> > I am talking about a mode where we only allow a SCHED_FIFO process to
> > preempt a kernel code path.  In every other case it works like !PREEMPT.
> > 
> > This is apparently how kernel preemption worked on SVR4.
> 
> Yes it could. If you ask nicely, Ingo might even throw in yet another 
> config option in the kernel. It gets messy if multiple people start 
> hacking on the same thing when it's under heavy development.

Oh, I was not going to post a patch, I don't know the code nearly well
enough at this point :-).  But it looks pretty straightforward.

This also addresses what I think was Linus' main objection to PREEMPT,
which IIRC was (paraphrasing) that maybe if the scheduler had been
smarter we would not be having to preempt all the time.  This argument
is perfectly valid except for a SCHED_FIFO task which by definition will
always know better than the scheduler does when it needs to run.

Lee  


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: Preemption model (was Re: voluntary-preempt-2.6.9-rc3-mm3-T3)
  2004-10-09  5:50                                                               ` Preemption model (was Re: voluntary-preempt-2.6.9-rc3-mm3-T3) Lee Revell
@ 2004-10-09  5:53                                                                 ` Con Kolivas
  0 siblings, 0 replies; 226+ messages in thread
From: Con Kolivas @ 2004-10-09  5:53 UTC (permalink / raw)
  To: Lee Revell
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

[-- Attachment #1: Type: text/plain, Size: 1395 bytes --]

Lee Revell wrote:
> On Sat, 2004-10-09 at 01:34, Con Kolivas wrote:
> 
>>Lee Revell wrote:
>>
>>>>>>>With VP and PREEMPT in general, does the scheduler always run the
>>>>>>>highest priority process, or do we only preempt if a SCHED_FIFO process
>>>>>>>is runnable?
>>>>>>
>>>>>>Always the highest priority runnable.
>>>>>>
>>>>>
>>>>>
>>>>>Hmm, interesting.  Would there be any advantage to a mode where only
>>>>>SCHED_FIFO tasks can preempt?  This seems like a much lighter way to
>>>>>solve the realtime problem.
>>>>
>>>>No, the linux scheduler has always been preemptible. PREEMPT and VP just 
>>>>allows it to preempt kernel code paths as well. It could be modified to 
>>>>do such a thing but apart from real time applications it would perform 
>>>>very badly overall.
>>>
>>>
>>>I am talking about a mode where we only allow a SCHED_FIFO process to
>>>preempt a kernel code path.  In every other case it works like !PREEMPT.
>>>
>>>This is apparently how kernel preemption worked on SVR4.
>>
>>Yes it could. If you ask nicely, Ingo might even throw in yet another 
>>config option in the kernel. It gets messy if multiple people start 
>>hacking on the same thing when it's under heavy development.
> 
> 
> Oh, I was not going to post a patch, I don't know the code nearly well
> enough at this point :-).  But it looks pretty straightforward.

I was talking about me ;-)

Cheers,
Con


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-09  5:21                                                       ` voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
  2004-10-09  5:23                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
@ 2004-10-09 10:46                                                         ` Ingo Molnar
  2004-10-09 13:21                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 K.R. Foley
  2 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-09 10:46 UTC (permalink / raw)
  To: Lee Revell
  Cc: Con Kolivas, linux-kernel, K.R. Foley, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano


* Lee Revell <rlrevell@joe-job.com> wrote:

> > > With VP and PREEMPT in general, does the scheduler always run the
> > > highest priority process, or do we only preempt if a SCHED_FIFO process
> > > is runnable?
> > 
> > Always the highest priority runnable.
> > 
> 
> Hmm, interesting.  Would there be any advantage to a mode where only
> SCHED_FIFO tasks can preempt?  This seems like a much lighter way to
> solve the realtime problem.

it could be done, but i dont think we should do it. It makes RT
scheduling much more of a special-case. Right now RT scheduling is 99%
like normal scheduling - with the difference that RT priorities are
"higher" than the normal priorities and that each RT priority level is
"exclusive": the scheduler will let such tasks run until they want,
without applying fairness policies.

by making RT tasks more of a special case we'd destabilize the whole
thing: there would be kernel preemptability bugs that only RT tasks
would hit - resulting in a steady deterioration of PREEMPT support in
the kernel. (the ratio of RT tasks is perhaps 0.1% of all use, or less.) 
So applying _any_ RT-only technique besides the bare minimum is asking
for trouble in the long run.

furthermore, we had hard-to-trigger SMP bugs that the PREEMPT kernel
triggered much faster - resulting in an indirect stabilization of our
SMP code. If nothing else then this alone makes PREEMPT very useful.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-09  5:21                                                       ` voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
  2004-10-09  5:23                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
  2004-10-09 10:46                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
@ 2004-10-09 13:21                                                         ` K.R. Foley
  2 siblings, 0 replies; 226+ messages in thread
From: K.R. Foley @ 2004-10-09 13:21 UTC (permalink / raw)
  To: Lee Revell
  Cc: Con Kolivas, Ingo Molnar, linux-kernel, Rui Nuno Capela,
	Florian Schmidt, Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

Lee Revell wrote:
> On Sat, 2004-10-09 at 01:09, Con Kolivas wrote:
> 
>>Lee Revell writes:
>>
>>
>>>On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
>>>
>>>>i've released the -T3 VP patch:
>>>>
>>>>  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
>>>>
>>>
>>>With VP and PREEMPT in general, does the scheduler always run the
>>>highest priority process, or do we only preempt if a SCHED_FIFO process
>>>is runnable?
>>
>>Always the highest priority runnable.
>>
> 
> 
> Hmm, interesting.  Would there be any advantage to a mode where only
> SCHED_FIFO tasks can preempt?  This seems like a much lighter way to
> solve the realtime problem.
> 
> Lee
> 
> 
IMHO I don't think this gains us anything and I think that it would be a
big step backward for desktop performance (any processes not scheduled
RT). Not only that but I think you still have to have all of the
overhead of the scheduler and the preemption points if you are going to
service the RT threads. Otherwise, how do you schedule RT processes that
are waiting for some I/O (that is ready) and another non-RT process is
going through a code path in the kernel. The RT process now has a much
worse latency. There very well may be ways to accomplish this
effectively that I just don't understand.

kr


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
                                                                     ` (7 preceding siblings ...)
  2004-10-09  4:57                                                   ` Lee Revell
@ 2004-10-09 18:16                                                   ` Florian Schmidt
  2004-10-11 14:29                                                   ` [patch] CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4 Ingo Molnar
                                                                     ` (2 subsequent siblings)
  11 siblings, 0 replies; 226+ messages in thread
From: Florian Schmidt @ 2004-10-09 18:16 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, K.R. Foley, Rui Nuno Capela,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

On Thu, 7 Oct 2004 12:52:30 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> 
> i've released the -T3 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3

Hi,

i just wanted to report that audio usage has been become quite a bit worse
when compared to T1. I get more xruns (40 to 80 per night as opposed to 5 to
10 on T1), RT apps like ardour seem to be much more unstable with T3 than T1
(ardour gets kicked off the jack graph regularly at 64 frames on T3 which
doesn't happen with T1).

This goes together with a general increase of > 200us non preempt. crit.
sect. which were very seldom in T1 (at loeast for the work i do) but appear
rather regularly in T3.


Flo

P.S.: Are there tools available which can check the "correctness" of the
interplay of nptl libc and kernel wrt to threading? Especially when it comes
to wakeup order of blocking threads in different scheduler classes and with
different priorities.

^ permalink raw reply	[flat|nested] 226+ messages in thread

* [patch] CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
                                                                     ` (8 preceding siblings ...)
  2004-10-09 18:16                                                   ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Florian Schmidt
@ 2004-10-11 14:29                                                   ` Ingo Molnar
  2004-10-11 17:48                                                     ` Florian Schmidt
  2004-10-11 21:22                                                     ` Rui Nuno Capela
  2004-10-12  4:30                                                   ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
  2004-10-13 16:48                                                   ` Lee Revell
  11 siblings, 2 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-11 14:29 UTC (permalink / raw)
  To: linux-kernel
  Cc: Lee Revell, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano, Daniel Walker,
	Andrew Morton


i've released the -T4 VP patch:

  http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc4-mm1-T4

the big change in this release is the addition of PREEMPT_REALTIME,
which is a new implementation of a fully preemptible kernel model:

 - spinlocks and rwlocks use semaphores and are preemptible by default

 - the _irq variants of these locks do not disable interrupts but rely
   on IRQ threading to exclude against interrupt contexts.

note that this implementation is different from other kernel-preemption
patches, in a number of key areas. Initially i looked at merging the
MontaVista patchset from two days ago but decided to implement a new one
from scratch to cure a number of conceptual problems:

 - this patch auto-detects the 'type' of the lock at compilation time. 

   All fully-preemptible kernel patches i've seen so far suffer from one
   nasty problem: they are very large because they redefine _all_ the
   spinlock APIs to provide separation between 'mutex based' and
   'original' spinlocks. E.g. check out the sheer size of the MontaVista
   patchset: Linux-2.6.9-rc3-RT_spinlock1.patch and
   Linux-2.6.9-rc3-RT_spinlock2.patch are 84K and 92K and they convert
   ~30 core spinlocks to new APIs.

   OTOH this patch converts _90_ spinlocks in roughly half the
   patchsize, which makes a large difference in maintainability.

   How it works: this implementation uses a gcc feature to detect the
   type of the spinlock compile-time and to switch to the mutex or
   raw_spinlock API accordingly. Only one, very isolated change has to
   be done to switch a generic spinlock to a spin-only lock: spinlock_t
   is changed to raw_spinlock_t and the initializer is fixed up. All the
   other code remains untouched - and this even if a single C module
   contains both mutex-based and spinlock-based API calls. This approach
   is quite close to a simple object-oriented lock type - but written in
   C and compatible with the existing spinlock APIs.

 - i used the native Linux semaphores/rwsems to implement
   spinlock/rwlock preemption. E.g. the MontaVista patches use separate
   synchronization objects (kmutex/pmutex) to implement this.

   I believe using native semaphores is the better approach
   architecturally because this means that we have to add priority
   inheritance handling only once and to the native Linux semaphores. 
   This has the additional benefit of fixing all mutex-using
   kernel code's priority inheritance problems. (which kmutex/pmutex
   does not solve.)

   OTOH the MontaVista patches naturally have the advantage of having a
   working priority-inheritance mechanism in the pmutex code, right now. 
   (I did a brief attempt to plug the pmutex code into this patch but it
   didnt look good of a match - but others might want to try to 
   integrate it nevertheless.)

   also, another bad property of the kmutex/pmutex code is that it uses
   assembly which makes it quite hard to port to non-x86 architectures. 
   OTOH, the native Linux semaphores and rwsems work on every
   architecture.

 - the patch converts rwlocks too, while e.g. the MontaVista patchset
   still keeps rwlocks as spinlocks. It is important to convert rwlocks
   to rw-semaphores, most notably this allow the conversion of the
   tasklist and signal spinlocks.

 - finally, i went for correctness primarily, not latencies. I checked
   out the MontaVista patches and they categorize roughly 30 spinlocks
   as the ones that are necessary to be 'raw'. Unfortunately this is
   inadequate, my patch excludes 90 such locks and it's still probably
   not a 100% correct conversion. The core kernel needs changes in the
   locking infrastructure to get rid of most of the these 90 non-mutex
   locks.

it is highly recommended to enable DEBUG_PREEMPT when enabling
PREEMPT_REALTIME. It will warn about all the places that are unsafe. The
patch is x86-only for the time being, but the changes necessary for
other architectures should be relatively low.

NOTE: CONFIG_PREEMPT_REALTIME is default-off and i'd only suggest to
enable it on non-critical systems. It is the first iteration of this
feature and it will sure have rough edges. Not for the faint hearted!

NOTE2: some of the lock-break functionality offered by the -VP patchset
is disabled if PREEMPT_REALTIME is enabled - this is temporary. This
will likely result in an increase of the maximum measured latencies.

NOTE3: since so many spinlocks are still non-mutex, even average
latencies will be well above what we could achieve - but i wanted to
reach a known-correct codebase first. For example, most of the
networking spinlocks had to be made non-mutex because of networking's
use of RCU locking primitives and per-CPU data structures. The same is
true for the VFS - many of its locks are non-mutex still due to RCU. 
Once this infrastructure work is done the size of the patch will
decrease significantly.

to build a -T4 tree from scratch the patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
 + http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.9-rc4.bz2
 + http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc4/2.6.9-rc4-mm1/2.6.9-rc4-mm1.bz2
 + http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc4-mm1-T4

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4
  2004-10-11 14:29                                                   ` [patch] CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4 Ingo Molnar
@ 2004-10-11 17:48                                                     ` Florian Schmidt
  2004-10-11 21:22                                                     ` Rui Nuno Capela
  1 sibling, 0 replies; 226+ messages in thread
From: Florian Schmidt @ 2004-10-11 17:48 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, K.R. Foley, Rui Nuno Capela,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano, Daniel Walker,
	Andrew Morton

On Mon, 11 Oct 2004 16:29:53 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> 
> i've released the -T4 VP patch:

Hi,

doesn't build here:

  CHK     include/linux/version.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/split-include
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/genksyms/genksyms.o
  HOSTCC  scripts/genksyms/lex.o
  HOSTCC  scripts/genksyms/parse.o
  HOSTLD  scripts/genksyms/genksyms
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/bin2c
  CC      arch/i386/kernel/asm-offsets.s
In file included from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/spinlock.h:419: error: parse error before '*' token
include/linux/spinlock.h:419: warning: function declaration isn't a prototype
include/linux/spinlock.h:420: error: parse error before '*' token
include/linux/spinlock.h:420: warning: function declaration isn't a prototype
include/linux/spinlock.h:421: error: parse error before '*' token
include/linux/spinlock.h:421: warning: function declaration isn't a prototype
include/linux/spinlock.h:422: error: parse error before '*' token
include/linux/spinlock.h:422: warning: function declaration isn't a prototype
include/linux/spinlock.h:423: error: parse error before '*' token
include/linux/spinlock.h:423: warning: function declaration isn't a prototype
include/linux/spinlock.h:424: error: parse error before '*' token
include/linux/spinlock.h:424: warning: function declaration isn't a prototype
include/linux/spinlock.h:425: error: parse error before '*' token
include/linux/spinlock.h:425: warning: function declaration isn't a prototype
include/linux/spinlock.h:426: error: parse error before '*' token
include/linux/spinlock.h:426: warning: function declaration isn't a prototype
include/linux/spinlock.h:427: error: parse error before '*' token
include/linux/spinlock.h:427: warning: function declaration isn't a prototype
include/linux/spinlock.h:428: error: parse error before '*' token
include/linux/spinlock.h:428: warning: function declaration isn't a prototype
include/linux/spinlock.h:429: error: parse error before '*' token
include/linux/spinlock.h:429: warning: function declaration isn't a prototype
include/linux/spinlock.h:430: error: parse error before '*' token
include/linux/spinlock.h:430: warning: function declaration isn't a prototype
include/linux/spinlock.h:431: error: parse error before '*' token
include/linux/spinlock.h:431: warning: function declaration isn't a prototype
include/linux/spinlock.h:467: error: parse error before '*' token
include/linux/spinlock.h:467: warning: function declaration isn't a prototype
include/linux/spinlock.h:468: error: parse error before '*' token
include/linux/spinlock.h:468: warning: function declaration isn't a prototype
include/linux/spinlock.h:469: error: parse error before '*' token
include/linux/spinlock.h:469: warning: function declaration isn't a prototype
include/linux/spinlock.h:470: error: parse error before '*' token
include/linux/spinlock.h:470: warning: function declaration isn't a prototype
include/linux/spinlock.h:471: error: parse error before '*' token
include/linux/spinlock.h:471: warning: function declaration isn't a prototype
include/linux/spinlock.h:472: error: parse error before '*' token
include/linux/spinlock.h:472: warning: function declaration isn't a prototype
include/linux/spinlock.h:473: error: parse error before '*' token
include/linux/spinlock.h:473: warning: function declaration isn't a prototype
include/linux/spinlock.h:474: error: parse error before '*' token
include/linux/spinlock.h:474: warning: function declaration isn't a prototype
include/linux/spinlock.h:475: error: parse error before '*' token
include/linux/spinlock.h:475: warning: function declaration isn't a prototype
include/linux/spinlock.h:476: error: parse error before '*' token
include/linux/spinlock.h:476: warning: function declaration isn't a prototype
include/linux/spinlock.h:477: error: parse error before '*' token
include/linux/spinlock.h:477: warning: function declaration isn't a prototype
include/linux/spinlock.h:478: error: parse error before '*' token
include/linux/spinlock.h:478: warning: function declaration isn't a prototype
include/linux/spinlock.h:479: error: parse error before '*' token
include/linux/spinlock.h:479: warning: function declaration isn't a prototype
include/linux/spinlock.h:480: error: parse error before '*' token
include/linux/spinlock.h:480: warning: function declaration isn't a prototype
include/linux/spinlock.h:481: error: parse error before '*' token
include/linux/spinlock.h:481: warning: function declaration isn't a prototype
include/linux/spinlock.h:482: error: parse error before '*' token
include/linux/spinlock.h:482: warning: function declaration isn't a prototype
include/linux/spinlock.h:483: error: parse error before '*' token
include/linux/spinlock.h:483: warning: function declaration isn't a prototype
include/linux/spinlock.h:484: error: parse error before '*' token
include/linux/spinlock.h:484: warning: function declaration isn't a prototype
include/linux/spinlock.h:485: error: parse error before '*' token
include/linux/spinlock.h:485: warning: function declaration isn't a prototype
include/linux/spinlock.h:486: error: parse error before '*' token
include/linux/spinlock.h:486: warning: function declaration isn't a prototype
In file included from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/spinlock.h:543:1: warning: "spin_lock_init" redefined
include/linux/spinlock.h:208:1: warning: this is the location of the previous definition
include/linux/spinlock.h:548:1: warning: "rwlock_init" redefined
include/linux/spinlock.h:226:1: warning: this is the location of the previous definition
include/linux/spinlock.h:553:1: warning: "spin_is_locked" redefined
include/linux/spinlock.h:210:1: warning: this is the location of the previous definition
include/linux/spinlock.h:563:1: warning: "spin_unlock_wait" redefined
include/linux/spinlock.h:212:1: warning: this is the location of the previous definition
In file included from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/spinlock.h:669: error: parse error before "raw_spinlock_t"
include/linux/spinlock.h:669: warning: function declaration isn't a prototype
In file included from include/linux/time.h:7,
                 from include/linux/timex.h:58,
                 from include/linux/sched.h:11,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/seqlock.h:35: error: parse error before "raw_spinlock_t"
include/linux/seqlock.h:35: warning: no semicolon at end of struct or union
include/linux/seqlock.h:36: warning: type defaults to `int' in declaration of `seqlock_t'
include/linux/seqlock.h:36: warning: data definition has no type or storage class
include/linux/seqlock.h:50: error: parse error before '*' token
include/linux/seqlock.h:51: warning: function declaration isn't a prototype
include/linux/seqlock.h: In function `write_seqlock':
include/linux/seqlock.h:52: error: `sl' undeclared (first use in this function)
include/linux/seqlock.h:52: error: (Each undeclared identifier is reported only once
include/linux/seqlock.h:52: error: for each function it appears in.)
include/linux/seqlock.h:52: error: parse error before "raw_spinlock_t"
include/linux/seqlock.h:52: error: `raw_spinlock_t' undeclared (first use in this function)
include/linux/seqlock.h:52: error: parse error before ')' token
include/linux/seqlock.h: At top level:
include/linux/seqlock.h:52: error: parse error before "while"
include/linux/seqlock.h:57: error: parse error before '*' token
include/linux/seqlock.h:58: warning: function declaration isn't a prototype
include/linux/seqlock.h: In function `write_sequnlock':
include/linux/seqlock.h:60: error: `sl' undeclared (first use in this function)
include/linux/seqlock.h:61: error: parse error before "raw_spinlock_t"
include/linux/seqlock.h: At top level:
include/linux/seqlock.h:61: error: parse error before "while"
include/linux/seqlock.h:64: error: parse error before '*' token
include/linux/seqlock.h:65: warning: function declaration isn't a prototype
include/linux/seqlock.h: In function `write_tryseqlock':
include/linux/seqlock.h:66: error: `sl' undeclared (first use in this function)
include/linux/seqlock.h:66: error: parse error before "raw_spinlock_t"
include/linux/seqlock.h:66: warning: unused variable `__ret'
include/linux/seqlock.h:66: error: parse error before "while"
include/linux/seqlock.h:66: error: `raw_spinlock_t' undeclared (first use in this function)
include/linux/seqlock.h:66: error: parse error before ')' token
include/linux/seqlock.h:66: warning: left-hand operand of comma expression has no effect
include/linux/seqlock.h:66: warning: unused variable `ret'
include/linux/seqlock.h:66: warning: no return statement in function returning non-void
include/linux/seqlock.h: At top level:
include/linux/seqlock.h:66: error: parse error before ')' token
include/linux/seqlock.h:66: warning: type defaults to `int' in declaration of `__ret'
include/linux/seqlock.h:66: warning: data definition has no type or storage class
include/linux/seqlock.h:66: error: parse error before '}' token
include/linux/seqlock.h:76: warning: type defaults to `int' in declaration of `seqlock_t'
include/linux/seqlock.h:76: error: parse error before '*' token
include/linux/seqlock.h:77: warning: function declaration isn't a prototype
include/linux/seqlock.h: In function `read_seqbegin':
include/linux/seqlock.h:78: error: `sl' undeclared (first use in this function)
include/linux/seqlock.h: At top level:
include/linux/seqlock.h:91: warning: type defaults to `int' in declaration of `seqlock_t'
include/linux/seqlock.h:91: error: parse error before '*' token
include/linux/seqlock.h:92: warning: function declaration isn't a prototype
include/linux/seqlock.h: In function `read_seqretry':
include/linux/seqlock.h:94: error: `iv' undeclared (first use in this function)
include/linux/seqlock.h:94: error: `sl' undeclared (first use in this function)
In file included from include/linux/timex.h:58,
                 from include/linux/sched.h:11,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/time.h: At top level:
include/linux/time.h:83: error: parse error before "xtime_lock"
include/linux/time.h:83: warning: type defaults to `int' in declaration of `xtime_lock'
include/linux/time.h:83: warning: data definition has no type or storage class
In file included from include/asm/semaphore.h:41,
                 from include/linux/sched.h:19,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/wait.h:82: error: parse error before '*' token
include/linux/wait.h:83: warning: function declaration isn't a prototype
include/linux/wait.h: In function `init_waitqueue_head':
include/linux/wait.h:84: error: `q' undeclared (first use in this function)
include/linux/wait.h:84: error: `RAW_SPIN_LOCK_UNLOCKED' undeclared (first use in this function)
include/linux/wait.h: At top level:
include/linux/wait.h:103: error: parse error before '*' token
include/linux/wait.h:104: warning: function declaration isn't a prototype
include/linux/wait.h: In function `waitqueue_active':
include/linux/wait.h:105: error: `q' undeclared (first use in this function)
include/linux/wait.h: At top level:
include/linux/wait.h:117: error: parse error before '*' token
include/linux/wait.h:117: warning: function declaration isn't a prototype
include/linux/wait.h:118: error: parse error before '*' token
include/linux/wait.h:118: warning: function declaration isn't a prototype
include/linux/wait.h:119: error: parse error before '*' token
include/linux/wait.h:119: warning: function declaration isn't a prototype
include/linux/wait.h:121: error: parse error before '*' token
include/linux/wait.h:122: warning: function declaration isn't a prototype
include/linux/wait.h: In function `__add_wait_queue':
include/linux/wait.h:123: error: `new' undeclared (first use in this function)
include/linux/wait.h:123: error: `head' undeclared (first use in this function)
include/linux/wait.h: At top level:
include/linux/wait.h:129: error: parse error before '*' token
include/linux/wait.h:131: warning: function declaration isn't a prototype
include/linux/wait.h: In function `__add_wait_queue_tail':
include/linux/wait.h:132: error: `new' undeclared (first use in this function)
include/linux/wait.h:132: error: `head' undeclared (first use in this function)
include/linux/wait.h: At top level:
include/linux/wait.h:135: error: parse error before '*' token
include/linux/wait.h:137: warning: function declaration isn't a prototype
include/linux/wait.h: In function `__remove_wait_queue':
include/linux/wait.h:138: error: `old' undeclared (first use in this function)
include/linux/wait.h: At top level:
include/linux/wait.h:141: error: parse error before '*' token
include/linux/wait.h:141: warning: function declaration isn't a prototype
include/linux/wait.h:142: error: parse error before '*' token
include/linux/wait.h:142: warning: function declaration isn't a prototype
include/linux/wait.h:143: error: parse error before '*' token
include/linux/wait.h:143: warning: function declaration isn't a prototype
include/linux/wait.h:144: error: parse error before '*' token
include/linux/wait.h:144: warning: function declaration isn't a prototype
include/linux/wait.h:145: error: parse error before '*' token
include/linux/wait.h:145: error: `__wait_on_bit' declared as function returning a function
include/linux/wait.h:145: warning: function declaration isn't a prototype
include/linux/wait.h:145: error: parse error before "unsigned"
include/linux/wait.h:146: error: parse error before '*' token
include/linux/wait.h:146: error: `__wait_on_bit_lock' declared as function returning a function
include/linux/wait.h:146: warning: function declaration isn't a prototype
include/linux/wait.h:146: error: parse error before "unsigned"
include/linux/wait.h:150: error: parse error before '*' token
include/linux/wait.h:150: warning: type defaults to `int' in declaration of `bit_waitqueue'
include/linux/wait.h:150: warning: data definition has no type or storage class
include/linux/wait.h:288: error: parse error before '*' token
include/linux/wait.h:290: warning: function declaration isn't a prototype
include/linux/wait.h: In function `add_wait_queue_exclusive_locked':
include/linux/wait.h:291: error: `wait' undeclared (first use in this function)
include/linux/wait.h:292: error: `q' undeclared (first use in this function)
include/linux/wait.h: At top level:
include/linux/wait.h:298: error: parse error before '*' token
include/linux/wait.h:300: warning: function declaration isn't a prototype
include/linux/wait.h: In function `remove_wait_queue_locked':
include/linux/wait.h:301: error: `q' undeclared (first use in this function)
include/linux/wait.h:301: error: `wait' undeclared (first use in this function)
include/linux/wait.h: At top level:
include/linux/wait.h:309: error: parse error before '*' token
include/linux/wait.h:309: warning: function declaration isn't a prototype
include/linux/wait.h:310: error: parse error before '*' token
include/linux/wait.h:310: warning: function declaration isn't a prototype
include/linux/wait.h:312: error: parse error before '*' token
include/linux/wait.h:312: warning: function declaration isn't a prototype
include/linux/wait.h:313: error: parse error before '*' token
include/linux/wait.h:313: warning: function declaration isn't a prototype
include/linux/wait.h:319: error: parse error before '*' token
include/linux/wait.h:319: warning: function declaration isn't a prototype
include/linux/wait.h:321: error: parse error before '*' token
include/linux/wait.h:321: warning: function declaration isn't a prototype
include/linux/wait.h:323: error: parse error before '*' token
include/linux/wait.h:323: warning: function declaration isn't a prototype
In file included from include/asm/rwsem.h:42,
                 from include/linux/rwsem.h:27,
                 from include/asm/semaphore.h:42,
                 from include/linux/sched.h:19,
                 from arch/i386/kernel/asm-offsets.c:7:
include/asm/spinlock.h:26: error: `raw_spinlock_t' used prior to declaration
In file included from include/asm/rwsem.h:42,
                 from include/linux/rwsem.h:27,
                 from include/asm/semaphore.h:42,
                 from include/linux/sched.h:19,
                 from arch/i386/kernel/asm-offsets.c:7:
include/asm/spinlock.h:80:1: warning: "SPIN_LOCK_UNLOCKED" redefined
In file included from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/spinlock.h:199:1: warning: this is the location of the previous definition
include/asm/spinlock.h:86: error: conflicting types for `spinlock_t'
include/linux/spinlock.h:198: error: previous declaration of `spinlock_t'
In file included from include/asm/rwsem.h:42,
                 from include/linux/rwsem.h:27,
                 from include/asm/semaphore.h:42,
                 from include/linux/sched.h:19,
                 from arch/i386/kernel/asm-offsets.c:7:
include/asm/spinlock.h:93:1: warning: "RW_LOCK_UNLOCKED" redefined
In file included from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/spinlock.h:220:1: warning: this is the location of the previous definition
include/asm/spinlock.h:99: error: conflicting types for `rwlock_t'
include/linux/spinlock.h:219: error: previous declaration of `rwlock_t'
include/asm/spinlock.h:165: error: parse error before "do"
include/asm/spinlock.h:197: error: parse error before "void"
include/asm/spinlock.h:207: error: parse error before "do"
include/asm/spinlock.h:259: error: parse error before "do"
include/asm/spinlock.h:267: error: parse error before "do"
In file included from include/asm/rwsem.h:42,
                 from include/linux/rwsem.h:27,
                 from include/asm/semaphore.h:42,
                 from include/linux/sched.h:19,
                 from arch/i386/kernel/asm-offsets.c:7:
include/asm/spinlock.h:275:1: warning: "_raw_read_unlock" redefined
In file included from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/spinlock.h:228:1: warning: this is the location of the previous definition
In file included from include/asm/rwsem.h:42,
                 from include/linux/rwsem.h:27,
                 from include/asm/semaphore.h:42,
                 from include/linux/sched.h:19,
                 from arch/i386/kernel/asm-offsets.c:7:
include/asm/spinlock.h:276:1: warning: "_raw_write_unlock" redefined
In file included from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/spinlock.h:230:1: warning: this is the location of the previous definition
include/asm/spinlock.h:278: error: parse error before '{' token
include/asm/spinlock.h:281: warning: type defaults to `int' in declaration of `atomic_dec'
include/asm/spinlock.h:281: warning: parameter names (without types) in function declaration
include/asm/spinlock.h:281: error: conflicting types for `atomic_dec'
include/asm/atomic.h:116: error: previous declaration of `atomic_dec'
include/asm/spinlock.h:281: warning: data definition has no type or storage class
include/asm/spinlock.h:282: error: parse error before "if"
include/asm/spinlock.h:284: warning: type defaults to `int' in declaration of `atomic_inc'
include/asm/spinlock.h:284: warning: parameter names (without types) in function declaration
include/asm/spinlock.h:284: error: conflicting types for `atomic_inc'
include/asm/atomic.h:102: error: previous declaration of `atomic_inc'
include/asm/spinlock.h:284: warning: data definition has no type or storage class
include/asm/spinlock.h:285: error: parse error before "return"
include/asm/spinlock.h:288: error: parse error before '{' token
include/asm/spinlock.h:293: error: parse error before numeric constant
include/asm/spinlock.h:293: warning: type defaults to `int' in declaration of `atomic_add'
include/asm/spinlock.h:293: warning: function declaration isn't a prototype
include/asm/spinlock.h:293: error: conflicting types for `atomic_add'
include/asm/atomic.h:53: error: previous declaration of `atomic_add'
include/asm/spinlock.h:293: warning: data definition has no type or storage class
In file included from arch/i386/kernel/asm-offsets.c:7:
include/linux/sched.h:847:56: macro "_spin_lock_irqsave" requires 2 arguments, but only 1 given
In file included from arch/i386/kernel/asm-offsets.c:7:
include/linux/sched.h: In function `dequeue_signal_lock':
include/linux/sched.h:847: error: `_spin_lock_irqsave' undeclared (first use in this function)
include/linux/seqlock.h: In function `write_tryseqlock':
include/linux/seqlock.h:66: warning: statement with no effect
make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make: *** [arch/i386/kernel/asm-offsets.s] Error 2



.config:

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.9-rc4-mm1-VP-T4
# Mon Oct 11 19:40:39 2004
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y

#
# General setup
#
CONFIG_LOCALVERSION="-LT"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_PREEMPT_TIMING=y
CONFIG_LATENCY_TRACE=y
CONFIG_MCOUNT=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SHMEM=y
# CONFIG_TINY_SHMEM is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
# 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_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D 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_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=y
CONFIG_PREEMPT_REALTIME=y
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_TSC=y
# CONFIG_X86_MCE 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

#
# Firmware Drivers
#
# 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

#
# Performance-monitoring counters support
#
# CONFIG_PERFCTR is not set
# 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 is not set
CONFIG_ACPI_BLACKLIST_YEAR=0

#
# APM (Advanced Power Management) BIOS Support
#
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
CONFIG_APM_REAL_MODE_POWER_OFF=y

#
# 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_LEGACY_PROC is not set
CONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

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

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_DEBUG_DRIVER is not set

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

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play support
#

#
# Block devices
#
CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA 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_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
# CONFIG_CDROM_PKTCDVD is not set

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

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
CONFIG_BLK_DEV_SIS5513=y
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=m
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA 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_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR 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_QLOGIC_1280_1040 is not set
CONFIG_SCSI_QLA2XXX=m
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T 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

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

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

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=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
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set

#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
# CONFIG_IP_NF_FTP is not set
# CONFIG_IP_NF_IRC is not set
# CONFIG_IP_NF_TFTP is not set
# CONFIG_IP_NF_AMANDA is not set
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_REALM=m
# CONFIG_IP_NF_MATCH_SCTP is not set
# CONFIG_IP_NF_MATCH_COMMENT is not set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
# CONFIG_IP_NF_RAW is not set
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK 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_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_KGDBOE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
CONFIG_SIS900=m
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

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

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
CONFIG_GAMEPORT=m
CONFIG_SOUND_GAMEPORT=m
# 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_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD 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_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
# 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=y
# CONFIG_SERIAL_8250_CONSOLE is not set
CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=y
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=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_INTEL_MCH is not set
# CONFIG_AGP_NVIDIA is not set
CONFIG_AGP_SIS=m
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HANGCHECK_TIMER=m

#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_ISA=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_PROSAVAGE=m
CONFIG_I2C_SAVAGE4=m
CONFIG_SCx200_ACB=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
# CONFIG_I2C_STUB is not set
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
CONFIG_I2C_VOODOO3=m
# CONFIG_I2C_PCA_ISA is not set

#
# Hardware Sensors Chip support
#
CONFIG_I2C_SENSOR=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_SMSC47M1 is not set
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83627HF=m

#
# Other I2C Chip support
#
CONFIG_SENSORS_EEPROM=m
CONFIG_SENSORS_PCF8574=m
CONFIG_SENSORS_PCF8591=m
CONFIG_SENSORS_RTC8564=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
# CONFIG_FB is not set
CONFIG_VIDEO_SELECT=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_DEBUG=y
# 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_AC97_CODEC=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART 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_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
# CONFIG_USB is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISER4_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
CONFIG_ROMFS_FS=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y

#
# Caches
#
# CONFIG_FSCACHE is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
# CONFIG_DEVPTS_FS_SECURITY is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_EXPORTFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
CONFIG_AFS_FS=m
CONFIG_RXRPC=m

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

#
# Native Language Support
#
CONFIG_NLS=y
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=y
# 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=y
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII 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=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
CONFIG_DEBUG_PREEMPT=y
# CONFIG_DEBUG_INFO is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_4KSTACKS is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_KGDB is not set

#
# Security options
#
# CONFIG_KEYS is not set
CONFIG_SECURITY=y
# CONFIG_SECURITY_NETWORK is not set
CONFIG_SECURITY_CAPABILITIES=m
# CONFIG_SECURITY_SECLVL is not set
# CONFIG_SECURITY_SELINUX is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set

#
# Library routines
#
CONFIG_CRC_CCITT=m
CONFIG_CRC32=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_PC=y

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4
  2004-10-11 14:29                                                   ` [patch] CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4 Ingo Molnar
  2004-10-11 17:48                                                     ` Florian Schmidt
@ 2004-10-11 21:22                                                     ` Rui Nuno Capela
  2004-10-11 21:37                                                       ` Lee Revell
  1 sibling, 1 reply; 226+ messages in thread
From: Rui Nuno Capela @ 2004-10-11 21:22 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, K.R. Foley, Florian Schmidt,
	mark_h_johnson, Fernando Pablo Lopez-Lezcano, Daniel Walker,
	Andrew Morton

> Ingo Molnar
>
> i've released the -T4 VP patch:
>
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc4-mm1-T4
>

Very rough indeed. First and only attempt on my SMP/HT box stumbled very
early at make time (CONFIG_PREEMPT_REALTIME=y):
...
arch/i386/kernel/i386_ksyms.c:166: error: `rtc_lock' undeclared here (not
in a function)
arch/i386/kernel/i386_ksyms.c:166: error: initializer element is not constant
arch/i386/kernel/i386_ksyms.c:166: error: (near initialization for
`__ksymtab_rtc_lock.value')
arch/i386/kernel/i386_ksyms.c:177: error: `atomic_dec_and_lock' undeclared
here(not in a function)
arch/i386/kernel/i386_ksyms.c:177: error: initializer element is not constant
arch/i386/kernel/i386_ksyms.c:177: error: (near initialization for
`__ksymtab_atomic_dec_and_lock.value')
arch/i386/kernel/i386_ksyms.c:166: error: __ksymtab_rtc_lock causes a
section type conflict
arch/i386/kernel/i386_ksyms.c:177: error: __ksymtab_atomic_dec_and_lock
causes a section type conflict
make[1]: *** [arch/i386/kernel/i386_ksyms.o] Error 1
make: *** [arch/i386/kernel] Error 2

Bye.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4
  2004-10-11 21:22                                                     ` Rui Nuno Capela
@ 2004-10-11 21:37                                                       ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-11 21:37 UTC (permalink / raw)
  To: Rui Nuno Capela
  Cc: Ingo Molnar, linux-kernel, K.R. Foley, Florian Schmidt,
	mark_h_johnson, Fernando Pablo Lopez-Lezcano, Daniel Walker,
	Andrew Morton

On Mon, 2004-10-11 at 17:22, Rui Nuno Capela wrote:
> > Ingo Molnar
> >
> > i've released the -T4 VP patch:
> >
> >   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc4-mm1-T4
> >
> 
> Very rough indeed. First and only attempt on my SMP/HT box stumbled very
> early at make time (CONFIG_PREEMPT_REALTIME=y):

Ingo, any reason you bump the major version number to U?

Maybe it's my problem, I just posted yesterday on LAU that number
changes are usually bugfix releases, and letter changes represent big,
possibly untested changes.  So we had a few users try T4 and were
surprised it didn't work ;-)

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
                                                                     ` (9 preceding siblings ...)
  2004-10-11 14:29                                                   ` [patch] CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4 Ingo Molnar
@ 2004-10-12  4:30                                                   ` Lee Revell
  2004-10-12  9:17                                                     ` Ingo Molnar
  2004-10-13 16:48                                                   ` Lee Revell
  11 siblings, 1 reply; 226+ messages in thread
From: Lee Revell @ 2004-10-12  4:30 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
> i've released the -T3 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> 

Just to recap, these are the three problem areas that still produce
latencies over 500 usec on my machine.

	journal_clean_checkpoint_list
	rt_garbage_collect
	vga console

I have found that the latter does not require switching back and forth
to X; anything that produces a lot of console output can trigger 500
usec latencies.

Lee




^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-12  4:30                                                   ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
@ 2004-10-12  9:17                                                     ` Ingo Molnar
  2004-10-13 16:52                                                       ` Lee Revell
  0 siblings, 1 reply; 226+ messages in thread
From: Ingo Molnar @ 2004-10-12  9:17 UTC (permalink / raw)
  To: Lee Revell
  Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano


* Lee Revell <rlrevell@joe-job.com> wrote:

> Just to recap, these are the three problem areas that still produce
> latencies over 500 usec on my machine.
> 
> 	journal_clean_checkpoint_list

you might want to send this trace to Andrew too - the primary master of
ext3 latency-breaking.

> 	rt_garbage_collect

this one is still nasty and needs revisiting.

> 	vga console
> 
> I have found that the latter does not require switching back and forth
> to X; anything that produces a lot of console output can trigger 500
> usec latencies.

the vga console one we got rid of at a certain stage and it now
resurfaced. The issue was doing VGA-text-RAM copies/memsets under the
vga_lock. Maybe there were changes in vgacon recently that moved some of
those back under the lock?

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
                                                                     ` (10 preceding siblings ...)
  2004-10-12  4:30                                                   ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
@ 2004-10-13 16:48                                                   ` Lee Revell
  11 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-13 16:48 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano

On Thu, 2004-10-07 at 06:52, Ingo Molnar wrote:
> i've released the -T3 VP patch:
> 
>   http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.9-rc3-mm3-T3
> 

Ingo, here's the data from an 87 million sample run (about 24 hours) of
my jackd test.  Note the 1292 usec outlier.  This is definitely not
latency trace overhead as it was disabled.  I suspect either the
rt_garbage_collect or journal_clean_checkpoint_list code path is
responsible.

Delay   # samples
-----   ---------
0       86798124
1       122
2       113
3       118
4       109
5       96
6       78
7       66
8       66
9       51
10      52
11      41
12      39
13      43
14      43
15      30
16      17
17      18
18      28
19      17
20      18
21      16
22      19
23      19
24      19
25      15
26      26
27      13
28      13
29      10
30      17
31      19
32      12
33      12
34      17
35      7
36      16
37      13
38      7
39      10
40      9
41      9
42      9
43      8
44      11
45      18
46      12
47      13
48      6
49      12
50      12
51      13
52      8
53      11
54      14
55      5
56      5
57      11
58      8
59      11
60      8
61      5
62      11
63      8
64      9
65      11
66      9
67      8
68      8
69      8
70      8
71      8
72      11
73      10
74      10
75      8
76      2
77      7
78      4
79      9
80      5
81      4
82      2
83      7
84      6
85      1
86      7
87      5
88      10
89      7
90      3
91      7
92      7
93      7
94      1
95      7
96      5
97      7
98      2
99      3
100     3
101     4
102     4
103     4
104     5
105     3
106     5
107     2
108     4
109     1
110     2
111     2
112     3
113     2
115     1
116     3
117     2
118     3
119     3
120     1
121     2
122     2
123     2
124     1
127     1
128     2
129     2
130     2
133     1
135     1
139     1
141     2
145     1
147     1
152     1
156     1
169     1
173     1
177     1
187     1
194     2
233     1
242     1
290     1
352     1
1292    1

Lee



^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm3-T3
  2004-10-12  9:17                                                     ` Ingo Molnar
@ 2004-10-13 16:52                                                       ` Lee Revell
  0 siblings, 0 replies; 226+ messages in thread
From: Lee Revell @ 2004-10-13 16:52 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-kernel, K.R. Foley, Rui Nuno Capela, Florian Schmidt,
	Mark_H_Johnson, Fernando Pablo Lopez-Lezcano, Ingo Molnar

On Tue, 2004-10-12 at 05:17, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > Just to recap, these are the three problem areas that still produce
> > latencies over 500 usec on my machine.
> > 
> > 	journal_clean_checkpoint_list
> 
> you might want to send this trace to Andrew too - the primary master of
> ext3 latency-breaking.
> 

OK, Andrew, here it is.  This is one of the last 2 or 3 code paths that
can still produce latencies > 200 usecs on a typical machine.

--

Also, I am still seeing some long latencies in the ext3 journaling code:

preemption latency trace v1.0.7 on 2.6.9-rc3-mm3-VP-T3
-------------------------------------------------------
 latency: 607 us, entries: 1087 (1087)   |   [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
    -----------------
    | task: kjournald/687, uid:0 nice:0 policy:0 rt_prio:0
    -----------------
 => started at: journal_commit_transaction+0x75/0x2830
 => ended at:   __journal_clean_checkpoint_list+0xb2/0xf0
=======>
00000001 0.000ms (+0.003ms): journal_commit_transaction (kjournald)

Here is the loop:

00000002 0.003ms (+0.001ms): kfree (journal_commit_transaction)
00000001 0.004ms (+0.001ms): journal_refile_buffer (journal_commit_transaction)
00000003 0.006ms (+0.000ms): __journal_refile_buffer (journal_refile_buffer)
00000003 0.006ms (+0.001ms): __journal_unfile_buffer (journal_refile_buffer)
00000002 0.008ms (+0.000ms): journal_remove_journal_head (journal_refile_buffer)
00000003 0.008ms (+0.000ms): __journal_remove_journal_head (journal_remove_journal_head)
00000003 0.009ms (+0.000ms): __brelse (__journal_remove_journal_head)
00000003 0.010ms (+0.000ms): journal_free_journal_head (journal_remove_journal_head)
00000003 0.010ms (+0.001ms): kmem_cache_free (journal_free_journal_head)
00000001 0.011ms (+0.000ms): __brelse (journal_commit_transaction)

[end loop]

00000002 0.012ms (+0.000ms): kfree (journal_commit_transaction)
00000001 0.013ms (+0.000ms): journal_refile_buffer (journal_commit_transaction)

Lee


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
  2004-10-06 20:01 Mark_H_Johnson
@ 2004-10-06 20:07 ` Ingo Molnar
  0 siblings, 0 replies; 226+ messages in thread
From: Ingo Molnar @ 2004-10-06 20:07 UTC (permalink / raw)
  To: Mark_H_Johnson; +Cc: linux-kernel, Rui Nuno Capela


* Mark_H_Johnson@raytheon.com <Mark_H_Johnson@raytheon.com> wrote:

> >Meanwhile, I'm stuck with 2.6.9-rc2-mm4-S7 (SMP), but happy.
> >
> >Strange thing is, that on my laptop, 2.6.9-rc3-mm2-S9 (UP) is doing just
> >fine. Guess that ohci_hcd now makes the difference here, against the
> >former which makes uhci_hcd bad behaved atm.
> 
> I am having similar problems with -T1 and separately reported problems
> with a build of rc3-mm1-S8 as well (no oops, but the USB mouse is
> dead). Somewhere between those two versions (rc2-mm4-S7 and
> rc3-mm1-S8) is where the problem appears to be introduced. For now
> I'll stay with my working -S0 kernel.

disable USB for now - it's broken in -mm and unrelated to -VP. There are
hopes that in -rc3-mm3 USB will work again.

	Ingo

^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
@ 2004-10-06 20:01 Mark_H_Johnson
  2004-10-06 20:07 ` Ingo Molnar
  0 siblings, 1 reply; 226+ messages in thread
From: Mark_H_Johnson @ 2004-10-06 20:01 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Rui Nuno Capela

>Meanwhile, I'm stuck with 2.6.9-rc2-mm4-S7 (SMP), but happy.
>
>Strange thing is, that on my laptop, 2.6.9-rc3-mm2-S9 (UP) is doing just
>fine. Guess that ohci_hcd now makes the difference here, against the
>former which makes uhci_hcd bad behaved atm.

I am having similar problems with -T1 and separately reported problems with
a build of rc3-mm1-S8 as well (no oops, but the USB mouse is dead).
Somewhere between those two versions (rc2-mm4-S7 and rc3-mm1-S8) is where
the problem appears to be introduced. For now I'll stay with my working -S0
kernel.

--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


^ permalink raw reply	[flat|nested] 226+ messages in thread

* Re: [patch] voluntary-preempt-2.6.9-rc3-mm2-T1
@ 2004-10-06 18:57 Kari Hameenaho
  0 siblings, 0 replies; 226+ messages in thread
From: Kari Hameenaho @ 2004-10-06 18:57 UTC (permalink / raw)
  To: linux-kernel

Ingo Molnar wrote:
 >
 >* Lee Revell <rlrevell@xxxxxxxxxxx> wrote:
 >
 > > > i believe Andrew said that these USB problems should be fixed in
 > > > the next -mm iteration.
 > > >
 > >
 > > FWIW, this one does not work for me either, I get a USB-related Oops
 > > on boot.
 >
 > by next -mm iteration i meant -rc3-mm3, which is not released yet.
 >
 > Ingo
 >

The usb-hubs problem patch in LKML by Greg KH seems to fix this problem.

The thread is 2.6.9-rc3-mm1, bk-pci patch, USB hubs

---
Kari Hämeenaho

^ permalink raw reply	[flat|nested] 226+ messages in thread

end of thread, other threads:[~2004-10-13 16:53 UTC | newest]

Thread overview: 226+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20040903120957.00665413@mango.fruits.de>
     [not found] ` <20040903100946.GA22819@elte.hu>
     [not found]   ` <20040903123139.565c806b@mango.fruits.de>
2004-09-03 10:32     ` lockup with voluntary preempt R0 and VP, KP, etc, disabled Ingo Molnar
2004-09-03 11:59       ` Florian Schmidt
2004-09-03 11:55         ` Ingo Molnar
2004-09-03 13:01           ` Florian Schmidt
2004-09-03 12:04         ` Florian Schmidt
2004-09-03 12:08           ` Florian Schmidt
2004-09-03 18:28             ` Lee Revell
2004-09-03 18:54               ` Florian Schmidt
2004-09-03 18:52                 ` Lee Revell
2004-09-03 19:06                 ` K.R. Foley
2004-09-04 19:51 ` [patch] voluntary-preempt-2.6.9-rc1-bk4-R4 Ingo Molnar
2004-09-05 14:02   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Ingo Molnar
2004-09-05 16:07     ` Matt Heler
2004-09-05 18:16     ` Lee Revell
2004-09-05 19:12       ` Ingo Molnar
2004-09-05 21:03         ` Lee Revell
2004-09-06  6:30           ` Ingo Molnar
2004-09-06  7:44             ` Lee Revell
2004-09-07  3:17               ` K.R. Foley
2004-09-06 11:06     ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R6 Ingo Molnar
2004-09-06 11:48       ` Rafael J. Wysocki
2004-09-06 12:25         ` Alexander Nyberg
2004-09-06 12:29           ` Ingo Molnar
2004-09-07  9:26             ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R7 Ingo Molnar
2004-09-07 11:57               ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R8 Ingo Molnar
2004-09-07 14:50                 ` Alexander Nyberg
2004-09-07 15:04                   ` Ingo Molnar
2004-09-07 15:29                     ` Alexander Nyberg
2004-09-07 19:56                 ` Rafael J. Wysocki
2004-09-07 22:59                 ` Lee Revell
2004-09-08  8:20                   ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R9 Ingo Molnar
2004-09-08  9:46                     ` Rafael J. Wysocki
2004-09-08  9:56                       ` Ingo Molnar
2004-09-08 22:37                     ` Lee Revell
2004-09-09  6:17                       ` [patch] voluntary-preempt-2.6.9-rc1-bk12-S0 Ingo Molnar
2004-09-09 19:30                         ` Lee Revell
2004-09-09 20:23                           ` Lee Revell
2004-09-19 12:26                         ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 Ingo Molnar
2004-09-19 17:05                           ` Felipe Alfaro Solana
2004-09-20 17:14                           ` K.R. Foley
2004-09-20 19:48                             ` Ingo Molnar
2004-09-21  2:25                               ` K.R. Foley
2004-09-20 19:47                           ` Magnus Määttä
2004-09-21  2:07                           ` BKL backtraces - was: " K.R. Foley
2004-09-21  7:18                             ` Ingo Molnar
2004-09-21  7:44                               ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S2 Ingo Molnar
2004-09-21 18:51                                 ` K.R. Foley
2004-09-22 10:33                                 ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S3 Ingo Molnar
2004-09-22 15:07                                   ` K.R. Foley
2004-09-22 17:16                                     ` Lee Revell
2004-09-22 17:40                                       ` K.R. Foley
2004-09-22 19:45                                       ` Ingo Molnar
2004-09-22 17:09                                   ` K.R. Foley
2004-09-22 19:08                                   ` Lee Revell
2004-09-23  1:13                                   ` Lee Revell
2004-09-23 12:28                                   ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S4 Ingo Molnar
2004-09-23 12:57                                     ` Norberto Bensa
2004-09-23 13:01                                       ` Ingo Molnar
2004-09-23 13:07                                         ` Ingo Molnar
2004-09-23 13:09                                         ` Ingo Molnar
2004-09-23 16:46                                           ` Norberto Bensa
2004-09-23 17:13                                             ` Norberto Bensa
2004-09-23 18:20                                               ` Ingo Molnar
2004-09-23 13:35                                     ` Rui Nuno Capela
2004-09-23 13:40                                       ` Ingo Molnar
2004-09-23 16:23                                         ` Rui Nuno Capela
2004-09-23 18:07                                           ` Rui Nuno Capela
2004-09-24 12:43                                             ` OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesn't work) Rui Nuno Capela
2004-09-24 12:55                                               ` Ingo Molnar
2004-09-24 14:00                                                 ` Rui Nuno Capela
2004-09-24 16:16                                                   ` Bjorn Helgaas
2004-09-25 23:37                                                     ` David Brownell
2004-09-26 13:09                                                       ` Rui Nuno Capela
2004-09-27 15:11                                                       ` Bjorn Helgaas
2004-09-23 21:12                                     ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S5 Ingo Molnar
2004-09-24  0:32                                       ` Rui Nuno Capela
2004-09-24  2:22                                       ` K.R. Foley
2004-09-24  3:30                                         ` K.R. Foley
2004-09-24  7:40                                           ` Ingo Molnar
2004-09-24 11:05                                             ` K.R. Foley
2004-09-24 11:45                                               ` Ingo Molnar
2004-09-24  7:44                                       ` [patch] voluntary-preempt-2.6.9-rc2-mm3-S6 Ingo Molnar
2004-09-28  0:05                                         ` [patch] voluntary-preempt-2.6.9-rc2-mm4-S7 Ingo Molnar
2004-09-28 20:17                                           ` Rui Nuno Capela
2004-09-28 21:03                                             ` Rui Nuno Capela
2004-09-28 21:46                                               ` Rui Nuno Capela
2004-09-28 22:01                                                 ` Matt Heler
2004-09-29 17:43                                           ` Lee Revell
2004-09-29 18:40                                           ` Lee Revell
2004-09-29 20:30                                             ` Ingo Molnar
2004-09-29 20:34                                               ` Lee Revell
2004-10-02  3:02                                           ` Lee Revell
2004-10-02  9:50                                             ` Ingo Molnar
2004-10-03  2:01                                           ` Lee Revell
2004-10-03  2:14                                             ` Lee Revell
2004-10-03  2:19                                               ` Lee Revell
2004-10-03 20:08                                             ` Ingo Molnar
2004-10-03  6:37                                           ` Lee Revell
2004-10-03  6:50                                             ` Lee Revell
2004-10-03  7:06                                               ` Lee Revell
2004-10-03 19:57                                                 ` Ingo Molnar
2004-10-04  0:53                                                   ` Lee Revell
2004-10-04 10:17                                                     ` Ingo Molnar
2004-10-04 17:20                                                       ` Lee Revell
2004-10-03 20:05                                             ` Ingo Molnar
2004-10-03 21:09                                           ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S8 Ingo Molnar
2004-10-04 21:53                                             ` [patch] voluntary-preempt-2.6.9-rc3-mm1-S9 Ingo Molnar
2004-10-05  0:31                                               ` Lee Revell
2004-10-05  0:56                                                 ` Florian Schmidt
2004-10-05  0:45                                                   ` Lee Revell
2004-10-05  0:38                                               ` Andrew Rodland
2004-10-05  1:19                                               ` Rui Nuno Capela
2004-10-05  5:32                                                 ` Peter Williams
2004-10-05  6:38                                                 ` Ingo Molnar
2004-10-05  1:42                                               ` Florian Schmidt
2004-10-05  2:05                                                 ` Florian Schmidt
2004-10-05  3:09                                                 ` Andrew Rodland
2004-10-05 10:24                                                   ` Florian Schmidt
2004-10-05  7:02                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T0 Ingo Molnar
2004-10-05 11:11                                                 ` Rui Nuno Capela
2004-10-05 11:17                                                   ` Ingo Molnar
2004-10-05 12:07                                                     ` Hugh Dickins
2004-10-05 11:12                                                 ` Florian Schmidt
2004-10-05 11:03                                                   ` Ingo Molnar
2004-10-05 11:14                                                     ` Rui Nuno Capela
2004-10-05 11:16                                                       ` Ingo Molnar
2004-10-05 13:47                                               ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 Ingo Molnar
2004-10-05 16:37                                                 ` Rui Nuno Capela
2004-10-05 18:42                                                   ` Ingo Molnar
2004-10-05 19:38                                                     ` Rui Nuno Capela
2004-10-05 19:44                                                       ` Ingo Molnar
2004-10-05 20:01                                                         ` Rui Nuno Capela
2004-10-06  0:12                                                         ` Lee Revell
2004-10-06  7:51                                                           ` Ingo Molnar
2004-10-07 10:52                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
     [not found]                                                   ` <20041007134116.3e53b239.h.mth@web.de>
2004-10-07 11:44                                                     ` Ingo Molnar
2004-10-07 12:08                                                       ` Hanno Meyer-Thurow
2004-10-07 12:16                                                   ` Rui Nuno Capela
2004-10-07 13:53                                                   ` Rui Nuno Capela
2004-10-07 14:13                                                     ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
2004-10-07 23:26                                                     ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Rui Nuno Capela
2004-10-08  5:36                                                       ` Lee Revell
2004-10-08  6:49                                                         ` Con Kolivas
2004-10-08 18:05                                                           ` Lee Revell
2004-10-08  7:06                                                         ` Ingo Molnar
2004-10-08  7:36                                                           ` Peter Williams
2004-10-08 17:27                                                             ` Lee Revell
2004-10-07 17:55                                                   ` K.R. Foley
2004-10-07 20:29                                                     ` K.R. Foley
2004-10-07 21:55                                                       ` Ingo Molnar
2004-10-08  1:41                                                         ` K.R. Foley
2004-10-08  7:02                                                           ` Ingo Molnar
2004-10-08 14:03                                                             ` K.R. Foley
2004-10-08 14:28                                                               ` Ingo Molnar
2004-10-08 21:14                                                   ` Lee Revell
2004-10-08 23:11                                                   ` Lee Revell
2004-10-09  4:16                                                   ` Lee Revell
2004-10-09  4:57                                                   ` Lee Revell
2004-10-09  5:09                                                     ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
2004-10-09  5:21                                                       ` voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
2004-10-09  5:23                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
2004-10-09  5:31                                                           ` voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
2004-10-09  5:34                                                             ` voluntary-preempt-2.6.9-rc3-mm3-T3 Con Kolivas
2004-10-09  5:50                                                               ` Preemption model (was Re: voluntary-preempt-2.6.9-rc3-mm3-T3) Lee Revell
2004-10-09  5:53                                                                 ` Con Kolivas
2004-10-09 10:46                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 Ingo Molnar
2004-10-09 13:21                                                         ` voluntary-preempt-2.6.9-rc3-mm3-T3 K.R. Foley
2004-10-09 18:16                                                   ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Florian Schmidt
2004-10-11 14:29                                                   ` [patch] CONFIG_PREEMPT_REALTIME, 'Fully Preemptible Kernel', VP-2.6.9-rc4-mm1-T4 Ingo Molnar
2004-10-11 17:48                                                     ` Florian Schmidt
2004-10-11 21:22                                                     ` Rui Nuno Capela
2004-10-11 21:37                                                       ` Lee Revell
2004-10-12  4:30                                                   ` [patch] voluntary-preempt-2.6.9-rc3-mm3-T3 Lee Revell
2004-10-12  9:17                                                     ` Ingo Molnar
2004-10-13 16:52                                                       ` Lee Revell
2004-10-13 16:48                                                   ` Lee Revell
2004-10-08 11:16                                                 ` [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 William Lee Irwin III
2004-09-22 17:30                                 ` Oops in __posix_lock_file was:Re: [patch] voluntary-preempt-2.6.9-rc2-mm1-S2 K.R. Foley
2004-09-22 19:43                                   ` Ingo Molnar
2004-09-21 18:24                           ` [patch] voluntary-preempt-2.6.9-rc2-mm1-S1 K.R. Foley
2004-09-21 19:21                             ` Ingo Molnar
2004-09-21 19:37                               ` K.R. Foley
2004-09-08  6:56       ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R6 Lee Revell
2004-09-09 19:29         ` Ingo Molnar
2004-09-09 19:33           ` Lee Revell
2004-09-09 20:43             ` Lee Revell
2004-09-09 20:51               ` Ingo Molnar
2004-09-09 21:03               ` Scott Wood
2004-09-09 20:05           ` Andrew Morton
2004-09-09 20:09             ` Alan Cox
2004-09-09 21:28               ` Andrew Morton
2004-09-09 22:45             ` William Lee Irwin III
2004-09-09 22:11               ` Alan Cox
2004-09-09 23:20                 ` William Lee Irwin III
2004-09-10 13:28             ` Ingo Molnar
2004-09-10 14:28               ` Paolo Ciarrocchi
2004-09-10 16:45                 ` Lee Revell
2004-09-10 22:54               ` Lee Revell
2004-09-11  0:21                 ` K.R. Foley
2004-09-09 20:13           ` Lee Revell
2004-09-22  0:17           ` William Lee Irwin III
2004-09-07 22:55     ` [patch] voluntary-preempt-2.6.9-rc1-bk12-R5 Lee Revell
2004-09-07 23:13       ` Lee Revell
2004-09-07 23:58         ` Rui Nuno Capela
2004-09-08  8:23           ` Ingo Molnar
2004-09-08  8:31             ` Ingo Molnar
2004-09-09 11:09               ` Rui Nuno Capela
2004-09-15  1:16                 ` Lee Revell
2004-09-15  9:29                   ` Rui Nuno Capela
2004-09-15  9:38                     ` Ingo Molnar
2004-09-15  9:53                       ` Rui Nuno Capela
2004-09-15 10:00                         ` Ingo Molnar
2004-09-15 10:35                           ` Rui Nuno Capela
2004-09-25 19:26               ` Lee Revell
2004-09-25 20:38                 ` Ingo Molnar
2004-09-25 20:40                   ` Lee Revell
2004-09-25 20:50                     ` Duncan Sands
2004-09-25 23:54                       ` Lee Revell
2004-09-26 13:42                         ` Rui Nuno Capela
2004-09-08  8:46             ` Rui Nuno Capela
2004-09-08  8:52               ` Ingo Molnar
2004-09-05 14:49   ` [patch] voluntary-preempt-2.6.9-rc1-bk4-R4 Florian Schmidt
2004-09-05 14:53     ` K.R. Foley
2004-10-06 18:57 [patch] voluntary-preempt-2.6.9-rc3-mm2-T1 Kari Hameenaho
2004-10-06 20:01 Mark_H_Johnson
2004-10-06 20:07 ` Ingo Molnar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.