2007-08-08 00:12:08

by Daniel Walker

[permalink] [raw]
Subject: nmi_watchdog=2 regression in 2.6.21


This patch below hangs my system on boot if I set nmi_watchdog=2 . It
shows the NMI as stuck then the system hangs .. nmi_watchdog=1 works
fine, and the system boots without any watchdog options ..

The machine is an Intel allagash development board, and it has two dual
core Pentium-M cpus. I attached the .config I used.

bf8696ed6dfa561198b4736deaf11ab68dcc4845 is first bad commit
commit bf8696ed6dfa561198b4736deaf11ab68dcc4845
Author: Stephane Eranian <[email protected]>
Date: Wed May 2 19:27:05 2007 +0200

[PATCH] i386: i386 make NMI use PERFCTR1 for architectural perfmon (take 2)

Hello,

This patch against 2.6.20-git14 makes the NMI watchdog use PERFSEL1/PERFCTR1
instead of PERFSEL0/PERFCTR0 on processors supporting Intel architectural
perfmon, such as Intel Core 2. Although all PMU events can work on
both counters, the Precise Event-Based Sampling (PEBS) requires that the
event be in PERFCTR0 to work correctly (see section 18.14.4.1 in the
IA32 SDM Vol 3b).

A similar patch for x86-64 is to follow.

Changelog:
- make the i386 NMI watchdog use PERFSEL1/PERFCTR1 instead of PERFSEL0/PERFCTR0
on processors supporting the Intel architectural perfmon (e.g. Core 2 Duo).
This allows PEBS to work when the NMI watchdog is active.

signed-off-by: stephane eranian <[email protected]>

Signed-off-by: Andi Kleen <[email protected]>

:040000 040000 9cee0745798cb56da2ca82032b8ee88a2c32700a f59ee02e3cd8f13503edb7312a3494f4d7ec0069 M arch


Attachments:
allagash-2.config (41.60 kB)

2007-08-08 14:18:43

by Björn Steinbrink

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On 2007.08.07 17:06:49 -0700, Daniel Walker wrote:
>
> This patch below hangs my system on boot if I set nmi_watchdog=2 . It
> shows the NMI as stuck then the system hangs .. nmi_watchdog=1 works
> fine, and the system boots without any watchdog options ..
>
> The machine is an Intel allagash development board, and it has two dual
> core Pentium-M cpus. I attached the .config I used.

Should be fixed in commit e82f64e5bb0648a13630d752c35be1e7bd8bab96
(2.6.23-rc1 IIRC).

Unfornately it didn't make it into 2.6.22, but the patch should work
even with 2.6.21 IIRC.

Bj?rn

>
> bf8696ed6dfa561198b4736deaf11ab68dcc4845 is first bad commit
> commit bf8696ed6dfa561198b4736deaf11ab68dcc4845
> Author: Stephane Eranian <[email protected]>
> Date: Wed May 2 19:27:05 2007 +0200
>
> [PATCH] i386: i386 make NMI use PERFCTR1 for architectural perfmon (take 2)
>
> Hello,
>
> This patch against 2.6.20-git14 makes the NMI watchdog use PERFSEL1/PERFCTR1
> instead of PERFSEL0/PERFCTR0 on processors supporting Intel architectural
> perfmon, such as Intel Core 2. Although all PMU events can work on
> both counters, the Precise Event-Based Sampling (PEBS) requires that the
> event be in PERFCTR0 to work correctly (see section 18.14.4.1 in the
> IA32 SDM Vol 3b).
>
> A similar patch for x86-64 is to follow.
>
> Changelog:
> - make the i386 NMI watchdog use PERFSEL1/PERFCTR1 instead of PERFSEL0/PERFCTR0
> on processors supporting the Intel architectural perfmon (e.g. Core 2 Duo).
> This allows PEBS to work when the NMI watchdog is active.
>
> signed-off-by: stephane eranian <[email protected]>
>
> Signed-off-by: Andi Kleen <[email protected]>
>
> :040000 040000 9cee0745798cb56da2ca82032b8ee88a2c32700a f59ee02e3cd8f13503edb7312a3494f4d7ec0069 M arch
>

> #
> # Automatically generated make config: don't edit
> # Linux kernel version: 2.6.21
> # Tue Aug 7 16:40:44 2007
> #
> CONFIG_X86_32=y
> CONFIG_GENERIC_TIME=y
> CONFIG_CLOCKSOURCE_WATCHDOG=y
> CONFIG_GENERIC_CLOCKEVENTS=y
> CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
> CONFIG_LOCKDEP_SUPPORT=y
> CONFIG_STACKTRACE_SUPPORT=y
> CONFIG_SEMAPHORE_SLEEPERS=y
> CONFIG_X86=y
> CONFIG_MMU=y
> CONFIG_ZONE_DMA=y
> CONFIG_GENERIC_ISA_DMA=y
> CONFIG_GENERIC_IOMAP=y
> CONFIG_GENERIC_BUG=y
> CONFIG_GENERIC_HWEIGHT=y
> CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> CONFIG_DMI=y
> CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
>
> #
> # Code maturity level options
> #
> CONFIG_EXPERIMENTAL=y
> CONFIG_LOCK_KERNEL=y
> CONFIG_INIT_ENV_ARG_LIMIT=32
>
> #
> # General setup
> #
> CONFIG_LOCALVERSION=""
> # CONFIG_LOCALVERSION_AUTO is not set
> CONFIG_SWAP=y
> CONFIG_SYSVIPC=y
> # CONFIG_IPC_NS is not set
> CONFIG_SYSVIPC_SYSCTL=y
> # CONFIG_POSIX_MQUEUE is not set
> # CONFIG_BSD_PROCESS_ACCT is not set
> # CONFIG_TASKSTATS is not set
> # CONFIG_UTS_NS is not set
> # CONFIG_AUDIT is not set
> CONFIG_IKCONFIG=y
> CONFIG_IKCONFIG_PROC=y
> # CONFIG_CPUSETS is not set
> CONFIG_SYSFS_DEPRECATED=y
> # CONFIG_RELAY is not set
> # CONFIG_BLK_DEV_INITRD is not set
> # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
> CONFIG_SYSCTL=y
> # CONFIG_EMBEDDED is not set
> CONFIG_UID16=y
> CONFIG_SYSCTL_SYSCALL=y
> CONFIG_KALLSYMS=y
> # CONFIG_KALLSYMS_ALL is not set
> # CONFIG_KALLSYMS_EXTRA_PASS is not set
> CONFIG_HOTPLUG=y
> CONFIG_PRINTK=y
> CONFIG_BUG=y
> CONFIG_ELF_CORE=y
> CONFIG_BASE_FULL=y
> CONFIG_FUTEX=y
> CONFIG_EPOLL=y
> CONFIG_SHMEM=y
> CONFIG_SLAB=y
> CONFIG_VM_EVENT_COUNTERS=y
> CONFIG_RT_MUTEXES=y
> # CONFIG_TINY_SHMEM is not set
> CONFIG_BASE_SMALL=0
> # CONFIG_SLOB is not set
>
> #
> # Loadable module support
> #
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> CONFIG_MODULE_FORCE_UNLOAD=y
> # CONFIG_MODVERSIONS is not set
> # CONFIG_MODULE_SRCVERSION_ALL is not set
> CONFIG_KMOD=y
> CONFIG_STOP_MACHINE=y
>
> #
> # Block layer
> #
> CONFIG_BLOCK=y
> # CONFIG_LBD is not set
> # CONFIG_BLK_DEV_IO_TRACE is not set
> # CONFIG_LSF is not set
>
> #
> # IO Schedulers
> #
> CONFIG_IOSCHED_NOOP=y
> # CONFIG_IOSCHED_AS is not set
> # CONFIG_IOSCHED_DEADLINE is not set
> CONFIG_IOSCHED_CFQ=y
> # CONFIG_DEFAULT_AS is not set
> # CONFIG_DEFAULT_DEADLINE is not set
> CONFIG_DEFAULT_CFQ=y
> # CONFIG_DEFAULT_NOOP is not set
> CONFIG_DEFAULT_IOSCHED="cfq"
>
> #
> # Processor type and features
> #
> # CONFIG_TICK_ONESHOT is not set
> # CONFIG_NO_HZ is not set
> # CONFIG_HIGH_RES_TIMERS is not set
> CONFIG_SMP=y
> 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_PARAVIRT 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=y
> # CONFIG_MCORE2 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_MEFFICEON is not set
> # CONFIG_MWINCHIPC6 is not set
> # CONFIG_MWINCHIP2 is not set
> # CONFIG_MWINCHIP3D is not set
> # CONFIG_MGEODEGX1 is not set
> # CONFIG_MGEODE_LX is not set
> # CONFIG_MCYRIXIII is not set
> # CONFIG_MVIAC3_2 is not set
> # CONFIG_MVIAC7 is not set
> # CONFIG_X86_GENERIC is not set
> CONFIG_X86_CMPXCHG=y
> CONFIG_X86_L1_CACHE_SHIFT=6
> CONFIG_RWSEM_XCHGADD_ALGORITHM=y
> # CONFIG_ARCH_HAS_ILOG2_U32 is not set
> # CONFIG_ARCH_HAS_ILOG2_U64 is not set
> CONFIG_GENERIC_CALIBRATE_DELAY=y
> CONFIG_X86_WP_WORKS_OK=y
> CONFIG_X86_INVLPG=y
> CONFIG_X86_BSWAP=y
> CONFIG_X86_POPAD_OK=y
> CONFIG_X86_CMPXCHG64=y
> CONFIG_X86_GOOD_APIC=y
> CONFIG_X86_INTEL_USERCOPY=y
> CONFIG_X86_USE_PPRO_CHECKSUM=y
> CONFIG_X86_TSC=y
> CONFIG_HPET_TIMER=y
> CONFIG_HPET_EMULATE_RTC=y
> CONFIG_NR_CPUS=8
> # CONFIG_SCHED_SMT is not set
> CONFIG_SCHED_MC=y
> # CONFIG_PREEMPT_NONE is not set
> # CONFIG_PREEMPT_VOLUNTARY is not set
> CONFIG_PREEMPT=y
> CONFIG_PREEMPT_BKL=y
> CONFIG_X86_LOCAL_APIC=y
> CONFIG_X86_IO_APIC=y
> CONFIG_X86_MCE=y
> CONFIG_X86_MCE_NONFATAL=y
> CONFIG_X86_MCE_P4THERMAL=y
> CONFIG_VM86=y
> # CONFIG_TOSHIBA is not set
> # CONFIG_I8K is not set
> CONFIG_X86_REBOOTFIXUPS=y
> # 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_DELL_RBU is not set
> # CONFIG_DCDBAS is not set
> CONFIG_NOHIGHMEM=y
> # CONFIG_HIGHMEM4G is not set
> # CONFIG_HIGHMEM64G is not set
> CONFIG_PAGE_OFFSET=0xC0000000
> CONFIG_ARCH_FLATMEM_ENABLE=y
> CONFIG_ARCH_SPARSEMEM_ENABLE=y
> CONFIG_ARCH_SELECT_MEMORY_MODEL=y
> CONFIG_ARCH_POPULATES_NODE_MAP=y
> CONFIG_SELECT_MEMORY_MODEL=y
> CONFIG_FLATMEM_MANUAL=y
> # CONFIG_DISCONTIGMEM_MANUAL is not set
> # CONFIG_SPARSEMEM_MANUAL is not set
> CONFIG_FLATMEM=y
> CONFIG_FLAT_NODE_MEM_MAP=y
> CONFIG_SPARSEMEM_STATIC=y
> CONFIG_SPLIT_PTLOCK_CPUS=4
> # CONFIG_RESOURCES_64BIT is not set
> CONFIG_ZONE_DMA_FLAG=1
> # CONFIG_MATH_EMULATION is not set
> CONFIG_MTRR=y
> # CONFIG_EFI is not set
> CONFIG_IRQBALANCE=y
> # CONFIG_SECCOMP is not set
> CONFIG_HZ_100=y
> # CONFIG_HZ_250 is not set
> # CONFIG_HZ_300 is not set
> # CONFIG_HZ_1000 is not set
> CONFIG_HZ=100
> # CONFIG_KEXEC is not set
> CONFIG_PHYSICAL_START=0x100000
> # CONFIG_RELOCATABLE is not set
> CONFIG_PHYSICAL_ALIGN=0x100000
> CONFIG_HOTPLUG_CPU=y
> CONFIG_COMPAT_VDSO=y
>
> #
> # Power management options (ACPI, APM)
> #
> CONFIG_PM=y
> # CONFIG_PM_LEGACY is not set
> # CONFIG_PM_DEBUG is not set
> # CONFIG_PM_SYSFS_DEPRECATED is not set
> # CONFIG_SOFTWARE_SUSPEND is not set
> CONFIG_SUSPEND_SMP=y
>
> #
> # ACPI (Advanced Configuration and Power Interface) Support
> #
> CONFIG_ACPI=y
> CONFIG_ACPI_SLEEP=y
> CONFIG_ACPI_SLEEP_PROC_FS=y
> # CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
> # CONFIG_ACPI_PROCFS is not set
> # CONFIG_ACPI_AC is not set
> # CONFIG_ACPI_BATTERY is not set
> CONFIG_ACPI_BUTTON=m
> CONFIG_ACPI_VIDEO=m
> CONFIG_ACPI_FAN=m
> # CONFIG_ACPI_DOCK is not set
> CONFIG_ACPI_PROCESSOR=y
> CONFIG_ACPI_HOTPLUG_CPU=y
> CONFIG_ACPI_THERMAL=y
> # CONFIG_ACPI_ASUS is not set
> # CONFIG_ACPI_TOSHIBA is not set
> CONFIG_ACPI_BLACKLIST_YEAR=0
> # CONFIG_ACPI_DEBUG is not set
> CONFIG_ACPI_EC=y
> CONFIG_ACPI_POWER=y
> CONFIG_ACPI_SYSTEM=y
> CONFIG_X86_PM_TIMER=y
> CONFIG_ACPI_CONTAINER=y
> # CONFIG_ACPI_SBS is not set
>
> #
> # APM (Advanced Power Management) BIOS Support
> #
> # CONFIG_APM is not set
>
> #
> # CPU Frequency scaling
> #
> CONFIG_CPU_FREQ=y
> CONFIG_CPU_FREQ_TABLE=y
> # CONFIG_CPU_FREQ_DEBUG is not set
> CONFIG_CPU_FREQ_STAT=y
> # CONFIG_CPU_FREQ_STAT_DETAILS 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 is not set
> # CONFIG_CPU_FREQ_GOV_USERSPACE is not set
> # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
> # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
>
> #
> # CPUFreq processor drivers
> #
> CONFIG_X86_ACPI_CPUFREQ=y
> # CONFIG_X86_POWERNOW_K6 is not set
> # CONFIG_X86_POWERNOW_K7 is not set
> # CONFIG_X86_POWERNOW_K8 is not set
> # CONFIG_X86_GX_SUSPMOD is not set
> CONFIG_X86_SPEEDSTEP_CENTRINO=y
> # CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI is not set
> CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
> # CONFIG_X86_SPEEDSTEP_ICH is not set
> # CONFIG_X86_SPEEDSTEP_SMI is not set
> # CONFIG_X86_P4_CLOCKMOD is not set
> # CONFIG_X86_CPUFREQ_NFORCE2 is not set
> # CONFIG_X86_LONGRUN is not set
> # CONFIG_X86_LONGHAUL is not set
> # CONFIG_X86_E_POWERSAVER is not set
>
> #
> # shared options
> #
> # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
> # CONFIG_X86_SPEEDSTEP_LIB is not set
>
> #
> # Bus options (PCI, PCMCIA, EISA, MCA, ISA)
> #
> CONFIG_PCI=y
> # CONFIG_PCI_GOBIOS is not set
> # CONFIG_PCI_GOMMCONFIG is not set
> # CONFIG_PCI_GODIRECT is not set
> CONFIG_PCI_GOANY=y
> CONFIG_PCI_BIOS=y
> CONFIG_PCI_DIRECT=y
> CONFIG_PCI_MMCONFIG=y
> CONFIG_PCIEPORTBUS=y
> CONFIG_PCIEAER=y
> # CONFIG_PCI_MSI is not set
> # CONFIG_PCI_DEBUG is not set
> CONFIG_HT_IRQ=y
> CONFIG_ISA_DMA_API=y
> # CONFIG_ISA is not set
> # CONFIG_MCA is not set
> # CONFIG_SCx200 is not set
>
> #
> # PCCARD (PCMCIA/CardBus) support
> #
> # CONFIG_PCCARD is not set
>
> #
> # PCI Hotplug Support
> #
> # CONFIG_HOTPLUG_PCI is not set
>
> #
> # Executable file formats
> #
> CONFIG_BINFMT_ELF=y
> # CONFIG_BINFMT_AOUT is not set
> # CONFIG_BINFMT_MISC is not set
>
> #
> # Networking
> #
> CONFIG_NET=y
>
> #
> # Networking options
> #
> CONFIG_PACKET=y
> CONFIG_PACKET_MMAP=y
> CONFIG_UNIX=y
> CONFIG_XFRM=y
> # CONFIG_XFRM_USER is not set
> # CONFIG_XFRM_SUB_POLICY is not set
> # CONFIG_XFRM_MIGRATE is not set
> # CONFIG_NET_KEY is not set
> CONFIG_INET=y
> # CONFIG_IP_MULTICAST is not set
> # CONFIG_IP_ADVANCED_ROUTER is not set
> CONFIG_IP_FIB_HASH=y
> CONFIG_IP_PNP=y
> CONFIG_IP_PNP_DHCP=y
> CONFIG_IP_PNP_BOOTP=y
> # CONFIG_IP_PNP_RARP 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_XFRM_TUNNEL is not set
> # CONFIG_INET_TUNNEL is not set
> CONFIG_INET_XFRM_MODE_TRANSPORT=y
> CONFIG_INET_XFRM_MODE_TUNNEL=y
> CONFIG_INET_XFRM_MODE_BEET=y
> # CONFIG_INET_DIAG is not set
> # CONFIG_TCP_CONG_ADVANCED is not set
> CONFIG_TCP_CONG_CUBIC=y
> CONFIG_DEFAULT_TCP_CONG="cubic"
> # CONFIG_TCP_MD5SIG is not set
>
> #
> # IP: Virtual Server Configuration
> #
> # CONFIG_IP_VS is not set
> # CONFIG_IPV6 is not set
> # CONFIG_INET6_XFRM_TUNNEL is not set
> # CONFIG_INET6_TUNNEL is not set
> # CONFIG_NETWORK_SECMARK is not set
> CONFIG_NETFILTER=y
> # CONFIG_NETFILTER_DEBUG is not set
>
> #
> # Core Netfilter Configuration
> #
> # CONFIG_NETFILTER_NETLINK is not set
> # CONFIG_NF_CONNTRACK_ENABLED is not set
> # CONFIG_NF_CONNTRACK is not set
> CONFIG_NETFILTER_XTABLES=y
> # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
> # CONFIG_NETFILTER_XT_TARGET_MARK is not set
> # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
> # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
> # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
> # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
> # CONFIG_NETFILTER_XT_MATCH_DCCP is not set
> # CONFIG_NETFILTER_XT_MATCH_DSCP is not set
> # CONFIG_NETFILTER_XT_MATCH_ESP is not set
> # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
> CONFIG_NETFILTER_XT_MATCH_LIMIT=y
> CONFIG_NETFILTER_XT_MATCH_MAC=y
> # CONFIG_NETFILTER_XT_MATCH_MARK is not set
> # CONFIG_NETFILTER_XT_MATCH_POLICY is not set
> # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
> # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
> # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
> # CONFIG_NETFILTER_XT_MATCH_REALM is not set
> # CONFIG_NETFILTER_XT_MATCH_SCTP is not set
> # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
> # CONFIG_NETFILTER_XT_MATCH_STRING is not set
> # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
> # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
>
> #
> # IP: Netfilter Configuration
> #
> # CONFIG_IP_NF_QUEUE is not set
> CONFIG_IP_NF_IPTABLES=y
> # CONFIG_IP_NF_MATCH_IPRANGE is not set
> # CONFIG_IP_NF_MATCH_TOS is not set
> # CONFIG_IP_NF_MATCH_RECENT is not set
> # CONFIG_IP_NF_MATCH_ECN is not set
> # CONFIG_IP_NF_MATCH_AH is not set
> # CONFIG_IP_NF_MATCH_TTL is not set
> # CONFIG_IP_NF_MATCH_OWNER is not set
> # CONFIG_IP_NF_MATCH_ADDRTYPE is not set
> CONFIG_IP_NF_FILTER=y
> # CONFIG_IP_NF_TARGET_REJECT is not set
> CONFIG_IP_NF_TARGET_LOG=y
> # CONFIG_IP_NF_TARGET_ULOG is not set
> # CONFIG_IP_NF_MANGLE is not set
> # CONFIG_IP_NF_RAW is not set
> # CONFIG_IP_NF_ARPTABLES is not set
>
> #
> # DCCP Configuration (EXPERIMENTAL)
> #
> # CONFIG_IP_DCCP is not set
>
> #
> # SCTP Configuration (EXPERIMENTAL)
> #
> # CONFIG_IP_SCTP is not set
>
> #
> # TIPC Configuration (EXPERIMENTAL)
> #
> # CONFIG_TIPC 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_ECONET is not set
> # CONFIG_WAN_ROUTER is not set
>
> #
> # QoS and/or fair queueing
> #
> # CONFIG_NET_SCHED is not set
>
> #
> # Network testing
> #
> # CONFIG_NET_PKTGEN is not set
> # CONFIG_HAMRADIO is not set
> # CONFIG_IRDA is not set
> # CONFIG_BT is not set
> # CONFIG_AF_RXRPC is not set
>
> #
> # Wireless
> #
> # CONFIG_CFG80211 is not set
> # CONFIG_WIRELESS_EXT is not set
> # CONFIG_IEEE80211 is not set
>
> #
> # 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
> # CONFIG_DEBUG_DEVRES is not set
> # CONFIG_SYS_HYPERVISOR is not set
>
> #
> # Connector - unified userspace <-> kernelspace linker
> #
> # CONFIG_CONNECTOR is not set
> # CONFIG_MTD is not set
>
> #
> # Parallel port support
> #
> CONFIG_PARPORT=y
> CONFIG_PARPORT_PC=y
> # CONFIG_PARPORT_SERIAL is not set
> # CONFIG_PARPORT_PC_FIFO is not set
> # CONFIG_PARPORT_PC_SUPERIO is not set
> # CONFIG_PARPORT_GSC is not set
> # CONFIG_PARPORT_AX88796 is not set
> CONFIG_PARPORT_1284=y
>
> #
> # Plug and Play support
> #
> CONFIG_PNP=y
> # CONFIG_PNP_DEBUG is not set
>
> #
> # Protocols
> #
> CONFIG_PNPACPI=y
>
> #
> # Block devices
> #
> CONFIG_BLK_DEV_FD=m
> # 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_COW_COMMON is not set
> CONFIG_BLK_DEV_LOOP=m
> # CONFIG_BLK_DEV_CRYPTOLOOP is not set
> # 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 is not set
> # CONFIG_CDROM_PKTCDVD is not set
> # CONFIG_ATA_OVER_ETH is not set
>
> #
> # Misc devices
> #
> # CONFIG_IBM_ASM is not set
> # CONFIG_SGI_IOC4 is not set
> # CONFIG_TIFM_CORE is not set
> # CONFIG_MSI_LAPTOP is not set
> # CONFIG_SONY_LAPTOP is not set
> # CONFIG_THINKPAD_ACPI 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 is not set
> 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_BLK_DEV_IDEACPI is not set
> # CONFIG_IDE_TASK_IOCTL is not set
>
> #
> # 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=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_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_CS5535 is not set
> # CONFIG_BLK_DEV_HPT34X is not set
> # CONFIG_BLK_DEV_HPT366 is not set
> # CONFIG_BLK_DEV_JMICRON is not set
> # CONFIG_BLK_DEV_SC1200 is not set
> CONFIG_BLK_DEV_PIIX=y
> # CONFIG_BLK_DEV_IT8213 is not set
> # CONFIG_BLK_DEV_IT821X 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_BLK_DEV_TC86C001 is not set
> # CONFIG_IDE_ARM is not set
> CONFIG_BLK_DEV_IDEDMA=y
> # CONFIG_IDEDMA_IVB is not set
> # CONFIG_BLK_DEV_HD is not set
>
> #
> # SCSI device support
> #
> # CONFIG_RAID_ATTRS is not set
> CONFIG_SCSI=y
> # CONFIG_SCSI_TGT is not set
> # CONFIG_SCSI_NETLINK is not set
> # CONFIG_SCSI_PROC_FS is not set
>
> #
> # 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 is not set
> # CONFIG_CHR_DEV_SG is not set
> # CONFIG_CHR_DEV_SCH is not set
>
> #
> # 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
> # CONFIG_SCSI_SCAN_ASYNC is not set
>
> #
> # SCSI Transports
> #
> # CONFIG_SCSI_SPI_ATTRS is not set
> # CONFIG_SCSI_FC_ATTRS is not set
> # CONFIG_SCSI_ISCSI_ATTRS is not set
> # CONFIG_SCSI_SAS_ATTRS is not set
> # CONFIG_SCSI_SAS_LIBSAS is not set
>
> #
> # SCSI low-level drivers
> #
> # CONFIG_ISCSI_TCP is not set
> # 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_SCSI_AIC94XX is not set
> # CONFIG_SCSI_DPT_I2O is not set
> # CONFIG_SCSI_ADVANSYS is not set
> # CONFIG_SCSI_ARCMSR is not set
> # CONFIG_MEGARAID_NEWGEN is not set
> # CONFIG_MEGARAID_LEGACY is not set
> # CONFIG_MEGARAID_SAS is not set
> # CONFIG_SCSI_HPTIOP is not set
> # CONFIG_SCSI_BUSLOGIC is not set
> # CONFIG_SCSI_DMX3191D is not set
> # CONFIG_SCSI_EATA 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_PPA is not set
> # CONFIG_SCSI_IMM is not set
> # CONFIG_SCSI_STEX is not set
> # CONFIG_SCSI_SYM53C8XX_2 is not set
> # CONFIG_SCSI_QLOGIC_1280 is not set
> # CONFIG_SCSI_QLA_FC is not set
> # CONFIG_SCSI_QLA_ISCSI is not set
> # CONFIG_SCSI_LPFC 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
> # CONFIG_SCSI_ESP_CORE is not set
> # CONFIG_SCSI_SRP is not set
>
> #
> # Serial ATA (prod) and Parallel ATA (experimental) drivers
> #
> # CONFIG_ATA is not set
>
> #
> # Multi-device support (RAID and LVM)
> #
> # CONFIG_MD is not set
>
> #
> # Fusion MPT device support
> #
> # CONFIG_FUSION is not set
> # CONFIG_FUSION_SPI is not set
> # CONFIG_FUSION_FC is not set
> # CONFIG_FUSION_SAS is not set
>
> #
> # IEEE 1394 (FireWire) support
> #
> # CONFIG_IEEE1394 is not set
>
> #
> # I2O device support
> #
> # CONFIG_I2O is not set
>
> #
> # Macintosh device drivers
> #
> # CONFIG_MAC_EMUMOUSEBTN is not set
>
> #
> # Network device support
> #
> 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
>
> #
> # PHY device support
> #
> # CONFIG_PHYLIB 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_CASSINI 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=y
> CONFIG_8139TOO_PIO=y
> # CONFIG_8139TOO_TUNE_TWISTER is not set
> CONFIG_8139TOO_8129=y
> # 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_SC92031 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_SIS190 is not set
> # CONFIG_SKGE is not set
> # CONFIG_SKY2 is not set
> # CONFIG_SK98LIN is not set
> # CONFIG_VIA_VELOCITY is not set
> # CONFIG_TIGON3 is not set
> # CONFIG_BNX2 is not set
> # CONFIG_QLA3XXX is not set
> # CONFIG_ATL1 is not set
>
> #
> # Ethernet (10000 Mbit)
> #
> # CONFIG_CHELSIO_T1 is not set
> # CONFIG_CHELSIO_T3 is not set
> # CONFIG_IXGB is not set
> # CONFIG_S2IO is not set
> # CONFIG_MYRI10GE is not set
> # CONFIG_NETXEN_NIC is not set
>
> #
> # Token Ring devices
> #
> # CONFIG_TR is not set
>
> #
> # Wireless LAN
> #
> # CONFIG_WLAN_PRE80211 is not set
> # CONFIG_WLAN_80211 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=m
> CONFIG_PPP_MULTILINK=y
> # CONFIG_PPP_FILTER is not set
> # CONFIG_PPP_ASYNC is not set
> # CONFIG_PPP_SYNC_TTY is not set
> CONFIG_PPP_DEFLATE=m
> CONFIG_PPP_BSDCOMP=m
> CONFIG_PPP_MPPE=m
> # CONFIG_PPPOE is not set
> # CONFIG_SLIP is not set
> CONFIG_SLHC=m
> # CONFIG_NET_FC is not set
> # CONFIG_SHAPER is not set
> CONFIG_NETCONSOLE=y
> CONFIG_NETPOLL=y
> # CONFIG_NETPOLL_TRAP is not set
> CONFIG_NET_POLL_CONTROLLER=y
>
> #
> # ISDN subsystem
> #
> # CONFIG_ISDN is not set
>
> #
> # Telephony Support
> #
> # CONFIG_PHONE is not set
>
> #
> # Input device support
> #
> CONFIG_INPUT=y
> # CONFIG_INPUT_FF_MEMLESS is not set
>
> #
> # Userland interfaces
> #
> CONFIG_INPUT_MOUSEDEV=y
> CONFIG_INPUT_MOUSEDEV_PSAUX=y
> CONFIG_INPUT_MOUSEDEV_SCREEN_X=1280
> CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1024
> # CONFIG_INPUT_JOYDEV is not set
> # CONFIG_INPUT_TSDEV is not set
> CONFIG_INPUT_EVDEV=y
> # CONFIG_INPUT_EVBUG 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_KEYBOARD_STOWAWAY 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_WISTRON_BTNS is not set
> # CONFIG_INPUT_ATLAS_BTNS is not set
> # CONFIG_INPUT_UINPUT is not set
>
> #
> # Hardware I/O ports
> #
> 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
> CONFIG_SERIO_LIBPS2=y
> # CONFIG_SERIO_RAW is not set
> # CONFIG_GAMEPORT is not set
>
> #
> # Character devices
> #
> CONFIG_VT=y
> CONFIG_VT_CONSOLE=y
> CONFIG_HW_CONSOLE=y
> # CONFIG_VT_HW_CONSOLE_BINDING is not set
> # CONFIG_SERIAL_NONSTANDARD is not set
>
> #
> # Serial drivers
> #
> CONFIG_SERIAL_8250=y
> CONFIG_SERIAL_8250_CONSOLE=y
> CONFIG_SERIAL_8250_PCI=y
> CONFIG_SERIAL_8250_PNP=y
> CONFIG_SERIAL_8250_NR_UARTS=4
> CONFIG_SERIAL_8250_RUNTIME_UARTS=4
> # CONFIG_SERIAL_8250_EXTENDED is not set
>
> #
> # Non-8250 serial port support
> #
> CONFIG_SERIAL_CORE=y
> CONFIG_SERIAL_CORE_CONSOLE=y
> # CONFIG_SERIAL_JSM is not set
> 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_IBMASR is not set
> # CONFIG_WAFER_WDT is not set
> CONFIG_I6300ESB_WDT=m
> # CONFIG_I8XX_TCO is not set
> # CONFIG_ITCO_WDT is not set
> # CONFIG_SC1200_WDT is not set
> # CONFIG_PC87413_WDT is not set
> # CONFIG_60XX_WDT is not set
> # CONFIG_SBC8360_WDT is not set
> # CONFIG_CPU5_WDT is not set
> # CONFIG_SMSC37B787_WDT is not set
> # CONFIG_W83627HF_WDT is not set
> # CONFIG_W83697HF_WDT is not set
> # CONFIG_W83877F_WDT is not set
> # CONFIG_W83977F_WDT is not set
> # CONFIG_MACHZ_WDT is not set
> # CONFIG_SBC_EPX_C3_WATCHDOG is not set
>
> #
> # PCI-based Watchdog Cards
> #
> # CONFIG_PCIPCWATCHDOG is not set
> # CONFIG_WDTPCI is not set
>
> #
> # USB-based Watchdog Cards
> #
> # CONFIG_USBPCWATCHDOG is not set
> CONFIG_HW_RANDOM=y
> CONFIG_HW_RANDOM_INTEL=y
> CONFIG_HW_RANDOM_AMD=y
> CONFIG_HW_RANDOM_GEODE=y
> CONFIG_HW_RANDOM_VIA=y
> 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
> 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=y
> # CONFIG_AGP_NVIDIA is not set
> # CONFIG_AGP_SIS is not set
> # CONFIG_AGP_SWORKS is not set
> # CONFIG_AGP_VIA is not set
> # CONFIG_AGP_EFFICEON is not set
> CONFIG_DRM=y
> # CONFIG_DRM_TDFX is not set
> CONFIG_DRM_R128=m
> CONFIG_DRM_RADEON=m
> # CONFIG_DRM_I810 is not set
> # CONFIG_DRM_I830 is not set
> # CONFIG_DRM_I915 is not set
> # CONFIG_DRM_MGA is not set
> # CONFIG_DRM_SIS is not set
> # CONFIG_DRM_VIA is not set
> # CONFIG_DRM_SAVAGE is not set
> # CONFIG_MWAVE is not set
> # CONFIG_PC8736x_GPIO is not set
> # CONFIG_NSC_GPIO is not set
> # CONFIG_CS5535_GPIO 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
>
> #
> # TPM devices
> #
> # CONFIG_TCG_TPM is not set
> # CONFIG_TELCLOCK is not set
>
> #
> # I2C support
> #
> CONFIG_I2C=y
> CONFIG_I2C_CHARDEV=y
>
> #
> # I2C Algorithms
> #
> CONFIG_I2C_ALGOBIT=y
> # 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_I801 is not set
> # CONFIG_I2C_I810 is not set
> # CONFIG_I2C_PIIX4 is not set
> CONFIG_I2C_ISA=y
> # CONFIG_I2C_NFORCE2 is not set
> # CONFIG_I2C_OCORES is not set
> # CONFIG_I2C_PARPORT is not set
> # CONFIG_I2C_PARPORT_LIGHT 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_STUB is not set
> # CONFIG_I2C_VIA is not set
> CONFIG_I2C_VIAPRO=y
> # CONFIG_I2C_VOODOO3 is not set
> # CONFIG_I2C_PCA_ISA is not set
>
> #
> # Miscellaneous I2C Chip support
> #
> # CONFIG_SENSORS_DS1337 is not set
> # CONFIG_SENSORS_DS1374 is not set
> # CONFIG_SENSORS_EEPROM is not set
> # CONFIG_SENSORS_PCF8574 is not set
> # CONFIG_SENSORS_PCA9539 is not set
> # CONFIG_SENSORS_PCF8591 is not set
> # CONFIG_SENSORS_MAX6875 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
>
> #
> # SPI support
> #
> # CONFIG_SPI is not set
> # CONFIG_SPI_MASTER is not set
>
> #
> # Dallas's 1-wire bus
> #
> # CONFIG_W1 is not set
>
> #
> # Hardware Monitoring support
> #
> CONFIG_HWMON=y
> CONFIG_HWMON_VID=y
> # CONFIG_SENSORS_ABITUGURU is not set
> # CONFIG_SENSORS_ADM1021 is not set
> # CONFIG_SENSORS_ADM1025 is not set
> # CONFIG_SENSORS_ADM1026 is not set
> # CONFIG_SENSORS_ADM1029 is not set
> # CONFIG_SENSORS_ADM1031 is not set
> # CONFIG_SENSORS_ADM9240 is not set
> # CONFIG_SENSORS_K8TEMP is not set
> # CONFIG_SENSORS_ASB100 is not set
> # CONFIG_SENSORS_ATXP1 is not set
> # CONFIG_SENSORS_DS1621 is not set
> # CONFIG_SENSORS_F71805F is not set
> # CONFIG_SENSORS_FSCHER is not set
> # CONFIG_SENSORS_FSCPOS is not set
> # CONFIG_SENSORS_GL518SM is not set
> # CONFIG_SENSORS_GL520SM is not set
> CONFIG_SENSORS_IT87=y
> # CONFIG_SENSORS_LM63 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_LM87 is not set
> # CONFIG_SENSORS_LM90 is not set
> # CONFIG_SENSORS_LM92 is not set
> # CONFIG_SENSORS_MAX1619 is not set
> # CONFIG_SENSORS_PC87360 is not set
> # CONFIG_SENSORS_PC87427 is not set
> # CONFIG_SENSORS_SIS5595 is not set
> # CONFIG_SENSORS_SMSC47M1 is not set
> # CONFIG_SENSORS_SMSC47M192 is not set
> # CONFIG_SENSORS_SMSC47B397 is not set
> # CONFIG_SENSORS_VIA686A is not set
> # CONFIG_SENSORS_VT1211 is not set
> # CONFIG_SENSORS_VT8231 is not set
> # CONFIG_SENSORS_W83781D is not set
> # CONFIG_SENSORS_W83791D is not set
> # CONFIG_SENSORS_W83792D is not set
> # CONFIG_SENSORS_W83793 is not set
> # CONFIG_SENSORS_W83L785TS is not set
> # CONFIG_SENSORS_W83627HF is not set
> # CONFIG_SENSORS_W83627EHF is not set
> # CONFIG_SENSORS_HDAPS is not set
> # CONFIG_HWMON_DEBUG_CHIP is not set
>
> #
> # Multifunction device drivers
> #
> # CONFIG_MFD_SM501 is not set
>
> #
> # Multimedia devices
> #
> # CONFIG_VIDEO_DEV is not set
>
> #
> # Digital Video Broadcasting Devices
> #
> # CONFIG_DVB is not set
> # CONFIG_USB_DABUSB is not set
>
> #
> # Graphics support
> #
> CONFIG_BACKLIGHT_LCD_SUPPORT=y
> CONFIG_BACKLIGHT_CLASS_DEVICE=y
> CONFIG_LCD_CLASS_DEVICE=m
> # CONFIG_BACKLIGHT_PROGEAR is not set
> CONFIG_FB=y
> CONFIG_FIRMWARE_EDID=y
> CONFIG_FB_DDC=y
> CONFIG_FB_CFB_FILLRECT=y
> CONFIG_FB_CFB_COPYAREA=y
> CONFIG_FB_CFB_IMAGEBLIT=y
> # CONFIG_FB_SVGALIB is not set
> # CONFIG_FB_MACMODES is not set
> CONFIG_FB_BACKLIGHT=y
> CONFIG_FB_MODE_HELPERS=y
> # CONFIG_FB_TILEBLITTING is not set
>
> #
> # Frame buffer hardware drivers
> #
> # CONFIG_FB_CIRRUS is not set
> # CONFIG_FB_PM2 is not set
> # CONFIG_FB_CYBER2000 is not set
> # CONFIG_FB_ARC is not set
> # CONFIG_FB_ASILIANT is not set
> # CONFIG_FB_IMSTT is not set
> # CONFIG_FB_VGA16 is not set
> # CONFIG_FB_VESA is not set
> # CONFIG_FB_HGA is not set
> # CONFIG_FB_S1D13XXX is not set
> # CONFIG_FB_NVIDIA is not set
> # CONFIG_FB_RIVA is not set
> # CONFIG_FB_I810 is not set
> # CONFIG_FB_INTEL is not set
> # CONFIG_FB_MATROX is not set
> CONFIG_FB_RADEON=y
> CONFIG_FB_RADEON_I2C=y
> CONFIG_FB_RADEON_BACKLIGHT=y
> # CONFIG_FB_RADEON_DEBUG is not set
> CONFIG_FB_ATY128=m
> CONFIG_FB_ATY128_BACKLIGHT=y
> # CONFIG_FB_ATY is not set
> # CONFIG_FB_S3 is not set
> # CONFIG_FB_SAVAGE 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_CYBLA is not set
> # CONFIG_FB_TRIDENT is not set
> # CONFIG_FB_GEODE is not set
> # CONFIG_FB_VIRTUAL is not set
>
> #
> # Console display driver support
> #
> CONFIG_VGA_CONSOLE=y
> # CONFIG_VGACON_SOFT_SCROLLBACK is not set
> CONFIG_VIDEO_SELECT=y
> CONFIG_DUMMY_CONSOLE=y
> CONFIG_FRAMEBUFFER_CONSOLE=y
> # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
> # CONFIG_FONTS is not set
> CONFIG_FONT_8x8=y
> CONFIG_FONT_8x16=y
>
> #
> # Logo configuration
> #
> # CONFIG_LOGO is not set
>
> #
> # Sound
> #
> # CONFIG_SOUND is not set
>
> #
> # HID Devices
> #
> CONFIG_HID=y
> CONFIG_HID_DEBUG=y
>
> #
> # USB Input Devices
> #
> # CONFIG_USB_HID is not set
>
> #
> # USB HID Boot Protocol drivers
> #
> # CONFIG_USB_KBD is not set
> # CONFIG_USB_MOUSE is not set
>
> #
> # USB support
> #
> CONFIG_USB_ARCH_HAS_HCD=y
> CONFIG_USB_ARCH_HAS_OHCI=y
> CONFIG_USB_ARCH_HAS_EHCI=y
> CONFIG_USB=y
> # CONFIG_USB_DEBUG is not set
>
> #
> # Miscellaneous USB options
> #
> CONFIG_USB_DEVICEFS=y
> CONFIG_USB_DEVICE_CLASS=y
> # 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_EHCI_TT_NEWSCHED is not set
> # CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
> # CONFIG_USB_ISP116X_HCD is not set
> # CONFIG_USB_OHCI_HCD is not set
> CONFIG_USB_UHCI_HCD=y
> # CONFIG_USB_SL811_HCD is not set
>
> #
> # USB Device Class drivers
> #
> # CONFIG_USB_ACM is not set
> # CONFIG_USB_PRINTER is not set
>
> #
> # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
> #
>
> #
> # may also be needed; see USB_STORAGE Help for more information
> #
> CONFIG_USB_STORAGE=y
> # CONFIG_USB_STORAGE_DEBUG is not set
> # CONFIG_USB_STORAGE_DATAFAB is not set
> # CONFIG_USB_STORAGE_FREECOM is not set
> # CONFIG_USB_STORAGE_ISD200 is not set
> # CONFIG_USB_STORAGE_DPCM is not set
> # CONFIG_USB_STORAGE_USBAT is not set
> # CONFIG_USB_STORAGE_SDDR09 is not set
> # CONFIG_USB_STORAGE_SDDR55 is not set
> # CONFIG_USB_STORAGE_JUMPSHOT is not set
> # CONFIG_USB_STORAGE_ALAUDA is not set
> # CONFIG_USB_STORAGE_KARMA is not set
> # CONFIG_USB_LIBUSUAL is not set
>
> #
> # USB Input Devices
> #
> # CONFIG_USB_AIPTEK is not set
> # CONFIG_USB_WACOM is not set
> # CONFIG_USB_ACECAD is not set
> # CONFIG_USB_KBTAB is not set
> # CONFIG_USB_POWERMATE is not set
> # CONFIG_USB_TOUCHSCREEN is not set
> # CONFIG_USB_YEALINK is not set
> # CONFIG_USB_XPAD is not set
> # CONFIG_USB_ATI_REMOTE is not set
> # CONFIG_USB_ATI_REMOTE2 is not set
> # CONFIG_USB_KEYSPAN_REMOTE is not set
> # CONFIG_USB_APPLETOUCH is not set
> # CONFIG_USB_GTCO is not set
>
> #
> # USB Imaging devices
> #
> # CONFIG_USB_MDC800 is not set
> # CONFIG_USB_MICROTEK is not set
>
> #
> # USB Network Adapters
> #
> # 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_MII is not set
> # CONFIG_USB_USBNET is not set
> # CONFIG_USB_MON is not set
>
> #
> # USB port drivers
> #
> # CONFIG_USB_USS720 is not set
>
> #
> # 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_ADUTUX 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_BERRY_CHARGE is not set
> # CONFIG_USB_LED is not set
> # CONFIG_USB_CYPRESS_CY7C63 is not set
> # CONFIG_USB_CYTHERM is not set
> # CONFIG_USB_PHIDGET is not set
> # CONFIG_USB_IDMOUSE is not set
> # CONFIG_USB_FTDI_ELAN is not set
> # CONFIG_USB_APPLEDISPLAY is not set
> # CONFIG_USB_SISUSBVGA is not set
> # CONFIG_USB_LD is not set
> # CONFIG_USB_TRANCEVIBRATOR is not set
> # CONFIG_USB_IOWARRIOR is not set
> # CONFIG_USB_TEST is not set
>
> #
> # USB DSL modem support
> #
>
> #
> # USB Gadget Support
> #
> CONFIG_USB_GADGET=m
> # CONFIG_USB_GADGET_DEBUG_FILES is not set
> CONFIG_USB_GADGET_SELECTED=y
> # CONFIG_USB_GADGET_FSL_USB2 is not set
> CONFIG_USB_GADGET_NET2280=y
> CONFIG_USB_NET2280=m
> # CONFIG_USB_GADGET_PXA2XX is not set
> # CONFIG_USB_GADGET_GOKU is not set
> # CONFIG_USB_GADGET_LH7A40X is not set
> # CONFIG_USB_GADGET_OMAP is not set
> # CONFIG_USB_GADGET_AT91 is not set
> # CONFIG_USB_GADGET_DUMMY_HCD is not set
> CONFIG_USB_GADGET_DUALSPEED=y
> # CONFIG_USB_ZERO is not set
> # CONFIG_USB_ETH is not set
> # CONFIG_USB_GADGETFS is not set
> # CONFIG_USB_FILE_STORAGE is not set
> # CONFIG_USB_G_SERIAL is not set
> # CONFIG_USB_MIDI_GADGET is not set
>
> #
> # MMC/SD Card support
> #
> # CONFIG_MMC is not set
>
> #
> # LED devices
> #
> # CONFIG_NEW_LEDS is not set
>
> #
> # LED drivers
> #
>
> #
> # LED Triggers
> #
>
> #
> # InfiniBand support
> #
> # CONFIG_INFINIBAND is not set
>
> #
> # EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
> #
> # CONFIG_EDAC is not set
>
> #
> # Real Time Clock
> #
> CONFIG_RTC_LIB=m
> CONFIG_RTC_CLASS=m
>
> #
> # RTC interfaces
> #
> CONFIG_RTC_INTF_SYSFS=m
> CONFIG_RTC_INTF_PROC=m
> CONFIG_RTC_INTF_DEV=m
> # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
>
> #
> # RTC drivers
> #
> # CONFIG_RTC_DRV_CMOS is not set
> # CONFIG_RTC_DRV_X1205 is not set
> # CONFIG_RTC_DRV_DS1307 is not set
> # CONFIG_RTC_DRV_DS1553 is not set
> # CONFIG_RTC_DRV_ISL1208 is not set
> # CONFIG_RTC_DRV_DS1672 is not set
> # CONFIG_RTC_DRV_DS1742 is not set
> # CONFIG_RTC_DRV_PCF8563 is not set
> # CONFIG_RTC_DRV_RS5C372 is not set
> # CONFIG_RTC_DRV_M48T86 is not set
> # CONFIG_RTC_DRV_TEST is not set
> # CONFIG_RTC_DRV_V3020 is not set
>
> #
> # DMA Engine support
> #
> # CONFIG_DMA_ENGINE is not set
>
> #
> # DMA Clients
> #
>
> #
> # DMA Devices
> #
>
> #
> # Auxiliary Display support
> #
> # CONFIG_KS0108 is not set
>
> #
> # Virtualization
> #
> # CONFIG_KVM is not set
>
> #
> # File systems
> #
> CONFIG_EXT2_FS=y
> # CONFIG_EXT2_FS_XATTR is not set
> # CONFIG_EXT2_FS_XIP 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_EXT4DEV_FS 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_FS_POSIX_ACL is not set
> # CONFIG_XFS_FS is not set
> # CONFIG_GFS2_FS is not set
> # CONFIG_OCFS2_FS is not set
> # CONFIG_MINIX_FS is not set
> # CONFIG_ROMFS_FS is not set
> # CONFIG_INOTIFY is not set
> # CONFIG_QUOTA is not set
> CONFIG_DNOTIFY=y
> # CONFIG_AUTOFS_FS is not set
> CONFIG_AUTOFS4_FS=y
> # CONFIG_FUSE_FS is not set
>
> #
> # CD-ROM/DVD Filesystems
> #
> CONFIG_ISO9660_FS=y
> CONFIG_JOLIET=y
> CONFIG_ZISOFS=y
> # CONFIG_UDF_FS is not set
>
> #
> # 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-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_PROC_SYSCTL=y
> CONFIG_SYSFS=y
> CONFIG_TMPFS=y
> # CONFIG_TMPFS_POSIX_ACL is not set
> # CONFIG_HUGETLBFS is not set
> # CONFIG_HUGETLB_PAGE is not set
> CONFIG_RAMFS=y
> # CONFIG_CONFIGFS_FS is not set
>
> #
> # 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_V3_ACL is not set
> # CONFIG_NFS_V4 is not set
> # CONFIG_NFS_DIRECTIO is not set
> CONFIG_NFSD=m
> CONFIG_NFSD_V3=y
> # CONFIG_NFSD_V3_ACL is not set
> # CONFIG_NFSD_V4 is not set
> CONFIG_NFSD_TCP=y
> CONFIG_ROOT_NFS=y
> CONFIG_LOCKD=y
> CONFIG_LOCKD_V4=y
> CONFIG_EXPORTFS=m
> CONFIG_NFS_COMMON=y
> 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=y
> # CONFIG_CIFS_STATS is not set
> # CONFIG_CIFS_WEAK_PW_HASH is not set
> # CONFIG_CIFS_XATTR is not set
> # CONFIG_CIFS_DEBUG2 is not set
> # CONFIG_CIFS_EXPERIMENTAL is not set
> # CONFIG_NCP_FS is not set
> # CONFIG_CODA_FS is not set
> # CONFIG_AFS_FS is not set
> # CONFIG_9P_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_KARMA_PARTITION is not set
> # CONFIG_EFI_PARTITION is not set
>
> #
> # Native Language Support
> #
> CONFIG_NLS=y
> CONFIG_NLS_DEFAULT="iso8859-15"
> 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 is not set
> # 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=y
>
> #
> # Distributed Lock Manager
> #
> # CONFIG_DLM is not set
>
> #
> # Instrumentation Support
> #
> # CONFIG_PROFILING is not set
> # CONFIG_KPROBES is not set
>
> #
> # Kernel hacking
> #
> CONFIG_TRACE_IRQFLAGS_SUPPORT=y
> # CONFIG_PRINTK_TIME is not set
> CONFIG_ENABLE_MUST_CHECK=y
> CONFIG_MAGIC_SYSRQ=y
> CONFIG_UNUSED_SYMBOLS=y
> # CONFIG_DEBUG_FS is not set
> # CONFIG_HEADERS_CHECK is not set
> CONFIG_DEBUG_KERNEL=y
> # CONFIG_DEBUG_SHIRQ is not set
> CONFIG_LOG_BUF_SHIFT=15
> CONFIG_DETECT_SOFTLOCKUP=y
> # CONFIG_SCHEDSTATS is not set
> # CONFIG_TIMER_STATS is not set
> # CONFIG_DEBUG_SLAB is not set
> CONFIG_DEBUG_PREEMPT=y
> # CONFIG_DEBUG_RT_MUTEXES is not set
> # CONFIG_RT_MUTEX_TESTER is not set
> # CONFIG_DEBUG_SPINLOCK is not set
> # CONFIG_DEBUG_MUTEXES is not set
> # CONFIG_DEBUG_LOCK_ALLOC is not set
> # CONFIG_PROVE_LOCKING is not set
> # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
> # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
> # CONFIG_DEBUG_KOBJECT is not set
> CONFIG_DEBUG_BUGVERBOSE=y
> CONFIG_DEBUG_INFO=y
> # CONFIG_DEBUG_VM is not set
> # CONFIG_DEBUG_LIST is not set
> CONFIG_FRAME_POINTER=y
> CONFIG_FORCED_INLINING=y
> # CONFIG_RCU_TORTURE_TEST is not set
> # CONFIG_FAULT_INJECTION 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_DEBUG_RODATA is not set
> # CONFIG_4KSTACKS is not set
> CONFIG_X86_FIND_SMP_CONFIG=y
> CONFIG_X86_MPPARSE=y
> CONFIG_DOUBLEFAULT=y
>
> #
> # Security options
> #
> # CONFIG_KEYS is not set
> # CONFIG_SECURITY is not set
>
> #
> # Cryptographic options
> #
> CONFIG_CRYPTO=y
> CONFIG_CRYPTO_ALGAPI=m
> CONFIG_CRYPTO_BLKCIPHER=m
> CONFIG_CRYPTO_MANAGER=m
> # CONFIG_CRYPTO_HMAC is not set
> # CONFIG_CRYPTO_XCBC is not set
> # CONFIG_CRYPTO_NULL is not set
> # CONFIG_CRYPTO_MD4 is not set
> # CONFIG_CRYPTO_MD5 is not set
> CONFIG_CRYPTO_SHA1=m
> # CONFIG_CRYPTO_SHA256 is not set
> # CONFIG_CRYPTO_SHA512 is not set
> # CONFIG_CRYPTO_WP512 is not set
> # CONFIG_CRYPTO_TGR192 is not set
> # CONFIG_CRYPTO_GF128MUL is not set
> CONFIG_CRYPTO_ECB=m
> CONFIG_CRYPTO_CBC=m
> CONFIG_CRYPTO_PCBC=m
> # CONFIG_CRYPTO_LRW is not set
> # CONFIG_CRYPTO_DES is not set
> # CONFIG_CRYPTO_FCRYPT is not set
> # CONFIG_CRYPTO_BLOWFISH is not set
> # CONFIG_CRYPTO_TWOFISH is not set
> # CONFIG_CRYPTO_TWOFISH_586 is not set
> # CONFIG_CRYPTO_SERPENT is not set
> # CONFIG_CRYPTO_AES 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=m
> # CONFIG_CRYPTO_KHAZAD is not set
> # CONFIG_CRYPTO_ANUBIS is not set
> # CONFIG_CRYPTO_DEFLATE is not set
> # CONFIG_CRYPTO_MICHAEL_MIC is not set
> # CONFIG_CRYPTO_CRC32C is not set
> # CONFIG_CRYPTO_CAMELLIA is not set
> # CONFIG_CRYPTO_TEST is not set
>
> #
> # Hardware crypto devices
> #
> # CONFIG_CRYPTO_DEV_PADLOCK is not set
> CONFIG_CRYPTO_DEV_GEODE=m
>
> #
> # Library routines
> #
> CONFIG_BITREVERSE=y
> # CONFIG_CRC_CCITT is not set
> # CONFIG_CRC16 is not set
> CONFIG_CRC32=y
> # CONFIG_LIBCRC32C is not set
> CONFIG_ZLIB_INFLATE=y
> CONFIG_ZLIB_DEFLATE=m
> CONFIG_PLIST=y
> CONFIG_HAS_IOMEM=y
> CONFIG_HAS_IOPORT=y
> CONFIG_GENERIC_HARDIRQS=y
> CONFIG_GENERIC_IRQ_PROBE=y
> CONFIG_GENERIC_PENDING_IRQ=y
> CONFIG_X86_SMP=y
> CONFIG_X86_HT=y
> CONFIG_X86_BIOS_REBOOT=y
> CONFIG_X86_TRAMPOLINE=y
> CONFIG_KTIME_SCALAR=y

2007-08-08 15:26:22

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Wed, 2007-08-08 at 16:20 +0200, Björn Steinbrink wrote:
> On 2007.08.07 17:06:49 -0700, Daniel Walker wrote:
> >
> > This patch below hangs my system on boot if I set nmi_watchdog=2 . It
> > shows the NMI as stuck then the system hangs .. nmi_watchdog=1 works
> > fine, and the system boots without any watchdog options ..
> >
> > The machine is an Intel allagash development board, and it has two dual
> > core Pentium-M cpus. I attached the .config I used.
>
> Should be fixed in commit e82f64e5bb0648a13630d752c35be1e7bd8bab96
> (2.6.23-rc1 IIRC).
>
> Unfornately it didn't make it into 2.6.22, but the patch should work
> even with 2.6.21 IIRC.

I originally found the problem in 2.6.23-rc2 (actually latest git) so
whatever the problem is still exists ..

Daniel

2007-08-20 16:48:41

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Wed, 2007-08-08 at 16:20 +0200, Björn Steinbrink wrote:
> On 2007.08.07 17:06:49 -0700, Daniel Walker wrote:
> >
> > This patch below hangs my system on boot if I set nmi_watchdog=2 . It
> > shows the NMI as stuck then the system hangs .. nmi_watchdog=1 works
> > fine, and the system boots without any watchdog options ..
> >
> > The machine is an Intel allagash development board, and it has two dual
> > core Pentium-M cpus. I attached the .config I used.

Could we put this on the known regressions list? It was added in 2.6.21,
and still exists in lastest git (as of 15 min. ago) ..

Daniel

2007-08-23 20:09:04

by Michal Piotrowski

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Hi Daniel,

Daniel Walker pisze:
> On Wed, 2007-08-08 at 16:20 +0200, Björn Steinbrink wrote:
>> On 2007.08.07 17:06:49 -0700, Daniel Walker wrote:
>>> This patch below hangs my system on boot if I set nmi_watchdog=2 . It
>>> shows the NMI as stuck then the system hangs .. nmi_watchdog=1 works
>>> fine, and the system boots without any watchdog options ..
>>>
>>> The machine is an Intel allagash development board, and it has two dual
>>> core Pentium-M cpus. I attached the .config I used.
>
> Could we put this on the known regressions list? It was added in 2.6.21,
> and still exists in lastest git (as of 15 min. ago) ..

Bugzilla should be a better place for this bug.

I don't have enough time to track bugs after release, so old lists are not
maintained
http://kernelnewbies.org/known_regressions_2622
http://kernelnewbies.org/known_regressions_2621

>
> Daniel
>
>

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-23 21:28:57

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Thu, 2007-08-23 at 22:08 +0200, Michal Piotrowski wrote:
> Hi Daniel,
>
> Daniel Walker pisze:
> > On Wed, 2007-08-08 at 16:20 +0200, Björn Steinbrink wrote:
> >> On 2007.08.07 17:06:49 -0700, Daniel Walker wrote:
> >>> This patch below hangs my system on boot if I set nmi_watchdog=2 . It
> >>> shows the NMI as stuck then the system hangs .. nmi_watchdog=1 works
> >>> fine, and the system boots without any watchdog options ..
> >>>
> >>> The machine is an Intel allagash development board, and it has two dual
> >>> core Pentium-M cpus. I attached the .config I used.
> >
> > Could we put this on the known regressions list? It was added in 2.6.21,
> > and still exists in lastest git (as of 15 min. ago) ..
>
> Bugzilla should be a better place for this bug.

Ok.

> I don't have enough time to track bugs after release, so old lists are not
> maintained
> http://kernelnewbies.org/known_regressions_2622
> http://kernelnewbies.org/known_regressions_2621

Have you considered maintaining all the lists in Bugzilla? If you had a
search of open bugs they would just fall of the list as they get
closed..

Daniel

2007-08-27 00:45:33

by Michal Piotrowski

[permalink] [raw]
Subject: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

Daniel Walker pisze:
[snip]
> Have you considered maintaining all the lists in Bugzilla?

Yes, I have considered it.

Bugzilla sucks when it comes to tracking things. There is
a regression field, but there are no difference between
2.6.22 and 2.6.23 regression.

Most people are reporting bugs through LKML:
- 23 regressions with reference to LKML
- 4 regressions with reference to Bugzilla

> If you had a
> search of open bugs they would just fall of the list as they get
> closed..

Unfortunately, the world is not perfect.

Is anyone interested in maintaining KR list for stable releases?

>
> Daniel
>
>

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-27 07:52:19

by Andrew Morton

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 27 Aug 2007 02:45:02 +0200 Michal Piotrowski <[email protected]> wrote:

> Daniel Walker pisze:
> [snip]
> > Have you considered maintaining all the lists in Bugzilla?
>
> Yes, I have considered it.
>
> Bugzilla sucks when it comes to tracking things. There is
> a regression field, but there are no difference between
> 2.6.22 and 2.6.23 regression.
>
> Most people are reporting bugs through LKML:
> - 23 regressions with reference to LKML
> - 4 regressions with reference to Bugzilla

Presumably that's fixable.

But I think bugzilla is more appropriate for tracking longer-term bugs. If
some problem has just popped up (or has just been discovered) then it's
best to try to knock it over with a quick email discussion. If that
doesn't work out then the bug should be captured in bugzilla so that it
doesn't get lost.

The really important data which bugzilla will record are

a) the fact that the bug exists and

b) the identity of the person who can reproduce it and who will hopefully
work with us on fixing it.

> > If you had a
> > search of open bugs they would just fall of the list as they get
> > closed..
>
> Unfortunately, the world is not perfect.
>
> Is anyone interested in maintaining KR list for stable releases?

I'm not sure that we need one, really. Any bugs in a stable release can be
handled via email and/or bugzilla as we are presently doing?

What I'm concerned about is that regressions which we didn't fix are just
getting lost. Is anyone taking care to ensure that they are getting
transitioned into bugzilla for tracking?


2007-08-27 08:12:12

by David Rees

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On 8/26/07, Michal Piotrowski <[email protected]> wrote:
> Bugzilla sucks when it comes to tracking things. There is
> a regression field, but there are no difference between
> 2.6.22 and 2.6.23 regression.

Here's how to use Bugzilla to track regressions between different
kernel versions:

Create a 2.6.22 regression bug and a 2.6.23 regression bug. All
regression bugs which are 2.6.22 regression bugs should block the
2.6.22 regression bug. All regression bugs which are 2.6.23 regression
bugs should block the 2.6.23 regression bug.

For example, say your master 2.6.22 regression bug tracking bug is #1.
When someone comes and files a new bug #2 which is a regression of
2.6.22, make bug #2 block bug #1. Then it is easy to see to track all
the 2.6.22 regressions.

To make it easier to remember what bug number tracks regressions for a
specific kernel, use a naming convention to create aliases for those
bugs.

-Dave

2007-08-27 09:41:41

by Jeff Garzik

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

Andrew Morton wrote:
> What I'm concerned about is that regressions which we didn't fix are just
> getting lost. Is anyone taking care to ensure that they are getting
> transitioned into bugzilla for tracking?

Maybe this was a dumb assumption on my part, but I thought regressions
were getting rolled over into the next release's list, if they are not
solved?

Jeff


2007-08-27 11:35:53

by Michal Piotrowski

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On 27/08/07, Jeff Garzik <[email protected]> wrote:
> Andrew Morton wrote:
> > What I'm concerned about is that regressions which we didn't fix are just
> > getting lost. Is anyone taking care to ensure that they are getting
> > transitioned into bugzilla for tracking?
>
> Maybe this was a dumb assumption on my part, but I thought regressions
> were getting rolled over into the next release's list, if they are not
> solved?

I have tried to track all regressions, but it is a lot of work, so I
center on development kernels.

There are two lists (both unmaintained)

http://kernelnewbies.org/known_regressions_2622
http://kernelnewbies.org/known_regressions_2621

If you compare them, you will see "New regressions (submitted after
2.6.21 a.k.a. for -stable team)" - a long list of problems reported
after 2.6.21 release. I really do not have time to track issues in
stable releases.

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-27 11:38:39

by Michal Piotrowski

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On 27/08/07, Andrew Morton <[email protected]> wrote:
> On Mon, 27 Aug 2007 02:45:02 +0200 Michal Piotrowski <[email protected]> wrote:
>
> > Daniel Walker pisze:
> > [snip]
> > > Have you considered maintaining all the lists in Bugzilla?
> >
> > Yes, I have considered it.
> >
> > Bugzilla sucks when it comes to tracking things. There is
> > a regression field, but there are no difference between
> > 2.6.22 and 2.6.23 regression.
> >
> > Most people are reporting bugs through LKML:
> > - 23 regressions with reference to LKML
> > - 4 regressions with reference to Bugzilla
>
> Presumably that's fixable.
>
> But I think bugzilla is more appropriate for tracking longer-term bugs. If
> some problem has just popped up (or has just been discovered) then it's
> best to try to knock it over with a quick email discussion. If that
> doesn't work out then the bug should be captured in bugzilla so that it
> doesn't get lost.
>
> The really important data which bugzilla will record are
>
> a) the fact that the bug exists and
>
> b) the identity of the person who can reproduce it and who will hopefully
> work with us on fixing it.
>
> > > If you had a
> > > search of open bugs they would just fall of the list as they get
> > > closed..
> >
> > Unfortunately, the world is not perfect.
> >
> > Is anyone interested in maintaining KR list for stable releases?
>
> I'm not sure that we need one, really. Any bugs in a stable release can be
> handled via email and/or bugzilla as we are presently doing?
>
> What I'm concerned about is that regressions which we didn't fix are just
> getting lost. Is anyone taking care to ensure that they are getting
> transitioned into bugzilla for tracking?

I can copy all regression reports into Bugzilla after each release.

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-27 11:42:21

by Michal Piotrowski

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On 27/08/07, David Rees <[email protected]> wrote:
> On 8/26/07, Michal Piotrowski <[email protected]> wrote:
> > Bugzilla sucks when it comes to tracking things. There is
> > a regression field, but there are no difference between
> > 2.6.22 and 2.6.23 regression.
>
> Here's how to use Bugzilla to track regressions between different
> kernel versions:
>
> Create a 2.6.22 regression bug and a 2.6.23 regression bug. All
> regression bugs which are 2.6.22 regression bugs should block the
> 2.6.22 regression bug. All regression bugs which are 2.6.23 regression
> bugs should block the 2.6.23 regression bug.
>
> For example, say your master 2.6.22 regression bug tracking bug is #1.
> When someone comes and files a new bug #2 which is a regression of
> 2.6.22, make bug #2 block bug #1. Then it is easy to see to track all
> the 2.6.22 regressions.
>
> To make it easier to remember what bug number tracks regressions for a
> specific kernel, use a naming convention to create aliases for those
> bugs.

This sounds pretty easy :), thanks.

Unfortunately, Bugzilla is not a standard tool for handling bug reports.

>
> -Dave
>

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-27 12:25:01

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Monday, 27 August 2007 13:38, Michal Piotrowski wrote:
> On 27/08/07, Andrew Morton <[email protected]> wrote:
> > On Mon, 27 Aug 2007 02:45:02 +0200 Michal Piotrowski <[email protected]> wrote:
> >
> > > Daniel Walker pisze:
> > > [snip]
> > > > Have you considered maintaining all the lists in Bugzilla?
> > >
> > > Yes, I have considered it.
> > >
> > > Bugzilla sucks when it comes to tracking things. There is
> > > a regression field, but there are no difference between
> > > 2.6.22 and 2.6.23 regression.
> > >
> > > Most people are reporting bugs through LKML:
> > > - 23 regressions with reference to LKML
> > > - 4 regressions with reference to Bugzilla
> >
> > Presumably that's fixable.
> >
> > But I think bugzilla is more appropriate for tracking longer-term bugs. If
> > some problem has just popped up (or has just been discovered) then it's
> > best to try to knock it over with a quick email discussion. If that
> > doesn't work out then the bug should be captured in bugzilla so that it
> > doesn't get lost.
> >
> > The really important data which bugzilla will record are
> >
> > a) the fact that the bug exists and
> >
> > b) the identity of the person who can reproduce it and who will hopefully
> > work with us on fixing it.
> >
> > > > If you had a
> > > > search of open bugs they would just fall of the list as they get
> > > > closed..
> > >
> > > Unfortunately, the world is not perfect.
> > >
> > > Is anyone interested in maintaining KR list for stable releases?
> >
> > I'm not sure that we need one, really. Any bugs in a stable release can be
> > handled via email and/or bugzilla as we are presently doing?
> >
> > What I'm concerned about is that regressions which we didn't fix are just
> > getting lost. Is anyone taking care to ensure that they are getting
> > transitioned into bugzilla for tracking?
>
> I can copy all regression reports into Bugzilla after each release.

The unresolved ones, that is? If you can do that, it would be a very good
thing, IMO.

Greetings,
Rafael

2007-08-27 14:47:20

by Daniel Walker

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 2007-08-27 at 02:45 +0200, Michal Piotrowski wrote:
> Daniel Walker pisze:
> [snip]
> > Have you considered maintaining all the lists in Bugzilla?
>
> Yes, I have considered it.
>
> Bugzilla sucks when it comes to tracking things. There is
> a regression field, but there are no difference between
> 2.6.22 and 2.6.23 regression.
>
> Most people are reporting bugs through LKML:
> - 23 regressions with reference to LKML
> - 4 regressions with reference to Bugzilla

The main reason that I commented on this was because of your comment
below in the release emails,

Feel free to add new regressions/remove fixed etc.
http://kernelnewbies.org/known_regressions

And I was thinking, if these bugz need to transition over the bugzilla
anyway why not go straight there instead of via kernelnewbies .. People
would just get bugzilla accounts and open new bugz entry.

I not trying to force you into something , and ultimately it whatever is
easier for you.. Which was my main reason for commenting on it.

> > If you had a
> > search of open bugs they would just fall of the list as they get
> > closed..
>
> Unfortunately, the world is not perfect.

I think over time it would work like that , but I'm sure there's lots of
people who don't care about our bugzilla ..

Daniel

2007-08-27 15:02:50

by Michal Piotrowski

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On 27/08/07, Rafael J. Wysocki <[email protected]> wrote:
> On Monday, 27 August 2007 13:38, Michal Piotrowski wrote:
[..]
> > I can copy all regression reports into Bugzilla after each release.
>
> The unresolved ones, that is?

Yes, exactly.

> If you can do that, it would be a very good
> thing, IMO.
>
> Greetings,
> Rafael
>

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-27 15:12:15

by Michal Piotrowski

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On 27/08/07, Daniel Walker <[email protected]> wrote:
> On Mon, 2007-08-27 at 02:45 +0200, Michal Piotrowski wrote:
> > Daniel Walker pisze:
> > [snip]
> > > Have you considered maintaining all the lists in Bugzilla?
> >
> > Yes, I have considered it.
> >
> > Bugzilla sucks when it comes to tracking things. There is
> > a regression field, but there are no difference between
> > 2.6.22 and 2.6.23 regression.
> >
> > Most people are reporting bugs through LKML:
> > - 23 regressions with reference to LKML
> > - 4 regressions with reference to Bugzilla
>
> The main reason that I commented on this was because of your comment
> below in the release emails,
>
> Feel free to add new regressions/remove fixed etc.
> http://kernelnewbies.org/known_regressions
>
> And I was thinking, if these bugz need to transition over the bugzilla
> anyway why not go straight there instead of via kernelnewbies .. People
> would just get bugzilla accounts and open new bugz entry.

Some people hates Bugzilla, and they do not want to use it.

>
> I not trying to force you into something , and ultimately it whatever is
> easier for you.. Which was my main reason for commenting on it.
>
> > > If you had a
> > > search of open bugs they would just fall of the list as they get
> > > closed..
> >
> > Unfortunately, the world is not perfect.
>
> I think over time it would work like that , but I'm sure there's lots of
> people who don't care about our bugzilla ..
>
> Daniel
>
>

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-27 15:20:57

by Daniel Walker

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 2007-08-27 at 13:38 +0200, Michal Piotrowski wrote:
> On 27/08/07, Andrew Morton <[email protected]> wrote:
> > On Mon, 27 Aug 2007 02:45:02 +0200 Michal Piotrowski <[email protected]> wrote:
> >
> > > Daniel Walker pisze:
> > > [snip]
> > > > Have you considered maintaining all the lists in Bugzilla?
> > >
> > > Yes, I have considered it.
> > >
> > > Bugzilla sucks when it comes to tracking things. There is
> > > a regression field, but there are no difference between
> > > 2.6.22 and 2.6.23 regression.
> > >
> > > Most people are reporting bugs through LKML:
> > > - 23 regressions with reference to LKML
> > > - 4 regressions with reference to Bugzilla
> >
> > Presumably that's fixable.
> >
> > But I think bugzilla is more appropriate for tracking longer-term bugs. If
> > some problem has just popped up (or has just been discovered) then it's
> > best to try to knock it over with a quick email discussion. If that
> > doesn't work out then the bug should be captured in bugzilla so that it
> > doesn't get lost.
> >
> > The really important data which bugzilla will record are
> >
> > a) the fact that the bug exists and
> >
> > b) the identity of the person who can reproduce it and who will hopefully
> > work with us on fixing it.
> >
> > > > If you had a
> > > > search of open bugs they would just fall of the list as they get
> > > > closed..
> > >
> > > Unfortunately, the world is not perfect.
> > >
> > > Is anyone interested in maintaining KR list for stable releases?
> >
> > I'm not sure that we need one, really. Any bugs in a stable release can be
> > handled via email and/or bugzilla as we are presently doing?
> >
> > What I'm concerned about is that regressions which we didn't fix are just
> > getting lost. Is anyone taking care to ensure that they are getting
> > transitioned into bugzilla for tracking?
>
> I can copy all regression reports into Bugzilla after each release.

Should we get the regression field fix before? Or had you planned on
just bypassing that completely ?

Daniel

2007-08-27 15:26:29

by Michal Piotrowski

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On 27/08/07, Daniel Walker <[email protected]> wrote:
> On Mon, 2007-08-27 at 13:38 +0200, Michal Piotrowski wrote:
> > On 27/08/07, Andrew Morton <[email protected]> wrote:
[..]
> > > I'm not sure that we need one, really. Any bugs in a stable release can be
> > > handled via email and/or bugzilla as we are presently doing?
> > >
> > > What I'm concerned about is that regressions which we didn't fix are just
> > > getting lost. Is anyone taking care to ensure that they are getting
> > > transitioned into bugzilla for tracking?
> >
> > I can copy all regression reports into Bugzilla after each release.
>
> Should we get the regression field fix before? Or had you planned on
> just bypassing that completely ?

IMO solution proposed by David http://lkml.org/lkml/2007/8/27/21 seems
to be most reasonable.

>
> Daniel
>
>

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-27 15:47:51

by Daniel Walker

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 2007-08-27 at 17:26 +0200, Michal Piotrowski wrote:
> On 27/08/07, Daniel Walker <[email protected]> wrote:
> > On Mon, 2007-08-27 at 13:38 +0200, Michal Piotrowski wrote:
> > > On 27/08/07, Andrew Morton <[email protected]> wrote:
> [..]
> > > > I'm not sure that we need one, really. Any bugs in a stable release can be
> > > > handled via email and/or bugzilla as we are presently doing?
> > > >
> > > > What I'm concerned about is that regressions which we didn't fix are just
> > > > getting lost. Is anyone taking care to ensure that they are getting
> > > > transitioned into bugzilla for tracking?
> > >
> > > I can copy all regression reports into Bugzilla after each release.
> >
> > Should we get the regression field fix before? Or had you planned on
> > just bypassing that completely ?
>
> IMO solution proposed by David http://lkml.org/lkml/2007/8/27/21 seems
> to be most reasonable.

Now that I'm looking at the kernel bugzilla .. If you set the kernel
version to 2.6.22 and set the "Regression" check box you could denote
the fact that it's a regression in that kernel version ..

I don't know if this URL is going to come out right,

http://bugzilla.kernel.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&tree=Mainline&long_desc_type=substring&long_desc=&kernel_version_type=allwordssubstr&kernel_version=2.6.22&bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&chfieldfrom=&chfieldto=Now&chfieldvalue=&regression=include&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=

That should be open bugs , kernel version 2.6.22, with the regression
check box set ..

So you may not need a master tracking bug ..

Daniel



2007-08-27 16:19:42

by Adrian Bunk

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, Aug 27, 2007 at 05:41:17AM -0400, Jeff Garzik wrote:
> Andrew Morton wrote:
>> What I'm concerned about is that regressions which we didn't fix are just
>> getting lost. Is anyone taking care to ensure that they are getting
>> transitioned into bugzilla for tracking?
>
> Maybe this was a dumb assumption on my part, but I thought regressions were
> getting rolled over into the next release's list, if they are not solved?

Judging from the regression lists and the regression reports we get
post-release both on lkml and in the kernel Bugzilla we have much more
than 100 unfixed regressions since 2.6.20 (plus regressions from older
kernels...).

Tracking that many regressions is one problem (although getting all bug
reports in Bugzilla would make this quite easy), but the bigger problem
is how to get them debugged and resolved.

> Jeff

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2007-08-27 16:20:54

by Daniel Walker

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 2007-08-27 at 18:09 +0200, Adrian Bunk wrote:
> On Mon, Aug 27, 2007 at 05:41:17AM -0400, Jeff Garzik wrote:
> > Andrew Morton wrote:
> >> What I'm concerned about is that regressions which we didn't fix are just
> >> getting lost. Is anyone taking care to ensure that they are getting
> >> transitioned into bugzilla for tracking?
> >
> > Maybe this was a dumb assumption on my part, but I thought regressions were
> > getting rolled over into the next release's list, if they are not solved?
>
> Judging from the regression lists and the regression reports we get
> post-release both on lkml and in the kernel Bugzilla we have much more
> than 100 unfixed regressions since 2.6.20 (plus regressions from older
> kernels...).
>
> Tracking that many regressions is one problem (although getting all bug
> reports in Bugzilla would make this quite easy), but the bigger problem
> is how to get them debugged and resolved.

Maximize the shame right? Post summaries of the regressions to LKML so
that everyone knows about the regression list, and what was broken and
who broke it ..

Daniel

2007-08-27 16:34:44

by Daniel Walker

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 2007-08-27 at 00:51 -0700, Andrew Morton wrote:
> On Mon, 27 Aug 2007 02:45:02 +0200 Michal Piotrowski <[email protected]> wrote:
>
> > Daniel Walker pisze:
> > [snip]
> > > Have you considered maintaining all the lists in Bugzilla?
> >
> > Yes, I have considered it.
> >
> > Bugzilla sucks when it comes to tracking things. There is
> > a regression field, but there are no difference between
> > 2.6.22 and 2.6.23 regression.
> >
> > Most people are reporting bugs through LKML:
> > - 23 regressions with reference to LKML
> > - 4 regressions with reference to Bugzilla
>
> Presumably that's fixable.

I've got some addition grips that I just noticed ..

http://bugzilla.kernel.org/show_bug.cgi?id=8945

I just file the above bugz entry ..

I know who caused the bug , Stephane Eranian <[email protected]> ..
However I can't assign the bug to him. The field was greyed out and
forced the assignee as [email protected] ..

I tryed to CC: [email protected] , and it said "no match" .. I guess
because he doesn't have an account.. So Stephane has no way to know the
bug exists , other than me emailing him ..

Also I couldn't check the "Regression" box until after I filed the bug..
It would be nice to file the bug in one action if it's possible .. I
don't know bugzilla well enough to know if that's possible tho.

Daniel

2007-08-27 16:46:40

by Andrew Morton

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 27 Aug 2007 09:26:48 -0700 Daniel Walker <[email protected]> wrote:

> On Mon, 2007-08-27 at 00:51 -0700, Andrew Morton wrote:
> > On Mon, 27 Aug 2007 02:45:02 +0200 Michal Piotrowski <[email protected]> wrote:
> >
> > > Daniel Walker pisze:
> > > [snip]
> > > > Have you considered maintaining all the lists in Bugzilla?
> > >
> > > Yes, I have considered it.
> > >
> > > Bugzilla sucks when it comes to tracking things. There is
> > > a regression field, but there are no difference between
> > > 2.6.22 and 2.6.23 regression.
> > >
> > > Most people are reporting bugs through LKML:
> > > - 23 regressions with reference to LKML
> > > - 4 regressions with reference to Bugzilla
> >
> > Presumably that's fixable.
>
> I've got some addition grips that I just noticed ..
>
> http://bugzilla.kernel.org/show_bug.cgi?id=8945
>
> I just file the above bugz entry ..
>
> I know who caused the bug , Stephane Eranian <[email protected]> ..
> However I can't assign the bug to him. The field was greyed out and
> forced the assignee as [email protected] ..
>
> I tryed to CC: [email protected] , and it said "no match" .. I guess
> because he doesn't have an account.. So Stephane has no way to know the
> bug exists , other than me emailing him ..
>
> Also I couldn't check the "Regression" box until after I filed the bug..
> It would be nice to file the bug in one action if it's possible .. I
> don't know bugzilla well enough to know if that's possible tho.
>

It's a hassle when someone doesn't have a bugzilla account. But there are
humans sitting behind bugzilla handling stuff (fsvo "human"). I've already
forwarded your bugzilla report to Stephane pointing out that he doesn't
have an account.

I screen 100% of new bugzilla reports and for those which I think need
attention (most), I will ensure that the appropriate parties get to see the
report. I'll also verify that the "regression" state is correct and that
the provided info is sufficient-looking. (It's amazing how many people
have trouble with the "Most recent kernel where this bug did not occur:"
question).

What I haven't been doing is ensuring that the Product and Component fields
are suitably set. That's something which Natalie is now cleaning up.

2007-08-27 16:52:41

by Adrian Bunk

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, Aug 27, 2007 at 09:44:03AM -0700, Andrew Morton wrote:
>...
> What I haven't been doing is ensuring that the Product and Component fields
> are suitably set. That's something which Natalie is now cleaning up.

I always fixed them when they were wrong, and I'd therefore be surprised
if they were wrong for a significant amount of open bugs.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2007-08-27 17:03:17

by Michal Piotrowski

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

Daniel Walker pisze:
> On Mon, 2007-08-27 at 17:26 +0200, Michal Piotrowski wrote:
>> On 27/08/07, Daniel Walker <[email protected]> wrote:
>>> On Mon, 2007-08-27 at 13:38 +0200, Michal Piotrowski wrote:
>>>> On 27/08/07, Andrew Morton <[email protected]> wrote:
>> [..]
>>>>> I'm not sure that we need one, really. Any bugs in a stable release can be
>>>>> handled via email and/or bugzilla as we are presently doing?
>>>>>
>>>>> What I'm concerned about is that regressions which we didn't fix are just
>>>>> getting lost. Is anyone taking care to ensure that they are getting
>>>>> transitioned into bugzilla for tracking?
>>>> I can copy all regression reports into Bugzilla after each release.
>>> Should we get the regression field fix before? Or had you planned on
>>> just bypassing that completely ?
>> IMO solution proposed by David http://lkml.org/lkml/2007/8/27/21 seems
>> to be most reasonable.
>
> Now that I'm looking at the kernel bugzilla .. If you set the kernel
> version to 2.6.22 and set the "Regression" check box you could denote
> the fact that it's a regression in that kernel version ..
>
> I don't know if this URL is going to come out right,
>
> http://bugzilla.kernel.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&tree=Mainline&long_desc_type=substring&long_desc=&kernel_version_type=allwordssubstr&kernel_version=2.6.22&bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&chfieldfrom=&chfieldto=Now&chfieldvalue=&regression=include&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
>
> That should be open bugs , kernel version 2.6.22, with the regression
> check box set ..
>
> So you may not need a master tracking bug ..

Indeed, now we need a predefined search "show regressions in 2.6.x" :)

So the plan is simple:
- copy all regressions into bugzilla after each release
- make sure that all regressions reported on lkml after realase hit bugzilla
- make sure that all regressions in bugzilla are marked as regression

>
> Daniel

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

2007-08-27 17:16:29

by Daniel Walker

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 2007-08-27 at 09:44 -0700, Andrew Morton wrote:

> It's a hassle when someone doesn't have a bugzilla account. But there are
> humans sitting behind bugzilla handling stuff (fsvo "human"). I've already
> forwarded your bugzilla report to Stephane pointing out that he doesn't
> have an account.
>
> I screen 100% of new bugzilla reports and for those which I think need
> attention (most), I will ensure that the appropriate parties get to see the
> report. I'll also verify that the "regression" state is correct and that
> the provided info is sufficient-looking. (It's amazing how many people
> have trouble with the "Most recent kernel where this bug did not occur:"
> question).

When I read that question, it sort of feels like a mind bender. It's the
"did not occur" , most people are thinking "which version of the kernel
did I find this in", but it's asking the opposite ..

For bug #8945 I really don't recall the version of the kernel I ran when
it worked .. I had to do a bisect to get some clue about that ..
nmi_watchdog isn't something I use every time I boot (I should tho), and
I go through lots of kernels ..

> What I haven't been doing is ensuring that the Product and Component fields
> are suitably set. That's something which Natalie is now cleaning up.

In terms of regressions, it would be nice for the "Version" field to be
the kernel where the regression first showed up .. Like on bug #8945 I
put in 2.6.22 even tho I found the issue in 2.6.23-rc1 .. Is that
typically what the "Version" field is used for?

Daniel

2007-08-27 17:25:26

by Daniel Walker

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 2007-08-27 at 19:02 +0200, Michal Piotrowski wrote:

> Indeed, now we need a predefined search "show regressions in 2.6.x" :)
>
> So the plan is simple:
> - copy all regressions into bugzilla after each release
> - make sure that all regressions reported on lkml after realase hit bugzilla
> - make sure that all regressions in bugzilla are marked as regression

That would be great ;)

Daniel

2007-08-27 17:55:23

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Daniel,

You mentioned you have a development board with a dual Pentium-M.

What are the exact family/model numbers?

What Bjorn points you at below is a fix that applies to
Intel Core Duo/Solo (Yonah) and Intel Core 2 series but not to
regular Pentium-M (no architectural perfmon there).

I have successfully booted 2.6.23-rc3 on PIII, Opteron and Intel Core 2
Duo with nmi_watchdog=2.

On Wed, Aug 08, 2007 at 04:20:59PM +0200, Bj?rn Steinbrink wrote:
> On 2007.08.07 17:06:49 -0700, Daniel Walker wrote:
> >
> > This patch below hangs my system on boot if I set nmi_watchdog=2 . It
> > shows the NMI as stuck then the system hangs .. nmi_watchdog=1 works
> > fine, and the system boots without any watchdog options ..
> >
> > The machine is an Intel allagash development board, and it has two dual
> > core Pentium-M cpus. I attached the .config I used.
>
> Should be fixed in commit e82f64e5bb0648a13630d752c35be1e7bd8bab96
> (2.6.23-rc1 IIRC).
>
> Unfornately it didn't make it into 2.6.22, but the patch should work
> even with 2.6.21 IIRC.
>
> Bj?rn
>
> >
> > bf8696ed6dfa561198b4736deaf11ab68dcc4845 is first bad commit
> > commit bf8696ed6dfa561198b4736deaf11ab68dcc4845
> > Author: Stephane Eranian <[email protected]>
> > Date: Wed May 2 19:27:05 2007 +0200
> >
> > [PATCH] i386: i386 make NMI use PERFCTR1 for architectural perfmon (take 2)
> >
> > Hello,
> >
> > This patch against 2.6.20-git14 makes the NMI watchdog use PERFSEL1/PERFCTR1
> > instead of PERFSEL0/PERFCTR0 on processors supporting Intel architectural
> > perfmon, such as Intel Core 2. Although all PMU events can work on
> > both counters, the Precise Event-Based Sampling (PEBS) requires that the
> > event be in PERFCTR0 to work correctly (see section 18.14.4.1 in the
> > IA32 SDM Vol 3b).
> >
> > A similar patch for x86-64 is to follow.
> >
> > Changelog:
> > - make the i386 NMI watchdog use PERFSEL1/PERFCTR1 instead of PERFSEL0/PERFCTR0
> > on processors supporting the Intel architectural perfmon (e.g. Core 2 Duo).
> > This allows PEBS to work when the NMI watchdog is active.
> >
> > signed-off-by: stephane eranian <[email protected]>
> >
> > Signed-off-by: Andi Kleen <[email protected]>
> >
> > :040000 040000 9cee0745798cb56da2ca82032b8ee88a2c32700a f59ee02e3cd8f13503edb7312a3494f4d7ec0069 M arch
> >
>
> > #
> > # Automatically generated make config: don't edit
> > # Linux kernel version: 2.6.21
> > # Tue Aug 7 16:40:44 2007
> > #
> > CONFIG_X86_32=y
> > CONFIG_GENERIC_TIME=y
> > CONFIG_CLOCKSOURCE_WATCHDOG=y
> > CONFIG_GENERIC_CLOCKEVENTS=y
> > CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
> > CONFIG_LOCKDEP_SUPPORT=y
> > CONFIG_STACKTRACE_SUPPORT=y
> > CONFIG_SEMAPHORE_SLEEPERS=y
> > CONFIG_X86=y
> > CONFIG_MMU=y
> > CONFIG_ZONE_DMA=y
> > CONFIG_GENERIC_ISA_DMA=y
> > CONFIG_GENERIC_IOMAP=y
> > CONFIG_GENERIC_BUG=y
> > CONFIG_GENERIC_HWEIGHT=y
> > CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> > CONFIG_DMI=y
> > CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
> >
> > #
> > # Code maturity level options
> > #
> > CONFIG_EXPERIMENTAL=y
> > CONFIG_LOCK_KERNEL=y
> > CONFIG_INIT_ENV_ARG_LIMIT=32
> >
> > #
> > # General setup
> > #
> > CONFIG_LOCALVERSION=""
> > # CONFIG_LOCALVERSION_AUTO is not set
> > CONFIG_SWAP=y
> > CONFIG_SYSVIPC=y
> > # CONFIG_IPC_NS is not set
> > CONFIG_SYSVIPC_SYSCTL=y
> > # CONFIG_POSIX_MQUEUE is not set
> > # CONFIG_BSD_PROCESS_ACCT is not set
> > # CONFIG_TASKSTATS is not set
> > # CONFIG_UTS_NS is not set
> > # CONFIG_AUDIT is not set
> > CONFIG_IKCONFIG=y
> > CONFIG_IKCONFIG_PROC=y
> > # CONFIG_CPUSETS is not set
> > CONFIG_SYSFS_DEPRECATED=y
> > # CONFIG_RELAY is not set
> > # CONFIG_BLK_DEV_INITRD is not set
> > # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
> > CONFIG_SYSCTL=y
> > # CONFIG_EMBEDDED is not set
> > CONFIG_UID16=y
> > CONFIG_SYSCTL_SYSCALL=y
> > CONFIG_KALLSYMS=y
> > # CONFIG_KALLSYMS_ALL is not set
> > # CONFIG_KALLSYMS_EXTRA_PASS is not set
> > CONFIG_HOTPLUG=y
> > CONFIG_PRINTK=y
> > CONFIG_BUG=y
> > CONFIG_ELF_CORE=y
> > CONFIG_BASE_FULL=y
> > CONFIG_FUTEX=y
> > CONFIG_EPOLL=y
> > CONFIG_SHMEM=y
> > CONFIG_SLAB=y
> > CONFIG_VM_EVENT_COUNTERS=y
> > CONFIG_RT_MUTEXES=y
> > # CONFIG_TINY_SHMEM is not set
> > CONFIG_BASE_SMALL=0
> > # CONFIG_SLOB is not set
> >
> > #
> > # Loadable module support
> > #
> > CONFIG_MODULES=y
> > CONFIG_MODULE_UNLOAD=y
> > CONFIG_MODULE_FORCE_UNLOAD=y
> > # CONFIG_MODVERSIONS is not set
> > # CONFIG_MODULE_SRCVERSION_ALL is not set
> > CONFIG_KMOD=y
> > CONFIG_STOP_MACHINE=y
> >
> > #
> > # Block layer
> > #
> > CONFIG_BLOCK=y
> > # CONFIG_LBD is not set
> > # CONFIG_BLK_DEV_IO_TRACE is not set
> > # CONFIG_LSF is not set
> >
> > #
> > # IO Schedulers
> > #
> > CONFIG_IOSCHED_NOOP=y
> > # CONFIG_IOSCHED_AS is not set
> > # CONFIG_IOSCHED_DEADLINE is not set
> > CONFIG_IOSCHED_CFQ=y
> > # CONFIG_DEFAULT_AS is not set
> > # CONFIG_DEFAULT_DEADLINE is not set
> > CONFIG_DEFAULT_CFQ=y
> > # CONFIG_DEFAULT_NOOP is not set
> > CONFIG_DEFAULT_IOSCHED="cfq"
> >
> > #
> > # Processor type and features
> > #
> > # CONFIG_TICK_ONESHOT is not set
> > # CONFIG_NO_HZ is not set
> > # CONFIG_HIGH_RES_TIMERS is not set
> > CONFIG_SMP=y
> > 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_PARAVIRT 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=y
> > # CONFIG_MCORE2 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_MEFFICEON is not set
> > # CONFIG_MWINCHIPC6 is not set
> > # CONFIG_MWINCHIP2 is not set
> > # CONFIG_MWINCHIP3D is not set
> > # CONFIG_MGEODEGX1 is not set
> > # CONFIG_MGEODE_LX is not set
> > # CONFIG_MCYRIXIII is not set
> > # CONFIG_MVIAC3_2 is not set
> > # CONFIG_MVIAC7 is not set
> > # CONFIG_X86_GENERIC is not set
> > CONFIG_X86_CMPXCHG=y
> > CONFIG_X86_L1_CACHE_SHIFT=6
> > CONFIG_RWSEM_XCHGADD_ALGORITHM=y
> > # CONFIG_ARCH_HAS_ILOG2_U32 is not set
> > # CONFIG_ARCH_HAS_ILOG2_U64 is not set
> > CONFIG_GENERIC_CALIBRATE_DELAY=y
> > CONFIG_X86_WP_WORKS_OK=y
> > CONFIG_X86_INVLPG=y
> > CONFIG_X86_BSWAP=y
> > CONFIG_X86_POPAD_OK=y
> > CONFIG_X86_CMPXCHG64=y
> > CONFIG_X86_GOOD_APIC=y
> > CONFIG_X86_INTEL_USERCOPY=y
> > CONFIG_X86_USE_PPRO_CHECKSUM=y
> > CONFIG_X86_TSC=y
> > CONFIG_HPET_TIMER=y
> > CONFIG_HPET_EMULATE_RTC=y
> > CONFIG_NR_CPUS=8
> > # CONFIG_SCHED_SMT is not set
> > CONFIG_SCHED_MC=y
> > # CONFIG_PREEMPT_NONE is not set
> > # CONFIG_PREEMPT_VOLUNTARY is not set
> > CONFIG_PREEMPT=y
> > CONFIG_PREEMPT_BKL=y
> > CONFIG_X86_LOCAL_APIC=y
> > CONFIG_X86_IO_APIC=y
> > CONFIG_X86_MCE=y
> > CONFIG_X86_MCE_NONFATAL=y
> > CONFIG_X86_MCE_P4THERMAL=y
> > CONFIG_VM86=y
> > # CONFIG_TOSHIBA is not set
> > # CONFIG_I8K is not set
> > CONFIG_X86_REBOOTFIXUPS=y
> > # 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_DELL_RBU is not set
> > # CONFIG_DCDBAS is not set
> > CONFIG_NOHIGHMEM=y
> > # CONFIG_HIGHMEM4G is not set
> > # CONFIG_HIGHMEM64G is not set
> > CONFIG_PAGE_OFFSET=0xC0000000
> > CONFIG_ARCH_FLATMEM_ENABLE=y
> > CONFIG_ARCH_SPARSEMEM_ENABLE=y
> > CONFIG_ARCH_SELECT_MEMORY_MODEL=y
> > CONFIG_ARCH_POPULATES_NODE_MAP=y
> > CONFIG_SELECT_MEMORY_MODEL=y
> > CONFIG_FLATMEM_MANUAL=y
> > # CONFIG_DISCONTIGMEM_MANUAL is not set
> > # CONFIG_SPARSEMEM_MANUAL is not set
> > CONFIG_FLATMEM=y
> > CONFIG_FLAT_NODE_MEM_MAP=y
> > CONFIG_SPARSEMEM_STATIC=y
> > CONFIG_SPLIT_PTLOCK_CPUS=4
> > # CONFIG_RESOURCES_64BIT is not set
> > CONFIG_ZONE_DMA_FLAG=1
> > # CONFIG_MATH_EMULATION is not set
> > CONFIG_MTRR=y
> > # CONFIG_EFI is not set
> > CONFIG_IRQBALANCE=y
> > # CONFIG_SECCOMP is not set
> > CONFIG_HZ_100=y
> > # CONFIG_HZ_250 is not set
> > # CONFIG_HZ_300 is not set
> > # CONFIG_HZ_1000 is not set
> > CONFIG_HZ=100
> > # CONFIG_KEXEC is not set
> > CONFIG_PHYSICAL_START=0x100000
> > # CONFIG_RELOCATABLE is not set
> > CONFIG_PHYSICAL_ALIGN=0x100000
> > CONFIG_HOTPLUG_CPU=y
> > CONFIG_COMPAT_VDSO=y
> >
> > #
> > # Power management options (ACPI, APM)
> > #
> > CONFIG_PM=y
> > # CONFIG_PM_LEGACY is not set
> > # CONFIG_PM_DEBUG is not set
> > # CONFIG_PM_SYSFS_DEPRECATED is not set
> > # CONFIG_SOFTWARE_SUSPEND is not set
> > CONFIG_SUSPEND_SMP=y
> >
> > #
> > # ACPI (Advanced Configuration and Power Interface) Support
> > #
> > CONFIG_ACPI=y
> > CONFIG_ACPI_SLEEP=y
> > CONFIG_ACPI_SLEEP_PROC_FS=y
> > # CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
> > # CONFIG_ACPI_PROCFS is not set
> > # CONFIG_ACPI_AC is not set
> > # CONFIG_ACPI_BATTERY is not set
> > CONFIG_ACPI_BUTTON=m
> > CONFIG_ACPI_VIDEO=m
> > CONFIG_ACPI_FAN=m
> > # CONFIG_ACPI_DOCK is not set
> > CONFIG_ACPI_PROCESSOR=y
> > CONFIG_ACPI_HOTPLUG_CPU=y
> > CONFIG_ACPI_THERMAL=y
> > # CONFIG_ACPI_ASUS is not set
> > # CONFIG_ACPI_TOSHIBA is not set
> > CONFIG_ACPI_BLACKLIST_YEAR=0
> > # CONFIG_ACPI_DEBUG is not set
> > CONFIG_ACPI_EC=y
> > CONFIG_ACPI_POWER=y
> > CONFIG_ACPI_SYSTEM=y
> > CONFIG_X86_PM_TIMER=y
> > CONFIG_ACPI_CONTAINER=y
> > # CONFIG_ACPI_SBS is not set
> >
> > #
> > # APM (Advanced Power Management) BIOS Support
> > #
> > # CONFIG_APM is not set
> >
> > #
> > # CPU Frequency scaling
> > #
> > CONFIG_CPU_FREQ=y
> > CONFIG_CPU_FREQ_TABLE=y
> > # CONFIG_CPU_FREQ_DEBUG is not set
> > CONFIG_CPU_FREQ_STAT=y
> > # CONFIG_CPU_FREQ_STAT_DETAILS 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 is not set
> > # CONFIG_CPU_FREQ_GOV_USERSPACE is not set
> > # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
> > # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
> >
> > #
> > # CPUFreq processor drivers
> > #
> > CONFIG_X86_ACPI_CPUFREQ=y
> > # CONFIG_X86_POWERNOW_K6 is not set
> > # CONFIG_X86_POWERNOW_K7 is not set
> > # CONFIG_X86_POWERNOW_K8 is not set
> > # CONFIG_X86_GX_SUSPMOD is not set
> > CONFIG_X86_SPEEDSTEP_CENTRINO=y
> > # CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI is not set
> > CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
> > # CONFIG_X86_SPEEDSTEP_ICH is not set
> > # CONFIG_X86_SPEEDSTEP_SMI is not set
> > # CONFIG_X86_P4_CLOCKMOD is not set
> > # CONFIG_X86_CPUFREQ_NFORCE2 is not set
> > # CONFIG_X86_LONGRUN is not set
> > # CONFIG_X86_LONGHAUL is not set
> > # CONFIG_X86_E_POWERSAVER is not set
> >
> > #
> > # shared options
> > #
> > # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
> > # CONFIG_X86_SPEEDSTEP_LIB is not set
> >
> > #
> > # Bus options (PCI, PCMCIA, EISA, MCA, ISA)
> > #
> > CONFIG_PCI=y
> > # CONFIG_PCI_GOBIOS is not set
> > # CONFIG_PCI_GOMMCONFIG is not set
> > # CONFIG_PCI_GODIRECT is not set
> > CONFIG_PCI_GOANY=y
> > CONFIG_PCI_BIOS=y
> > CONFIG_PCI_DIRECT=y
> > CONFIG_PCI_MMCONFIG=y
> > CONFIG_PCIEPORTBUS=y
> > CONFIG_PCIEAER=y
> > # CONFIG_PCI_MSI is not set
> > # CONFIG_PCI_DEBUG is not set
> > CONFIG_HT_IRQ=y
> > CONFIG_ISA_DMA_API=y
> > # CONFIG_ISA is not set
> > # CONFIG_MCA is not set
> > # CONFIG_SCx200 is not set
> >
> > #
> > # PCCARD (PCMCIA/CardBus) support
> > #
> > # CONFIG_PCCARD is not set
> >
> > #
> > # PCI Hotplug Support
> > #
> > # CONFIG_HOTPLUG_PCI is not set
> >
> > #
> > # Executable file formats
> > #
> > CONFIG_BINFMT_ELF=y
> > # CONFIG_BINFMT_AOUT is not set
> > # CONFIG_BINFMT_MISC is not set
> >
> > #
> > # Networking
> > #
> > CONFIG_NET=y
> >
> > #
> > # Networking options
> > #
> > CONFIG_PACKET=y
> > CONFIG_PACKET_MMAP=y
> > CONFIG_UNIX=y
> > CONFIG_XFRM=y
> > # CONFIG_XFRM_USER is not set
> > # CONFIG_XFRM_SUB_POLICY is not set
> > # CONFIG_XFRM_MIGRATE is not set
> > # CONFIG_NET_KEY is not set
> > CONFIG_INET=y
> > # CONFIG_IP_MULTICAST is not set
> > # CONFIG_IP_ADVANCED_ROUTER is not set
> > CONFIG_IP_FIB_HASH=y
> > CONFIG_IP_PNP=y
> > CONFIG_IP_PNP_DHCP=y
> > CONFIG_IP_PNP_BOOTP=y
> > # CONFIG_IP_PNP_RARP 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_XFRM_TUNNEL is not set
> > # CONFIG_INET_TUNNEL is not set
> > CONFIG_INET_XFRM_MODE_TRANSPORT=y
> > CONFIG_INET_XFRM_MODE_TUNNEL=y
> > CONFIG_INET_XFRM_MODE_BEET=y
> > # CONFIG_INET_DIAG is not set
> > # CONFIG_TCP_CONG_ADVANCED is not set
> > CONFIG_TCP_CONG_CUBIC=y
> > CONFIG_DEFAULT_TCP_CONG="cubic"
> > # CONFIG_TCP_MD5SIG is not set
> >
> > #
> > # IP: Virtual Server Configuration
> > #
> > # CONFIG_IP_VS is not set
> > # CONFIG_IPV6 is not set
> > # CONFIG_INET6_XFRM_TUNNEL is not set
> > # CONFIG_INET6_TUNNEL is not set
> > # CONFIG_NETWORK_SECMARK is not set
> > CONFIG_NETFILTER=y
> > # CONFIG_NETFILTER_DEBUG is not set
> >
> > #
> > # Core Netfilter Configuration
> > #
> > # CONFIG_NETFILTER_NETLINK is not set
> > # CONFIG_NF_CONNTRACK_ENABLED is not set
> > # CONFIG_NF_CONNTRACK is not set
> > CONFIG_NETFILTER_XTABLES=y
> > # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
> > # CONFIG_NETFILTER_XT_TARGET_MARK is not set
> > # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
> > # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
> > # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
> > # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
> > # CONFIG_NETFILTER_XT_MATCH_DCCP is not set
> > # CONFIG_NETFILTER_XT_MATCH_DSCP is not set
> > # CONFIG_NETFILTER_XT_MATCH_ESP is not set
> > # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
> > CONFIG_NETFILTER_XT_MATCH_LIMIT=y
> > CONFIG_NETFILTER_XT_MATCH_MAC=y
> > # CONFIG_NETFILTER_XT_MATCH_MARK is not set
> > # CONFIG_NETFILTER_XT_MATCH_POLICY is not set
> > # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
> > # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
> > # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
> > # CONFIG_NETFILTER_XT_MATCH_REALM is not set
> > # CONFIG_NETFILTER_XT_MATCH_SCTP is not set
> > # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
> > # CONFIG_NETFILTER_XT_MATCH_STRING is not set
> > # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
> > # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
> >
> > #
> > # IP: Netfilter Configuration
> > #
> > # CONFIG_IP_NF_QUEUE is not set
> > CONFIG_IP_NF_IPTABLES=y
> > # CONFIG_IP_NF_MATCH_IPRANGE is not set
> > # CONFIG_IP_NF_MATCH_TOS is not set
> > # CONFIG_IP_NF_MATCH_RECENT is not set
> > # CONFIG_IP_NF_MATCH_ECN is not set
> > # CONFIG_IP_NF_MATCH_AH is not set
> > # CONFIG_IP_NF_MATCH_TTL is not set
> > # CONFIG_IP_NF_MATCH_OWNER is not set
> > # CONFIG_IP_NF_MATCH_ADDRTYPE is not set
> > CONFIG_IP_NF_FILTER=y
> > # CONFIG_IP_NF_TARGET_REJECT is not set
> > CONFIG_IP_NF_TARGET_LOG=y
> > # CONFIG_IP_NF_TARGET_ULOG is not set
> > # CONFIG_IP_NF_MANGLE is not set
> > # CONFIG_IP_NF_RAW is not set
> > # CONFIG_IP_NF_ARPTABLES is not set
> >
> > #
> > # DCCP Configuration (EXPERIMENTAL)
> > #
> > # CONFIG_IP_DCCP is not set
> >
> > #
> > # SCTP Configuration (EXPERIMENTAL)
> > #
> > # CONFIG_IP_SCTP is not set
> >
> > #
> > # TIPC Configuration (EXPERIMENTAL)
> > #
> > # CONFIG_TIPC 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_ECONET is not set
> > # CONFIG_WAN_ROUTER is not set
> >
> > #
> > # QoS and/or fair queueing
> > #
> > # CONFIG_NET_SCHED is not set
> >
> > #
> > # Network testing
> > #
> > # CONFIG_NET_PKTGEN is not set
> > # CONFIG_HAMRADIO is not set
> > # CONFIG_IRDA is not set
> > # CONFIG_BT is not set
> > # CONFIG_AF_RXRPC is not set
> >
> > #
> > # Wireless
> > #
> > # CONFIG_CFG80211 is not set
> > # CONFIG_WIRELESS_EXT is not set
> > # CONFIG_IEEE80211 is not set
> >
> > #
> > # 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
> > # CONFIG_DEBUG_DEVRES is not set
> > # CONFIG_SYS_HYPERVISOR is not set
> >
> > #
> > # Connector - unified userspace <-> kernelspace linker
> > #
> > # CONFIG_CONNECTOR is not set
> > # CONFIG_MTD is not set
> >
> > #
> > # Parallel port support
> > #
> > CONFIG_PARPORT=y
> > CONFIG_PARPORT_PC=y
> > # CONFIG_PARPORT_SERIAL is not set
> > # CONFIG_PARPORT_PC_FIFO is not set
> > # CONFIG_PARPORT_PC_SUPERIO is not set
> > # CONFIG_PARPORT_GSC is not set
> > # CONFIG_PARPORT_AX88796 is not set
> > CONFIG_PARPORT_1284=y
> >
> > #
> > # Plug and Play support
> > #
> > CONFIG_PNP=y
> > # CONFIG_PNP_DEBUG is not set
> >
> > #
> > # Protocols
> > #
> > CONFIG_PNPACPI=y
> >
> > #
> > # Block devices
> > #
> > CONFIG_BLK_DEV_FD=m
> > # 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_COW_COMMON is not set
> > CONFIG_BLK_DEV_LOOP=m
> > # CONFIG_BLK_DEV_CRYPTOLOOP is not set
> > # 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 is not set
> > # CONFIG_CDROM_PKTCDVD is not set
> > # CONFIG_ATA_OVER_ETH is not set
> >
> > #
> > # Misc devices
> > #
> > # CONFIG_IBM_ASM is not set
> > # CONFIG_SGI_IOC4 is not set
> > # CONFIG_TIFM_CORE is not set
> > # CONFIG_MSI_LAPTOP is not set
> > # CONFIG_SONY_LAPTOP is not set
> > # CONFIG_THINKPAD_ACPI 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 is not set
> > 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_BLK_DEV_IDEACPI is not set
> > # CONFIG_IDE_TASK_IOCTL is not set
> >
> > #
> > # 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=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_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_CS5535 is not set
> > # CONFIG_BLK_DEV_HPT34X is not set
> > # CONFIG_BLK_DEV_HPT366 is not set
> > # CONFIG_BLK_DEV_JMICRON is not set
> > # CONFIG_BLK_DEV_SC1200 is not set
> > CONFIG_BLK_DEV_PIIX=y
> > # CONFIG_BLK_DEV_IT8213 is not set
> > # CONFIG_BLK_DEV_IT821X 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_BLK_DEV_TC86C001 is not set
> > # CONFIG_IDE_ARM is not set
> > CONFIG_BLK_DEV_IDEDMA=y
> > # CONFIG_IDEDMA_IVB is not set
> > # CONFIG_BLK_DEV_HD is not set
> >
> > #
> > # SCSI device support
> > #
> > # CONFIG_RAID_ATTRS is not set
> > CONFIG_SCSI=y
> > # CONFIG_SCSI_TGT is not set
> > # CONFIG_SCSI_NETLINK is not set
> > # CONFIG_SCSI_PROC_FS is not set
> >
> > #
> > # 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 is not set
> > # CONFIG_CHR_DEV_SG is not set
> > # CONFIG_CHR_DEV_SCH is not set
> >
> > #
> > # 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
> > # CONFIG_SCSI_SCAN_ASYNC is not set
> >
> > #
> > # SCSI Transports
> > #
> > # CONFIG_SCSI_SPI_ATTRS is not set
> > # CONFIG_SCSI_FC_ATTRS is not set
> > # CONFIG_SCSI_ISCSI_ATTRS is not set
> > # CONFIG_SCSI_SAS_ATTRS is not set
> > # CONFIG_SCSI_SAS_LIBSAS is not set
> >
> > #
> > # SCSI low-level drivers
> > #
> > # CONFIG_ISCSI_TCP is not set
> > # 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_SCSI_AIC94XX is not set
> > # CONFIG_SCSI_DPT_I2O is not set
> > # CONFIG_SCSI_ADVANSYS is not set
> > # CONFIG_SCSI_ARCMSR is not set
> > # CONFIG_MEGARAID_NEWGEN is not set
> > # CONFIG_MEGARAID_LEGACY is not set
> > # CONFIG_MEGARAID_SAS is not set
> > # CONFIG_SCSI_HPTIOP is not set
> > # CONFIG_SCSI_BUSLOGIC is not set
> > # CONFIG_SCSI_DMX3191D is not set
> > # CONFIG_SCSI_EATA 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_PPA is not set
> > # CONFIG_SCSI_IMM is not set
> > # CONFIG_SCSI_STEX is not set
> > # CONFIG_SCSI_SYM53C8XX_2 is not set
> > # CONFIG_SCSI_QLOGIC_1280 is not set
> > # CONFIG_SCSI_QLA_FC is not set
> > # CONFIG_SCSI_QLA_ISCSI is not set
> > # CONFIG_SCSI_LPFC 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
> > # CONFIG_SCSI_ESP_CORE is not set
> > # CONFIG_SCSI_SRP is not set
> >
> > #
> > # Serial ATA (prod) and Parallel ATA (experimental) drivers
> > #
> > # CONFIG_ATA is not set
> >
> > #
> > # Multi-device support (RAID and LVM)
> > #
> > # CONFIG_MD is not set
> >
> > #
> > # Fusion MPT device support
> > #
> > # CONFIG_FUSION is not set
> > # CONFIG_FUSION_SPI is not set
> > # CONFIG_FUSION_FC is not set
> > # CONFIG_FUSION_SAS is not set
> >
> > #
> > # IEEE 1394 (FireWire) support
> > #
> > # CONFIG_IEEE1394 is not set
> >
> > #
> > # I2O device support
> > #
> > # CONFIG_I2O is not set
> >
> > #
> > # Macintosh device drivers
> > #
> > # CONFIG_MAC_EMUMOUSEBTN is not set
> >
> > #
> > # Network device support
> > #
> > 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
> >
> > #
> > # PHY device support
> > #
> > # CONFIG_PHYLIB 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_CASSINI 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=y
> > CONFIG_8139TOO_PIO=y
> > # CONFIG_8139TOO_TUNE_TWISTER is not set
> > CONFIG_8139TOO_8129=y
> > # 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_SC92031 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_SIS190 is not set
> > # CONFIG_SKGE is not set
> > # CONFIG_SKY2 is not set
> > # CONFIG_SK98LIN is not set
> > # CONFIG_VIA_VELOCITY is not set
> > # CONFIG_TIGON3 is not set
> > # CONFIG_BNX2 is not set
> > # CONFIG_QLA3XXX is not set
> > # CONFIG_ATL1 is not set
> >
> > #
> > # Ethernet (10000 Mbit)
> > #
> > # CONFIG_CHELSIO_T1 is not set
> > # CONFIG_CHELSIO_T3 is not set
> > # CONFIG_IXGB is not set
> > # CONFIG_S2IO is not set
> > # CONFIG_MYRI10GE is not set
> > # CONFIG_NETXEN_NIC is not set
> >
> > #
> > # Token Ring devices
> > #
> > # CONFIG_TR is not set
> >
> > #
> > # Wireless LAN
> > #
> > # CONFIG_WLAN_PRE80211 is not set
> > # CONFIG_WLAN_80211 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=m
> > CONFIG_PPP_MULTILINK=y
> > # CONFIG_PPP_FILTER is not set
> > # CONFIG_PPP_ASYNC is not set
> > # CONFIG_PPP_SYNC_TTY is not set
> > CONFIG_PPP_DEFLATE=m
> > CONFIG_PPP_BSDCOMP=m
> > CONFIG_PPP_MPPE=m
> > # CONFIG_PPPOE is not set
> > # CONFIG_SLIP is not set
> > CONFIG_SLHC=m
> > # CONFIG_NET_FC is not set
> > # CONFIG_SHAPER is not set
> > CONFIG_NETCONSOLE=y
> > CONFIG_NETPOLL=y
> > # CONFIG_NETPOLL_TRAP is not set
> > CONFIG_NET_POLL_CONTROLLER=y
> >
> > #
> > # ISDN subsystem
> > #
> > # CONFIG_ISDN is not set
> >
> > #
> > # Telephony Support
> > #
> > # CONFIG_PHONE is not set
> >
> > #
> > # Input device support
> > #
> > CONFIG_INPUT=y
> > # CONFIG_INPUT_FF_MEMLESS is not set
> >
> > #
> > # Userland interfaces
> > #
> > CONFIG_INPUT_MOUSEDEV=y
> > CONFIG_INPUT_MOUSEDEV_PSAUX=y
> > CONFIG_INPUT_MOUSEDEV_SCREEN_X=1280
> > CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1024
> > # CONFIG_INPUT_JOYDEV is not set
> > # CONFIG_INPUT_TSDEV is not set
> > CONFIG_INPUT_EVDEV=y
> > # CONFIG_INPUT_EVBUG 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_KEYBOARD_STOWAWAY 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_WISTRON_BTNS is not set
> > # CONFIG_INPUT_ATLAS_BTNS is not set
> > # CONFIG_INPUT_UINPUT is not set
> >
> > #
> > # Hardware I/O ports
> > #
> > 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
> > CONFIG_SERIO_LIBPS2=y
> > # CONFIG_SERIO_RAW is not set
> > # CONFIG_GAMEPORT is not set
> >
> > #
> > # Character devices
> > #
> > CONFIG_VT=y
> > CONFIG_VT_CONSOLE=y
> > CONFIG_HW_CONSOLE=y
> > # CONFIG_VT_HW_CONSOLE_BINDING is not set
> > # CONFIG_SERIAL_NONSTANDARD is not set
> >
> > #
> > # Serial drivers
> > #
> > CONFIG_SERIAL_8250=y
> > CONFIG_SERIAL_8250_CONSOLE=y
> > CONFIG_SERIAL_8250_PCI=y
> > CONFIG_SERIAL_8250_PNP=y
> > CONFIG_SERIAL_8250_NR_UARTS=4
> > CONFIG_SERIAL_8250_RUNTIME_UARTS=4
> > # CONFIG_SERIAL_8250_EXTENDED is not set
> >
> > #
> > # Non-8250 serial port support
> > #
> > CONFIG_SERIAL_CORE=y
> > CONFIG_SERIAL_CORE_CONSOLE=y
> > # CONFIG_SERIAL_JSM is not set
> > 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_IBMASR is not set
> > # CONFIG_WAFER_WDT is not set
> > CONFIG_I6300ESB_WDT=m
> > # CONFIG_I8XX_TCO is not set
> > # CONFIG_ITCO_WDT is not set
> > # CONFIG_SC1200_WDT is not set
> > # CONFIG_PC87413_WDT is not set
> > # CONFIG_60XX_WDT is not set
> > # CONFIG_SBC8360_WDT is not set
> > # CONFIG_CPU5_WDT is not set
> > # CONFIG_SMSC37B787_WDT is not set
> > # CONFIG_W83627HF_WDT is not set
> > # CONFIG_W83697HF_WDT is not set
> > # CONFIG_W83877F_WDT is not set
> > # CONFIG_W83977F_WDT is not set
> > # CONFIG_MACHZ_WDT is not set
> > # CONFIG_SBC_EPX_C3_WATCHDOG is not set
> >
> > #
> > # PCI-based Watchdog Cards
> > #
> > # CONFIG_PCIPCWATCHDOG is not set
> > # CONFIG_WDTPCI is not set
> >
> > #
> > # USB-based Watchdog Cards
> > #
> > # CONFIG_USBPCWATCHDOG is not set
> > CONFIG_HW_RANDOM=y
> > CONFIG_HW_RANDOM_INTEL=y
> > CONFIG_HW_RANDOM_AMD=y
> > CONFIG_HW_RANDOM_GEODE=y
> > CONFIG_HW_RANDOM_VIA=y
> > 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
> > 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=y
> > # CONFIG_AGP_NVIDIA is not set
> > # CONFIG_AGP_SIS is not set
> > # CONFIG_AGP_SWORKS is not set
> > # CONFIG_AGP_VIA is not set
> > # CONFIG_AGP_EFFICEON is not set
> > CONFIG_DRM=y
> > # CONFIG_DRM_TDFX is not set
> > CONFIG_DRM_R128=m
> > CONFIG_DRM_RADEON=m
> > # CONFIG_DRM_I810 is not set
> > # CONFIG_DRM_I830 is not set
> > # CONFIG_DRM_I915 is not set
> > # CONFIG_DRM_MGA is not set
> > # CONFIG_DRM_SIS is not set
> > # CONFIG_DRM_VIA is not set
> > # CONFIG_DRM_SAVAGE is not set
> > # CONFIG_MWAVE is not set
> > # CONFIG_PC8736x_GPIO is not set
> > # CONFIG_NSC_GPIO is not set
> > # CONFIG_CS5535_GPIO 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
> >
> > #
> > # TPM devices
> > #
> > # CONFIG_TCG_TPM is not set
> > # CONFIG_TELCLOCK is not set
> >
> > #
> > # I2C support
> > #
> > CONFIG_I2C=y
> > CONFIG_I2C_CHARDEV=y
> >
> > #
> > # I2C Algorithms
> > #
> > CONFIG_I2C_ALGOBIT=y
> > # 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_I801 is not set
> > # CONFIG_I2C_I810 is not set
> > # CONFIG_I2C_PIIX4 is not set
> > CONFIG_I2C_ISA=y
> > # CONFIG_I2C_NFORCE2 is not set
> > # CONFIG_I2C_OCORES is not set
> > # CONFIG_I2C_PARPORT is not set
> > # CONFIG_I2C_PARPORT_LIGHT 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_STUB is not set
> > # CONFIG_I2C_VIA is not set
> > CONFIG_I2C_VIAPRO=y
> > # CONFIG_I2C_VOODOO3 is not set
> > # CONFIG_I2C_PCA_ISA is not set
> >
> > #
> > # Miscellaneous I2C Chip support
> > #
> > # CONFIG_SENSORS_DS1337 is not set
> > # CONFIG_SENSORS_DS1374 is not set
> > # CONFIG_SENSORS_EEPROM is not set
> > # CONFIG_SENSORS_PCF8574 is not set
> > # CONFIG_SENSORS_PCA9539 is not set
> > # CONFIG_SENSORS_PCF8591 is not set
> > # CONFIG_SENSORS_MAX6875 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
> >
> > #
> > # SPI support
> > #
> > # CONFIG_SPI is not set
> > # CONFIG_SPI_MASTER is not set
> >
> > #
> > # Dallas's 1-wire bus
> > #
> > # CONFIG_W1 is not set
> >
> > #
> > # Hardware Monitoring support
> > #
> > CONFIG_HWMON=y
> > CONFIG_HWMON_VID=y
> > # CONFIG_SENSORS_ABITUGURU is not set
> > # CONFIG_SENSORS_ADM1021 is not set
> > # CONFIG_SENSORS_ADM1025 is not set
> > # CONFIG_SENSORS_ADM1026 is not set
> > # CONFIG_SENSORS_ADM1029 is not set
> > # CONFIG_SENSORS_ADM1031 is not set
> > # CONFIG_SENSORS_ADM9240 is not set
> > # CONFIG_SENSORS_K8TEMP is not set
> > # CONFIG_SENSORS_ASB100 is not set
> > # CONFIG_SENSORS_ATXP1 is not set
> > # CONFIG_SENSORS_DS1621 is not set
> > # CONFIG_SENSORS_F71805F is not set
> > # CONFIG_SENSORS_FSCHER is not set
> > # CONFIG_SENSORS_FSCPOS is not set
> > # CONFIG_SENSORS_GL518SM is not set
> > # CONFIG_SENSORS_GL520SM is not set
> > CONFIG_SENSORS_IT87=y
> > # CONFIG_SENSORS_LM63 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_LM87 is not set
> > # CONFIG_SENSORS_LM90 is not set
> > # CONFIG_SENSORS_LM92 is not set
> > # CONFIG_SENSORS_MAX1619 is not set
> > # CONFIG_SENSORS_PC87360 is not set
> > # CONFIG_SENSORS_PC87427 is not set
> > # CONFIG_SENSORS_SIS5595 is not set
> > # CONFIG_SENSORS_SMSC47M1 is not set
> > # CONFIG_SENSORS_SMSC47M192 is not set
> > # CONFIG_SENSORS_SMSC47B397 is not set
> > # CONFIG_SENSORS_VIA686A is not set
> > # CONFIG_SENSORS_VT1211 is not set
> > # CONFIG_SENSORS_VT8231 is not set
> > # CONFIG_SENSORS_W83781D is not set
> > # CONFIG_SENSORS_W83791D is not set
> > # CONFIG_SENSORS_W83792D is not set
> > # CONFIG_SENSORS_W83793 is not set
> > # CONFIG_SENSORS_W83L785TS is not set
> > # CONFIG_SENSORS_W83627HF is not set
> > # CONFIG_SENSORS_W83627EHF is not set
> > # CONFIG_SENSORS_HDAPS is not set
> > # CONFIG_HWMON_DEBUG_CHIP is not set
> >
> > #
> > # Multifunction device drivers
> > #
> > # CONFIG_MFD_SM501 is not set
> >
> > #
> > # Multimedia devices
> > #
> > # CONFIG_VIDEO_DEV is not set
> >
> > #
> > # Digital Video Broadcasting Devices
> > #
> > # CONFIG_DVB is not set
> > # CONFIG_USB_DABUSB is not set
> >
> > #
> > # Graphics support
> > #
> > CONFIG_BACKLIGHT_LCD_SUPPORT=y
> > CONFIG_BACKLIGHT_CLASS_DEVICE=y
> > CONFIG_LCD_CLASS_DEVICE=m
> > # CONFIG_BACKLIGHT_PROGEAR is not set
> > CONFIG_FB=y
> > CONFIG_FIRMWARE_EDID=y
> > CONFIG_FB_DDC=y
> > CONFIG_FB_CFB_FILLRECT=y
> > CONFIG_FB_CFB_COPYAREA=y
> > CONFIG_FB_CFB_IMAGEBLIT=y
> > # CONFIG_FB_SVGALIB is not set
> > # CONFIG_FB_MACMODES is not set
> > CONFIG_FB_BACKLIGHT=y
> > CONFIG_FB_MODE_HELPERS=y
> > # CONFIG_FB_TILEBLITTING is not set
> >
> > #
> > # Frame buffer hardware drivers
> > #
> > # CONFIG_FB_CIRRUS is not set
> > # CONFIG_FB_PM2 is not set
> > # CONFIG_FB_CYBER2000 is not set
> > # CONFIG_FB_ARC is not set
> > # CONFIG_FB_ASILIANT is not set
> > # CONFIG_FB_IMSTT is not set
> > # CONFIG_FB_VGA16 is not set
> > # CONFIG_FB_VESA is not set
> > # CONFIG_FB_HGA is not set
> > # CONFIG_FB_S1D13XXX is not set
> > # CONFIG_FB_NVIDIA is not set
> > # CONFIG_FB_RIVA is not set
> > # CONFIG_FB_I810 is not set
> > # CONFIG_FB_INTEL is not set
> > # CONFIG_FB_MATROX is not set
> > CONFIG_FB_RADEON=y
> > CONFIG_FB_RADEON_I2C=y
> > CONFIG_FB_RADEON_BACKLIGHT=y
> > # CONFIG_FB_RADEON_DEBUG is not set
> > CONFIG_FB_ATY128=m
> > CONFIG_FB_ATY128_BACKLIGHT=y
> > # CONFIG_FB_ATY is not set
> > # CONFIG_FB_S3 is not set
> > # CONFIG_FB_SAVAGE 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_CYBLA is not set
> > # CONFIG_FB_TRIDENT is not set
> > # CONFIG_FB_GEODE is not set
> > # CONFIG_FB_VIRTUAL is not set
> >
> > #
> > # Console display driver support
> > #
> > CONFIG_VGA_CONSOLE=y
> > # CONFIG_VGACON_SOFT_SCROLLBACK is not set
> > CONFIG_VIDEO_SELECT=y
> > CONFIG_DUMMY_CONSOLE=y
> > CONFIG_FRAMEBUFFER_CONSOLE=y
> > # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
> > # CONFIG_FONTS is not set
> > CONFIG_FONT_8x8=y
> > CONFIG_FONT_8x16=y
> >
> > #
> > # Logo configuration
> > #
> > # CONFIG_LOGO is not set
> >
> > #
> > # Sound
> > #
> > # CONFIG_SOUND is not set
> >
> > #
> > # HID Devices
> > #
> > CONFIG_HID=y
> > CONFIG_HID_DEBUG=y
> >
> > #
> > # USB Input Devices
> > #
> > # CONFIG_USB_HID is not set
> >
> > #
> > # USB HID Boot Protocol drivers
> > #
> > # CONFIG_USB_KBD is not set
> > # CONFIG_USB_MOUSE is not set
> >
> > #
> > # USB support
> > #
> > CONFIG_USB_ARCH_HAS_HCD=y
> > CONFIG_USB_ARCH_HAS_OHCI=y
> > CONFIG_USB_ARCH_HAS_EHCI=y
> > CONFIG_USB=y
> > # CONFIG_USB_DEBUG is not set
> >
> > #
> > # Miscellaneous USB options
> > #
> > CONFIG_USB_DEVICEFS=y
> > CONFIG_USB_DEVICE_CLASS=y
> > # 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_EHCI_TT_NEWSCHED is not set
> > # CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
> > # CONFIG_USB_ISP116X_HCD is not set
> > # CONFIG_USB_OHCI_HCD is not set
> > CONFIG_USB_UHCI_HCD=y
> > # CONFIG_USB_SL811_HCD is not set
> >
> > #
> > # USB Device Class drivers
> > #
> > # CONFIG_USB_ACM is not set
> > # CONFIG_USB_PRINTER is not set
> >
> > #
> > # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
> > #
> >
> > #
> > # may also be needed; see USB_STORAGE Help for more information
> > #
> > CONFIG_USB_STORAGE=y
> > # CONFIG_USB_STORAGE_DEBUG is not set
> > # CONFIG_USB_STORAGE_DATAFAB is not set
> > # CONFIG_USB_STORAGE_FREECOM is not set
> > # CONFIG_USB_STORAGE_ISD200 is not set
> > # CONFIG_USB_STORAGE_DPCM is not set
> > # CONFIG_USB_STORAGE_USBAT is not set
> > # CONFIG_USB_STORAGE_SDDR09 is not set
> > # CONFIG_USB_STORAGE_SDDR55 is not set
> > # CONFIG_USB_STORAGE_JUMPSHOT is not set
> > # CONFIG_USB_STORAGE_ALAUDA is not set
> > # CONFIG_USB_STORAGE_KARMA is not set
> > # CONFIG_USB_LIBUSUAL is not set
> >
> > #
> > # USB Input Devices
> > #
> > # CONFIG_USB_AIPTEK is not set
> > # CONFIG_USB_WACOM is not set
> > # CONFIG_USB_ACECAD is not set
> > # CONFIG_USB_KBTAB is not set
> > # CONFIG_USB_POWERMATE is not set
> > # CONFIG_USB_TOUCHSCREEN is not set
> > # CONFIG_USB_YEALINK is not set
> > # CONFIG_USB_XPAD is not set
> > # CONFIG_USB_ATI_REMOTE is not set
> > # CONFIG_USB_ATI_REMOTE2 is not set
> > # CONFIG_USB_KEYSPAN_REMOTE is not set
> > # CONFIG_USB_APPLETOUCH is not set
> > # CONFIG_USB_GTCO is not set
> >
> > #
> > # USB Imaging devices
> > #
> > # CONFIG_USB_MDC800 is not set
> > # CONFIG_USB_MICROTEK is not set
> >
> > #
> > # USB Network Adapters
> > #
> > # 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_MII is not set
> > # CONFIG_USB_USBNET is not set
> > # CONFIG_USB_MON is not set
> >
> > #
> > # USB port drivers
> > #
> > # CONFIG_USB_USS720 is not set
> >
> > #
> > # 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_ADUTUX 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_BERRY_CHARGE is not set
> > # CONFIG_USB_LED is not set
> > # CONFIG_USB_CYPRESS_CY7C63 is not set
> > # CONFIG_USB_CYTHERM is not set
> > # CONFIG_USB_PHIDGET is not set
> > # CONFIG_USB_IDMOUSE is not set
> > # CONFIG_USB_FTDI_ELAN is not set
> > # CONFIG_USB_APPLEDISPLAY is not set
> > # CONFIG_USB_SISUSBVGA is not set
> > # CONFIG_USB_LD is not set
> > # CONFIG_USB_TRANCEVIBRATOR is not set
> > # CONFIG_USB_IOWARRIOR is not set
> > # CONFIG_USB_TEST is not set
> >
> > #
> > # USB DSL modem support
> > #
> >
> > #
> > # USB Gadget Support
> > #
> > CONFIG_USB_GADGET=m
> > # CONFIG_USB_GADGET_DEBUG_FILES is not set
> > CONFIG_USB_GADGET_SELECTED=y
> > # CONFIG_USB_GADGET_FSL_USB2 is not set
> > CONFIG_USB_GADGET_NET2280=y
> > CONFIG_USB_NET2280=m
> > # CONFIG_USB_GADGET_PXA2XX is not set
> > # CONFIG_USB_GADGET_GOKU is not set
> > # CONFIG_USB_GADGET_LH7A40X is not set
> > # CONFIG_USB_GADGET_OMAP is not set
> > # CONFIG_USB_GADGET_AT91 is not set
> > # CONFIG_USB_GADGET_DUMMY_HCD is not set
> > CONFIG_USB_GADGET_DUALSPEED=y
> > # CONFIG_USB_ZERO is not set
> > # CONFIG_USB_ETH is not set
> > # CONFIG_USB_GADGETFS is not set
> > # CONFIG_USB_FILE_STORAGE is not set
> > # CONFIG_USB_G_SERIAL is not set
> > # CONFIG_USB_MIDI_GADGET is not set
> >
> > #
> > # MMC/SD Card support
> > #
> > # CONFIG_MMC is not set
> >
> > #
> > # LED devices
> > #
> > # CONFIG_NEW_LEDS is not set
> >
> > #
> > # LED drivers
> > #
> >
> > #
> > # LED Triggers
> > #
> >
> > #
> > # InfiniBand support
> > #
> > # CONFIG_INFINIBAND is not set
> >
> > #
> > # EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
> > #
> > # CONFIG_EDAC is not set
> >
> > #
> > # Real Time Clock
> > #
> > CONFIG_RTC_LIB=m
> > CONFIG_RTC_CLASS=m
> >
> > #
> > # RTC interfaces
> > #
> > CONFIG_RTC_INTF_SYSFS=m
> > CONFIG_RTC_INTF_PROC=m
> > CONFIG_RTC_INTF_DEV=m
> > # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
> >
> > #
> > # RTC drivers
> > #
> > # CONFIG_RTC_DRV_CMOS is not set
> > # CONFIG_RTC_DRV_X1205 is not set
> > # CONFIG_RTC_DRV_DS1307 is not set
> > # CONFIG_RTC_DRV_DS1553 is not set
> > # CONFIG_RTC_DRV_ISL1208 is not set
> > # CONFIG_RTC_DRV_DS1672 is not set
> > # CONFIG_RTC_DRV_DS1742 is not set
> > # CONFIG_RTC_DRV_PCF8563 is not set
> > # CONFIG_RTC_DRV_RS5C372 is not set
> > # CONFIG_RTC_DRV_M48T86 is not set
> > # CONFIG_RTC_DRV_TEST is not set
> > # CONFIG_RTC_DRV_V3020 is not set
> >
> > #
> > # DMA Engine support
> > #
> > # CONFIG_DMA_ENGINE is not set
> >
> > #
> > # DMA Clients
> > #
> >
> > #
> > # DMA Devices
> > #
> >
> > #
> > # Auxiliary Display support
> > #
> > # CONFIG_KS0108 is not set
> >
> > #
> > # Virtualization
> > #
> > # CONFIG_KVM is not set
> >
> > #
> > # File systems
> > #
> > CONFIG_EXT2_FS=y
> > # CONFIG_EXT2_FS_XATTR is not set
> > # CONFIG_EXT2_FS_XIP 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_EXT4DEV_FS 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_FS_POSIX_ACL is not set
> > # CONFIG_XFS_FS is not set
> > # CONFIG_GFS2_FS is not set
> > # CONFIG_OCFS2_FS is not set
> > # CONFIG_MINIX_FS is not set
> > # CONFIG_ROMFS_FS is not set
> > # CONFIG_INOTIFY is not set
> > # CONFIG_QUOTA is not set
> > CONFIG_DNOTIFY=y
> > # CONFIG_AUTOFS_FS is not set
> > CONFIG_AUTOFS4_FS=y
> > # CONFIG_FUSE_FS is not set
> >
> > #
> > # CD-ROM/DVD Filesystems
> > #
> > CONFIG_ISO9660_FS=y
> > CONFIG_JOLIET=y
> > CONFIG_ZISOFS=y
> > # CONFIG_UDF_FS is not set
> >
> > #
> > # 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-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_PROC_SYSCTL=y
> > CONFIG_SYSFS=y
> > CONFIG_TMPFS=y
> > # CONFIG_TMPFS_POSIX_ACL is not set
> > # CONFIG_HUGETLBFS is not set
> > # CONFIG_HUGETLB_PAGE is not set
> > CONFIG_RAMFS=y
> > # CONFIG_CONFIGFS_FS is not set
> >
> > #
> > # 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_V3_ACL is not set
> > # CONFIG_NFS_V4 is not set
> > # CONFIG_NFS_DIRECTIO is not set
> > CONFIG_NFSD=m
> > CONFIG_NFSD_V3=y
> > # CONFIG_NFSD_V3_ACL is not set
> > # CONFIG_NFSD_V4 is not set
> > CONFIG_NFSD_TCP=y
> > CONFIG_ROOT_NFS=y
> > CONFIG_LOCKD=y
> > CONFIG_LOCKD_V4=y
> > CONFIG_EXPORTFS=m
> > CONFIG_NFS_COMMON=y
> > 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=y
> > # CONFIG_CIFS_STATS is not set
> > # CONFIG_CIFS_WEAK_PW_HASH is not set
> > # CONFIG_CIFS_XATTR is not set
> > # CONFIG_CIFS_DEBUG2 is not set
> > # CONFIG_CIFS_EXPERIMENTAL is not set
> > # CONFIG_NCP_FS is not set
> > # CONFIG_CODA_FS is not set
> > # CONFIG_AFS_FS is not set
> > # CONFIG_9P_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_KARMA_PARTITION is not set
> > # CONFIG_EFI_PARTITION is not set
> >
> > #
> > # Native Language Support
> > #
> > CONFIG_NLS=y
> > CONFIG_NLS_DEFAULT="iso8859-15"
> > 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 is not set
> > # 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=y
> >
> > #
> > # Distributed Lock Manager
> > #
> > # CONFIG_DLM is not set
> >
> > #
> > # Instrumentation Support
> > #
> > # CONFIG_PROFILING is not set
> > # CONFIG_KPROBES is not set
> >
> > #
> > # Kernel hacking
> > #
> > CONFIG_TRACE_IRQFLAGS_SUPPORT=y
> > # CONFIG_PRINTK_TIME is not set
> > CONFIG_ENABLE_MUST_CHECK=y
> > CONFIG_MAGIC_SYSRQ=y
> > CONFIG_UNUSED_SYMBOLS=y
> > # CONFIG_DEBUG_FS is not set
> > # CONFIG_HEADERS_CHECK is not set
> > CONFIG_DEBUG_KERNEL=y
> > # CONFIG_DEBUG_SHIRQ is not set
> > CONFIG_LOG_BUF_SHIFT=15
> > CONFIG_DETECT_SOFTLOCKUP=y
> > # CONFIG_SCHEDSTATS is not set
> > # CONFIG_TIMER_STATS is not set
> > # CONFIG_DEBUG_SLAB is not set
> > CONFIG_DEBUG_PREEMPT=y
> > # CONFIG_DEBUG_RT_MUTEXES is not set
> > # CONFIG_RT_MUTEX_TESTER is not set
> > # CONFIG_DEBUG_SPINLOCK is not set
> > # CONFIG_DEBUG_MUTEXES is not set
> > # CONFIG_DEBUG_LOCK_ALLOC is not set
> > # CONFIG_PROVE_LOCKING is not set
> > # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
> > # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
> > # CONFIG_DEBUG_KOBJECT is not set
> > CONFIG_DEBUG_BUGVERBOSE=y
> > CONFIG_DEBUG_INFO=y
> > # CONFIG_DEBUG_VM is not set
> > # CONFIG_DEBUG_LIST is not set
> > CONFIG_FRAME_POINTER=y
> > CONFIG_FORCED_INLINING=y
> > # CONFIG_RCU_TORTURE_TEST is not set
> > # CONFIG_FAULT_INJECTION 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_DEBUG_RODATA is not set
> > # CONFIG_4KSTACKS is not set
> > CONFIG_X86_FIND_SMP_CONFIG=y
> > CONFIG_X86_MPPARSE=y
> > CONFIG_DOUBLEFAULT=y
> >
> > #
> > # Security options
> > #
> > # CONFIG_KEYS is not set
> > # CONFIG_SECURITY is not set
> >
> > #
> > # Cryptographic options
> > #
> > CONFIG_CRYPTO=y
> > CONFIG_CRYPTO_ALGAPI=m
> > CONFIG_CRYPTO_BLKCIPHER=m
> > CONFIG_CRYPTO_MANAGER=m
> > # CONFIG_CRYPTO_HMAC is not set
> > # CONFIG_CRYPTO_XCBC is not set
> > # CONFIG_CRYPTO_NULL is not set
> > # CONFIG_CRYPTO_MD4 is not set
> > # CONFIG_CRYPTO_MD5 is not set
> > CONFIG_CRYPTO_SHA1=m
> > # CONFIG_CRYPTO_SHA256 is not set
> > # CONFIG_CRYPTO_SHA512 is not set
> > # CONFIG_CRYPTO_WP512 is not set
> > # CONFIG_CRYPTO_TGR192 is not set
> > # CONFIG_CRYPTO_GF128MUL is not set
> > CONFIG_CRYPTO_ECB=m
> > CONFIG_CRYPTO_CBC=m
> > CONFIG_CRYPTO_PCBC=m
> > # CONFIG_CRYPTO_LRW is not set
> > # CONFIG_CRYPTO_DES is not set
> > # CONFIG_CRYPTO_FCRYPT is not set
> > # CONFIG_CRYPTO_BLOWFISH is not set
> > # CONFIG_CRYPTO_TWOFISH is not set
> > # CONFIG_CRYPTO_TWOFISH_586 is not set
> > # CONFIG_CRYPTO_SERPENT is not set
> > # CONFIG_CRYPTO_AES 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=m
> > # CONFIG_CRYPTO_KHAZAD is not set
> > # CONFIG_CRYPTO_ANUBIS is not set
> > # CONFIG_CRYPTO_DEFLATE is not set
> > # CONFIG_CRYPTO_MICHAEL_MIC is not set
> > # CONFIG_CRYPTO_CRC32C is not set
> > # CONFIG_CRYPTO_CAMELLIA is not set
> > # CONFIG_CRYPTO_TEST is not set
> >
> > #
> > # Hardware crypto devices
> > #
> > # CONFIG_CRYPTO_DEV_PADLOCK is not set
> > CONFIG_CRYPTO_DEV_GEODE=m
> >
> > #
> > # Library routines
> > #
> > CONFIG_BITREVERSE=y
> > # CONFIG_CRC_CCITT is not set
> > # CONFIG_CRC16 is not set
> > CONFIG_CRC32=y
> > # CONFIG_LIBCRC32C is not set
> > CONFIG_ZLIB_INFLATE=y
> > CONFIG_ZLIB_DEFLATE=m
> > CONFIG_PLIST=y
> > CONFIG_HAS_IOMEM=y
> > CONFIG_HAS_IOPORT=y
> > CONFIG_GENERIC_HARDIRQS=y
> > CONFIG_GENERIC_IRQ_PROBE=y
> > CONFIG_GENERIC_PENDING_IRQ=y
> > CONFIG_X86_SMP=y
> > CONFIG_X86_HT=y
> > CONFIG_X86_BIOS_REBOOT=y
> > CONFIG_X86_TRAMPOLINE=y
> > CONFIG_KTIME_SCALAR=y

--

-Stephane

2007-08-27 18:03:35

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Mon, 2007-08-27 at 10:54 -0700, Stephane Eranian wrote:
> Daniel,
>
> You mentioned you have a development board with a dual Pentium-M.
>
> What are the exact family/model numbers?
>
> What Bjorn points you at below is a fix that applies to
> Intel Core Duo/Solo (Yonah) and Intel Core 2 series but not to
> regular Pentium-M (no architectural perfmon there).
>
> I have successfully booted 2.6.23-rc3 on PIII, Opteron and Intel Core 2
> Duo with nmi_watchdog=2.

Here is the cpuinfo for processor 0 .. It's got four cores so this isn't
the full /proc/cpuinfo output ..

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 14
model name : Intel(R) Dual Pentium(R) M CPU @ 2.00GHz
stepping : 8
cpu MHz : 1992.000
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss htr
bogomips : 4002.48
clflush size : 64



2007-08-27 18:32:19

by Andrew Morton

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Mon, 27 Aug 2007 10:08:34 -0700
Daniel Walker <[email protected]> wrote:

> On Mon, 2007-08-27 at 09:44 -0700, Andrew Morton wrote:
>
> > It's a hassle when someone doesn't have a bugzilla account. But there are
> > humans sitting behind bugzilla handling stuff (fsvo "human"). I've already
> > forwarded your bugzilla report to Stephane pointing out that he doesn't
> > have an account.
> >
> > I screen 100% of new bugzilla reports and for those which I think need
> > attention (most), I will ensure that the appropriate parties get to see the
> > report. I'll also verify that the "regression" state is correct and that
> > the provided info is sufficient-looking. (It's amazing how many people
> > have trouble with the "Most recent kernel where this bug did not occur:"
> > question).
>
> When I read that question, it sort of feels like a mind bender. It's the
> "did not occur" , most people are thinking "which version of the kernel
> did I find this in", but it's asking the opposite ..

We've already reworked that question once because poeple were mucking up
the answer. Without a lot of success.

Maybe it should be "Is this bug a regression? If so, what was the most
recent kernel which didn't have this bug?". But that requires that people
know what "regression" means.

Bearing in mind that many reporters aren't native English speakers, I'm
really struggling to find a simple and robust way to ask this question.

Maybe "Did any previous kernel work OK? If so, what was the most recent
version of the kernel which didn't have this bug?"

hrm. It doesn't matter much, really. When people muck it up (or just
fail to answer that question) I go back and ask them again. It only
takes 30 seconds...

> For bug #8945 I really don't recall the version of the kernel I ran when
> it worked .. I had to do a bisect to get some clue about that ..
> nmi_watchdog isn't something I use every time I boot (I should tho), and
> I go through lots of kernels ..
>
> > What I haven't been doing is ensuring that the Product and Component fields
> > are suitably set. That's something which Natalie is now cleaning up.
>
> In terms of regressions, it would be nice for the "Version" field to be
> the kernel where the regression first showed up .. Like on bug #8945 I
> put in 2.6.22 even tho I found the issue in 2.6.23-rc1 .. Is that
> typically what the "Version" field is used for?

Natalie is spending quite a bit of time with the bugzilla metadata,
queries, etc. I'll shut up and let her tell us what changes we need in
this area.

2007-08-27 19:12:19

by David Rees

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On 8/27/07, Daniel Walker <[email protected]> wrote:
> Now that I'm looking at the kernel bugzilla .. If you set the kernel
> version to 2.6.22 and set the "Regression" check box you could denote
> the fact that it's a regression in that kernel version ..
>
> I don't know if this URL is going to come out right,
>
> <snip url>
>
> That should be open bugs , kernel version 2.6.22, with the regression
> check box set ..
>
> So you may not need a master tracking bug ..

Yep, that's another way to do it. The method I described earlier is
commonly used when you don't have the handy regression field in
bugzilla. The technique is handy for creating lists for tracking other
types of issues which don't necessarily fall into a component and you
don't want to bother customizing bugzilla.

I also suspect that there will be a number of common searches that
many people will find useful. With recent versions of bugzilla (3.0+)
you can share searches within groups, but it may be helpful to have a
wiki or some other page where useful searches can be stored, or one of
the templates edited to include those common searches.

-Dave

2007-08-27 22:56:26

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Daniel,

On Mon, Aug 27, 2007 at 10:55:31AM -0700, Daniel Walker wrote:

> Here is the cpuinfo for processor 0 .. It's got four cores so this isn't
> the full /proc/cpuinfo output ..
>

> processor : 0
> vendor_id : GenuineIntel
> cpu family : 6
> model : 14

The looks like a Core Duo. If that is really the case,
then commit e82f64e5bb0648a13630d752c35be1e7bd8bab96 from Bjorn
should fix your problem. I have it is my 2.6.23-rc3 tree.


> model name : Intel(R) Dual Pentium(R) M CPU @ 2.00GHz

Yet the model name looks strange. So we need to run one more test,
as the fam/model is not enough. What we need to check is whether or
not this processor implements architectural perfmon or not.

Could you please compile and run the attached program and send me
the output?

Thanks.

>

--

-Stephane


Attachments:
(No filename) (841.00 B)
cpuid-pmu2.c (844.00 B)
Download all attachments

2007-08-27 23:16:03

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Mon, 2007-08-27 at 15:55 -0700, Stephane Eranian wrote:

> Yet the model name looks strange. So we need to run one more test,
> as the fam/model is not enough. What we need to check is whether or
> not this processor implements architectural perfmon or not.
>
> Could you please compile and run the attached program and send me
> the output?

The output below is all the output ..

eax=0x7280201: version=1 num_cnt=2

Daniel

2007-08-28 09:12:49

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Daniel,

On Mon, Aug 27, 2007 at 04:07:54PM -0700, Daniel Walker wrote:
> On Mon, 2007-08-27 at 15:55 -0700, Stephane Eranian wrote:
>
> > Yet the model name looks strange. So we need to run one more test,
> > as the fam/model is not enough. What we need to check is whether or
> > not this processor implements architectural perfmon or not.
> >
> > Could you please compile and run the attached program and send me
> > the output?
>
> The output below is all the output ..
>
> eax=0x7280201: version=1 num_cnt=2
>
Then you have a Core Duo processor and the commit from Bjorn should
fix the problem. If it does not, then there is something else wrong.
Unfortunately, I do not have a Core Duo machine to try and reproduce.

--

-Stephane

2007-08-28 14:43:22

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Tue, 2007-08-28 at 02:12 -0700, Stephane Eranian wrote:
> Daniel,
>
> On Mon, Aug 27, 2007 at 04:07:54PM -0700, Daniel Walker wrote:
> > On Mon, 2007-08-27 at 15:55 -0700, Stephane Eranian wrote:
> >
> > > Yet the model name looks strange. So we need to run one more test,
> > > as the fam/model is not enough. What we need to check is whether or
> > > not this processor implements architectural perfmon or not.
> > >
> > > Could you please compile and run the attached program and send me
> > > the output?
> >
> > The output below is all the output ..
> >
> > eax=0x7280201: version=1 num_cnt=2
> >
> Then you have a Core Duo processor and the commit from Bjorn should
> fix the problem. If it does not, then there is something else wrong.
> Unfortunately, I do not have a Core Duo machine to try and reproduce.

There must be something else wrong, cause the problem persists .. As I
said in past emails to Bjorn, I tested his commit in git, as well as the
latest git all with the same issue (as well as bisecting git)..

If the hardware is buggy then we need some way to determine that..

If this machine didn't support performance counters, what would happen
then?

Daniel

2007-08-28 17:06:28

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Daniel,

On Tue, Aug 28, 2007 at 07:34:44AM -0700, Daniel Walker wrote:
> On Tue, 2007-08-28 at 02:12 -0700, Stephane Eranian wrote:
> > Daniel,
> >
> > On Mon, Aug 27, 2007 at 04:07:54PM -0700, Daniel Walker wrote:
> > > On Mon, 2007-08-27 at 15:55 -0700, Stephane Eranian wrote:
> > >
> > > > Yet the model name looks strange. So we need to run one more test,
> > > > as the fam/model is not enough. What we need to check is whether or
> > > > not this processor implements architectural perfmon or not.
> > > >
> > > > Could you please compile and run the attached program and send me
> > > > the output?
> > >
> > > The output below is all the output ..
> > >
> > > eax=0x7280201: version=1 num_cnt=2
> > >
> > Then you have a Core Duo processor and the commit from Bjorn should
> > fix the problem. If it does not, then there is something else wrong.
> > Unfortunately, I do not have a Core Duo machine to try and reproduce.
>
> There must be something else wrong, cause the problem persists .. As I
> said in past emails to Bjorn, I tested his commit in git, as well as the
> latest git all with the same issue (as well as bisecting git)..
>
> If the hardware is buggy then we need some way to determine that..
>
Could you instrument check_nmi_watchdog() to verify that you terminate
this function? Normally there is a safety mechanism in there.

Another possibility is that you get flooded with NMI interrupts and
do not make forward progress.

> If this machine didn't support performance counters, what would happen
> then?
>

If you have an Local APIC and performance counters, then it will try and use it.
Otherwise, I suspect it tries the NMI_IO_APIC (nmi_watchdog=1).

--
-Stephane

2007-08-28 18:39:22

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Tue, 2007-08-28 at 10:05 -0700, Stephane Eranian wrote:
> Daniel,
>
> On Tue, Aug 28, 2007 at 07:34:44AM -0700, Daniel Walker wrote:
> > On Tue, 2007-08-28 at 02:12 -0700, Stephane Eranian wrote:
> > > Daniel,
> > >
> > > On Mon, Aug 27, 2007 at 04:07:54PM -0700, Daniel Walker wrote:
> > > > On Mon, 2007-08-27 at 15:55 -0700, Stephane Eranian wrote:
> > > >
> > > > > Yet the model name looks strange. So we need to run one more test,
> > > > > as the fam/model is not enough. What we need to check is whether or
> > > > > not this processor implements architectural perfmon or not.
> > > > >
> > > > > Could you please compile and run the attached program and send me
> > > > > the output?
> > > >
> > > > The output below is all the output ..
> > > >
> > > > eax=0x7280201: version=1 num_cnt=2
> > > >
> > > Then you have a Core Duo processor and the commit from Bjorn should
> > > fix the problem. If it does not, then there is something else wrong.
> > > Unfortunately, I do not have a Core Duo machine to try and reproduce.
> >
> > There must be something else wrong, cause the problem persists .. As I
> > said in past emails to Bjorn, I tested his commit in git, as well as the
> > latest git all with the same issue (as well as bisecting git)..
> >
> > If the hardware is buggy then we need some way to determine that..
> >
> Could you instrument check_nmi_watchdog() to verify that you terminate
> this function? Normally there is a safety mechanism in there.
>
> Another possibility is that you get flooded with NMI interrupts and
> do not make forward progress.

Here is some output from my boot log,

md: raid1 personality registered for level 1
device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: [email protected]
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Testing NMI watchdog ... CPU#0: NMI appears to be stuck (0->0)!
CPU#1: NMI appears to be stuck (0->0)!
CPU#2: NMI appears to be stuck (0->0)!
CPU#3: NMI appears to be stuck (0->0)!
Starting balanced_irq
<hangs>

So it does appear to make it out of the check_nmi_watchdog() function
even tho there is a problem with the watchdog .. "Starting balance_irq"
is in balanced_irq_init(). It usually hangs at this spot , but with
initcall_debug on it once hung a little further down ..

It seems like there might be some other interrupt going off too early,
that causes the system to hang..

As you can see from the log above, this system is a quad.. Two physical
cpus each with two cores.

Daniel

2007-08-28 19:47:16

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Daniel,

On Tue, Aug 28, 2007 at 11:30:35AM -0700, Daniel Walker wrote:
>
> Here is some output from my boot log,
>
> md: raid1 personality registered for level 1
> device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: [email protected]
> ip_tables: (C) 2000-2006 Netfilter Core Team
> TCP cubic registered
> NET: Registered protocol family 1
> NET: Registered protocol family 17
> Testing NMI watchdog ... CPU#0: NMI appears to be stuck (0->0)!
> CPU#1: NMI appears to be stuck (0->0)!
> CPU#2: NMI appears to be stuck (0->0)!
> CPU#3: NMI appears to be stuck (0->0)!
> Starting balanced_irq
> <hangs>
>
> So it does appear to make it out of the check_nmi_watchdog() function
> even tho there is a problem with the watchdog .. "Starting balance_irq"
> is in balanced_irq_init(). It usually hangs at this spot , but with
> initcall_debug on it once hung a little further down ..

I think I found the problem. As I suspected, it seems there is an assymetry
between the 1st end 2nd counter (just like what they have on P6 core). Yet
for architectural perfmon v1, this restriction is supposed to be lifted.

Unfortunately, a quick look at the errata document at
http://download.intel.com/design/mobile/SPECUPDT/30922212.pdf

for Core Duo shows bugs A49 as 'nofix':
Core Duo processor has a bug which renders the enable bit (22) of
PERFEVTSEL1 inoperative. The processor behaves like former P6 cores,
the enable bit of PERFEVTSEL0 controls the activation of both counters

That explains why you get the 'NMI stuck' message when using PERFEVTSEL1.
I suspect when using PERFEVTSEL0, then NMI watchdog is not stuck. So it
is possible that in case NMI is stuck the code does not cleanly shutdown the
NMI interrupt and you get some spurious NMI interrupt later in the boot at
you are stuck because you are holding a lock. We need to look at the error
path of check_nmi_watchdog(). I glance through it and could not find the place
where the APIC vector is cleared.

> It seems like there might be some other interrupt going off too early,
> that causes the system to hang..
>
> As you can see from the log above, this system is a quad.. Two physical
> cpus each with two cores.
>

--

-Stephane

2007-08-28 20:22:35

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Bjorn,

It looks like we need to revisit the patch that makes the NMI
watchdog use the 2nd counter (PERFREVTSEL1/PMC1) for architectural
perfmon.

The Intel Core Duo processor has a bug (AE49) with the enable bit of the 2nd
counter not working. The Core 2 Duo/Quad processors also implement architectural
perfmon but they do not have the bug. Furthermore, they implement PEBS which
requires the use of the 1st counter.

I think we need to distinguish the 2 situtations. For Core Duo use the 1st counter,
for other architectural perfmon processor use the 2nd. That means we cannot simply
rely on X86_FEATURE_ARCH_PERFMON we need to check family/model number.

Thanks.


On Tue, Aug 28, 2007 at 11:30:35AM -0700, Daniel Walker wrote:
> On Tue, 2007-08-28 at 10:05 -0700, Stephane Eranian wrote:
> > Daniel,
> >
> > On Tue, Aug 28, 2007 at 07:34:44AM -0700, Daniel Walker wrote:
> > > On Tue, 2007-08-28 at 02:12 -0700, Stephane Eranian wrote:
> > > > Daniel,
> > > >
> > > > On Mon, Aug 27, 2007 at 04:07:54PM -0700, Daniel Walker wrote:
> > > > > On Mon, 2007-08-27 at 15:55 -0700, Stephane Eranian wrote:
> > > > >
> > > > > > Yet the model name looks strange. So we need to run one more test,
> > > > > > as the fam/model is not enough. What we need to check is whether or
> > > > > > not this processor implements architectural perfmon or not.
> > > > > >
> > > > > > Could you please compile and run the attached program and send me
> > > > > > the output?
> > > > >
> > > > > The output below is all the output ..
> > > > >
> > > > > eax=0x7280201: version=1 num_cnt=2
> > > > >
> > > > Then you have a Core Duo processor and the commit from Bjorn should
> > > > fix the problem. If it does not, then there is something else wrong.
> > > > Unfortunately, I do not have a Core Duo machine to try and reproduce.
> > >
> > > There must be something else wrong, cause the problem persists .. As I
> > > said in past emails to Bjorn, I tested his commit in git, as well as the
> > > latest git all with the same issue (as well as bisecting git)..
> > >
> > > If the hardware is buggy then we need some way to determine that..
> > >
> > Could you instrument check_nmi_watchdog() to verify that you terminate
> > this function? Normally there is a safety mechanism in there.
> >
> > Another possibility is that you get flooded with NMI interrupts and
> > do not make forward progress.
>
> Here is some output from my boot log,
>
> md: raid1 personality registered for level 1
> device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: [email protected]
> ip_tables: (C) 2000-2006 Netfilter Core Team
> TCP cubic registered
> NET: Registered protocol family 1
> NET: Registered protocol family 17
> Testing NMI watchdog ... CPU#0: NMI appears to be stuck (0->0)!
> CPU#1: NMI appears to be stuck (0->0)!
> CPU#2: NMI appears to be stuck (0->0)!
> CPU#3: NMI appears to be stuck (0->0)!
> Starting balanced_irq
> <hangs>
>
> So it does appear to make it out of the check_nmi_watchdog() function
> even tho there is a problem with the watchdog .. "Starting balance_irq"
> is in balanced_irq_init(). It usually hangs at this spot , but with
> initcall_debug on it once hung a little further down ..
>
> It seems like there might be some other interrupt going off too early,
> that causes the system to hang..
>
> As you can see from the log above, this system is a quad.. Two physical
> cpus each with two cores.
>
> Daniel

--

-Stephane

2007-08-28 20:23:23

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Tue, 2007-08-28 at 12:46 -0700, Stephane Eranian wrote:


> I think I found the problem. As I suspected, it seems there is an assymetry
> between the 1st end 2nd counter (just like what they have on P6 core). Yet
> for architectural perfmon v1, this restriction is supposed to be lifted.
>
> Unfortunately, a quick look at the errata document at
> http://download.intel.com/design/mobile/SPECUPDT/30922212.pdf
>
> for Core Duo shows bugs A49 as 'nofix':
> Core Duo processor has a bug which renders the enable bit (22) of
> PERFEVTSEL1 inoperative. The processor behaves like former P6 cores,
> the enable bit of PERFEVTSEL0 controls the activation of both counters

Your patch switched the nmi from PERFEVTSEL0 to PERFEVTSEL1 (right?)..
So 0 works, 1 does not , for me anyway ..

> That explains why you get the 'NMI stuck' message when using PERFEVTSEL1.
> I suspect when using PERFEVTSEL0, then NMI watchdog is not stuck. So it
> is possible that in case NMI is stuck the code does not cleanly shutdown the
> NMI interrupt and you get some spurious NMI interrupt later in the boot at
> you are stuck because you are holding a lock. We need to look at the error
> path of check_nmi_watchdog(). I glance through it and could not find the place
> where the APIC vector is cleared.

As far as I can tell the check_nmi_watchdog() doesn't take locks, and it
can't safely share a lock with the NMI ..

The patch below fixes the hang (not the stuck NMI) .. Not totally sure
why, but the cpus are stuck in a loop waiting for the endflag which
never comes .. This also plays with the nmi hz which might do
something.. /proc/interrupt doesn't show any nmi's either..

Daniel

Signed-off-by: Daniel Walker <[email protected]>

Index: linux-2.6.22/arch/i386/kernel/nmi.c
===================================================================
--- linux-2.6.22.orig/arch/i386/kernel/nmi.c 2007-08-15 00:51:12.000000000 +0000
+++ linux-2.6.22/arch/i386/kernel/nmi.c 2007-08-28 20:15:04.000000000 +0000
@@ -82,7 +82,7 @@ static __init void nmi_cpu_busy(void *da
static int __init check_nmi_watchdog(void)
{
unsigned int *prev_nmi_count;
- int cpu;
+ int cpu, ret = 0;

if ((nmi_watchdog == NMI_NONE) || (nmi_watchdog == NMI_DEFAULT))
return 0;
@@ -125,18 +125,18 @@ static int __init check_nmi_watchdog(voi
if (!atomic_read(&nmi_active)) {
kfree(prev_nmi_count);
atomic_set(&nmi_active, -1);
- return -1;
- }
+ printk("nmi malfunctioning.\n");
+ ret = -1;
+ } else
+ printk("OK.\n");
endflag = 1;
- printk("OK.\n");
-
/* now that we know it works we can reduce NMI frequency to
something more reasonable; makes a difference in some configs */
if (nmi_watchdog == NMI_LOCAL_APIC)
nmi_hz = lapic_adjust_nmi_hz(1);

kfree(prev_nmi_count);
- return 0;
+ return ret;
}
/* This needs to happen later in boot so counters are working */
late_initcall(check_nmi_watchdog);


2007-08-28 20:35:28

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21


Here's a simpler patch that fixes the boot hang ..

We have to call off the IPI looping regardless of the check_nmi_watchdog
outcome..

Signed-off-by: Daniel Walker <[email protected]>

Index: linux-2.6.22/arch/i386/kernel/nmi.c
===================================================================
--- linux-2.6.22.orig/arch/i386/kernel/nmi.c 2007-08-15 00:51:12.000000000 +0000
+++ linux-2.6.22/arch/i386/kernel/nmi.c 2007-08-28 20:27:56.000000000 +0000
@@ -122,12 +122,12 @@ static int __init check_nmi_watchdog(voi
atomic_dec(&nmi_active);
}
}
+ endflag = 1;
if (!atomic_read(&nmi_active)) {
kfree(prev_nmi_count);
atomic_set(&nmi_active, -1);
return -1;
}
- endflag = 1;
printk("OK.\n");

/* now that we know it works we can reduce NMI frequency to




2007-08-29 07:42:16

by Natalie Protasevich

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

n 8/27/07, David Rees <[email protected]> wrote:
> On 8/27/07, Daniel Walker <[email protected]> wrote:
> > Now that I'm looking at the kernel bugzilla .. If you set the kernel
> > version to 2.6.22 and set the "Regression" check box you could denote
> > the fact that it's a regression in that kernel version ..
> >
> > I don't know if this URL is going to come out right,
> >
> > <snip url>
> >
> > That should be open bugs , kernel version 2.6.22, with the regression
> > check box set ..
> >
> > So you may not need a master tracking bug ..
>
> Yep, that's another way to do it. The method I described earlier is
> commonly used when you don't have the handy regression field in
> bugzilla. The technique is handy for creating lists for tracking other
> types of issues which don't necessarily fall into a component and you
> don't want to bother customizing bugzilla.
>
> I also suspect that there will be a number of common searches that
> many people will find useful. With recent versions of bugzilla (3.0+)
> you can share searches within groups, but it may be helpful to have a
> wiki or some other page where useful searches can be stored, or one of
> the templates edited to include those common searches.
>
> -Dave
>

What David suggested - is exactly what I was going to do, checking out
3.0 etc. Pretty much every post from everyone in this thread is an
action item.

I think we should start getting unsolved regressions in bugzilla, as a
"natural process". And maybe throwing them all in there even those
that got immediately resolved is probably a good thing - better than
to miss one. Either you do it Michal or dump it on me (I'm still doing
sorting out and cleaning things up, actually myself and Adrian - are
re-basing everything and getting rid of stale stuff).
Then I think bugzilla needs:
adding more categories such as security, system calls (lots of
implementation suggestions for posix and non-posix ones), locking,
etc;
improved searches - for sure, for example in addition to
pre-cooked queries make possible using "raw" queries directly on sql,
which will address misplaced bugs and will make categories more
dynamic;
recipe database, for standard debugging requests and procedures
(serial console, getting sysreq traces, bisecting etc. - things to cut
and paste)
user modifiable personal environment ("my bugzilla"), more of
morph type interface around the database.
... not mentioning all flaws and problems with current one (cannot get
back to home page, clear previous search, do certain updates in one
step and so on)

Regressions need to be tracked in effective manner, and I also noticed
counter intuitive question that we have now (the infamous "last
release when it _didn't_ happen") is clearly not the way to go, rather
adding simple boxes "Was working in XX" and "Not working in XX" or
similar straightforward question.

In my opinion bugzilla is far from being a convenient tool. I suspect
that hating bugzilla comes down to having to deal with no
sophisticated interface that is inadequate - when so many nice and
slick tools and sites are around that we all used to. I am also
investigating and checking out other bugzillas looking for good ideas.

Thanks,
--Natalie

2007-08-29 21:25:51

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Daniel,

On Tue, Aug 28, 2007 at 01:13:44PM -0700, Daniel Walker wrote:
> On Tue, 2007-08-28 at 12:46 -0700, Stephane Eranian wrote:
>
> > I think I found the problem. As I suspected, it seems there is an assymetry
> > between the 1st end 2nd counter (just like what they have on P6 core). Yet
> > for architectural perfmon v1, this restriction is supposed to be lifted.
> >
> > Unfortunately, a quick look at the errata document at
> > http://download.intel.com/design/mobile/SPECUPDT/30922212.pdf
> >
> > for Core Duo shows bugs A49 as 'nofix':
> > Core Duo processor has a bug which renders the enable bit (22) of
> > PERFEVTSEL1 inoperative. The processor behaves like former P6 cores,
> > the enable bit of PERFEVTSEL0 controls the activation of both counters
>
> Your patch switched the nmi from PERFEVTSEL0 to PERFEVTSEL1 (right?)..
> So 0 works, 1 does not , for me anyway ..
>
Yes that is what the patch was doing and it was for a specific reason. On
a Core 2 Duo (which uses the 2nd generation of the architectural PMU), some
useful features (such as PEBS) requiree the use of counter 0 so we cannot
give it away to NMI.

Now on Core Duo, there is no PEBS anyway, so it is okay to use counter 0
for NMI. The problem is that the detection code in perfctr-watchdog.c
treats a Core Duo and a Core 2 Duo the same way as they both have the
X86_FEATURE_ARCH_PERFMON bit set.

I have attached a patch with handle the case of the Core Duo. Unfortunately,
I do not own one so I cannot test it. I would appreciate if you could
try re-applying my counter 0 -> 1 patch + this new one to see if you
have the problem with the NMI getting stuck.

The patch below is probably still needed to handle the case where you get
stuck.

Thanks.

> > That explains why you get the 'NMI stuck' message when using PERFEVTSEL1.
> > I suspect when using PERFEVTSEL0, then NMI watchdog is not stuck. So it
> > is possible that in case NMI is stuck the code does not cleanly shutdown the
> > NMI interrupt and you get some spurious NMI interrupt later in the boot at
> > you are stuck because you are holding a lock. We need to look at the error
> > path of check_nmi_watchdog(). I glance through it and could not find the place
> > where the APIC vector is cleared.
>
> As far as I can tell the check_nmi_watchdog() doesn't take locks, and it
> can't safely share a lock with the NMI ..
>
> The patch below fixes the hang (not the stuck NMI) .. Not totally sure
> why, but the cpus are stuck in a loop waiting for the endflag which
> never comes .. This also plays with the nmi hz which might do
> something.. /proc/interrupt doesn't show any nmi's either..
>
> Daniel
>
> Signed-off-by: Daniel Walker <[email protected]>
>
> Index: linux-2.6.22/arch/i386/kernel/nmi.c
> ===================================================================
> --- linux-2.6.22.orig/arch/i386/kernel/nmi.c 2007-08-15 00:51:12.000000000 +0000
> +++ linux-2.6.22/arch/i386/kernel/nmi.c 2007-08-28 20:15:04.000000000 +0000
> @@ -82,7 +82,7 @@ static __init void nmi_cpu_busy(void *da
> static int __init check_nmi_watchdog(void)
> {
> unsigned int *prev_nmi_count;
> - int cpu;
> + int cpu, ret = 0;
>
> if ((nmi_watchdog == NMI_NONE) || (nmi_watchdog == NMI_DEFAULT))
> return 0;
> @@ -125,18 +125,18 @@ static int __init check_nmi_watchdog(voi
> if (!atomic_read(&nmi_active)) {
> kfree(prev_nmi_count);
> atomic_set(&nmi_active, -1);
> - return -1;
> - }
> + printk("nmi malfunctioning.\n");
> + ret = -1;
> + } else
> + printk("OK.\n");
> endflag = 1;
> - printk("OK.\n");
> -
> /* now that we know it works we can reduce NMI frequency to
> something more reasonable; makes a difference in some configs */
> if (nmi_watchdog == NMI_LOCAL_APIC)
> nmi_hz = lapic_adjust_nmi_hz(1);
>
> kfree(prev_nmi_count);
> - return 0;
> + return ret;
> }
> /* This needs to happen later in boot so counters are working */
> late_initcall(check_nmi_watchdog);
>

--

-Stephane


Attachments:
(No filename) (3.90 kB)
coreduo.diff (1.06 kB)
Download all attachments

2007-08-29 22:23:53

by Adrian Bunk

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Wed, Aug 29, 2007 at 12:42:02AM -0700, Natalie Protasevich wrote:
>...
> Then I think bugzilla needs:
> adding more categories such as security,

"security" would be a flag like "regression", not a category.

> system calls (lots of
> implementation suggestions for posix and non-posix ones),
>...

Bugzilla is for tracking bugs, not for discussing possible
kernel features.

Tracking feature or implementation suggestions wouldn't make sense.
Consider e.g. that there are several people on linux-kernel who often
write what they think the kernel should do but who never write a single
line of code themselves. There's no value in tracking such stuff.

> improved searches - for sure, for example in addition to
> pre-cooked queries make possible using "raw" queries directly on sql,
> which will address misplaced bugs and will make categories more
> dynamic;

What do you have in mind?

I've always been able to do any search I wanted using the "Advanced Search"
of Bugzilla. Well, just checking, it seems the search for the new
"regression" flag could be made easier, but that's not a general problem.

But what could be improved in the database would be to fix the
charset problems for getting the RSS feeds working (#8774). ;-)

> recipe database, for standard debugging requests and procedures
> (serial console, getting sysreq traces, bisecting etc. - things to cut
> and paste)

Documentation makes sense, but it belongs into some place like the
kernelnewbies wiki, not the Bugzilla itself.

> user modifiable personal environment ("my bugzilla"), more of
> morph type interface around the database.

Preferences settings plus saved searches already work.

What is missing?

> ... not mentioning all flaws and problems with current one (cannot get
> back to home page,

There's a "Home" link that does exactly this among the actions offered
at the bottom of all pages.

> clear previous search,

There's a "Search" link that gives you a new search among the actions
offered at the bottom of all pages.

> do certain updates in one step
>...

The only thing that comes into my mind is that you cannot reassign a bug
and change it's status in one step. But "flaws and problems" would IMHO
be too hard an expression since it works fine with two updates.

> Regressions need to be tracked in effective manner, and I also noticed
> counter intuitive question that we have now (the infamous "last
> release when it _didn't_ happen") is clearly not the way to go, rather
> adding simple boxes "Was working in XX" and "Not working in XX" or
> similar straightforward question.

Sounds like a good solution for the one question so many submitters get
wrong. :-)

> In my opinion bugzilla is far from being a convenient tool. I suspect
> that hating bugzilla comes down to having to deal with no
> sophisticated interface that is inadequate - when so many nice and
> slick tools and sites are around that we all used to. I am also
> investigating and checking out other bugzillas looking for good ideas.

Bugzilla isn't that bad and it has the advantage of being the most
popular bug tracking system for open source projects, which means that
most likely every kernel developer and many submitters have already used
a Bugzilla at some other project.

>From past discussions my impression was that several kernel developers
have an email based workflow and are reluctant to integrate web based
actions into their workflow.

I'd say the success of any bigger Bugzilla change or switch to a
different or writing of a new bug tracking system could be measured
by answering the following question:
Will Linus Torvalds and David Miller use it?

> Thanks,
> --Natalie

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2007-08-29 23:59:57

by Natalie Protasevich

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

> Bugzilla is for tracking bugs, not for discussing possible
> kernel features.

True, but some of them are categorized as bugs from the reporter's
prospective, when they say "man page says" or "according to POSIX it's
wrong". I am going to push ones that are feature suggestions,
re-design suggestions, and some way implementation related out to the
site that Rick is going to help to maintain, which is more of
suggested projects list.
>
> Tracking feature or implementation suggestions wouldn't make sense.
> Consider e.g. that there are several people on linux-kernel who often
> write what they think the kernel should do but who never write a single
> line of code themselves. There's no value in tracking such stuff.

Yes, but some suggestions seem to make sense. How about evaluating it?
and if they are real making it a possible project for someone who
would do appropriate research, etc. And we move them from bugzilla
where they don't belong to a development arena.

> > improved searches - for sure, for example in addition to
> > pre-cooked queries make possible using "raw" queries directly on sql,
> > which will address misplaced bugs and will make categories more
> > dynamic;
>
> What do you have in mind?

I am going to look into the bugzilla software to start with, and see
if there is a way to expand it this way. we used to have such internal
tracking (unix based) at work, where we could compose pretty much
freelance queries, it is really not big deal for developers who script
and write huge regular expressions for their convenience every
day...just a vogue idea for now, trying to think how to minimize bugs
that get lost because of wrong bucket. Going manually through all of
them is not very effective.

> I've always been able to do any search I wanted using the "Advanced Search"
> of Bugzilla. Well, just checking, it seems the search for the new
> "regression" flag could be made easier, but that's not a general problem.
>

Yes but you have to assume that everything is in the right place from
start, besides putting things into categories is often impossible
before some exchange with reporter and initial diagnostics. The worst
category so fas as I found is "other" (in every place where it
exists). Most of the "other" bugs haven't been touched, and some have
huge "SATA" letters in the description written in them :)

> But what could be improved in the database would be to fix the
> charset problems for getting the RSS feeds working (#8774). ;-)

I agree :)

> Documentation makes sense, but it belongs into some place like the
> kernelnewbies wiki, not the Bugzilla itself.

Right, so there should be convenient links to such. I know people like
Mauro maintains his own set of templates and he was the one to suggest
it, but later I found out myself that looking for serial console or
bisect instructions every time is cumbersome... I can't imagine
making every maintainer to have to have his own, maybe some hate bug
stuff for this ("oh, not that again...")

> Preferences settings plus saved searches already work.
>
> What is missing?

I guess existing one is certainly good in many ways - just not good
enough for people to love it ;) Frankly, I see so many other bugzillas
that have better look and feel but there is no way we can change it
overnight...improving things according to feedback from maintainers
(after all the whole purpose is to give them what they need, even in
case if they don't need bugzilla at all! then it should be best
possible interface for bug maintainers ;), maybe try 3.0+ first and
see how much better we get...

> There's a "Home" link that does exactly this among the actions offered
> at the bottom of all pages.

Yea you can find many hidden buttons that you have to scroll down to
:) A little more ergonomics wouldn't hurt though..

> Bugzilla isn't that bad and it has the advantage of being the most
> popular bug tracking system for open source projects, which means that
> most likely every kernel developer and many submitters have already used
> a Bugzilla at some other project.
>
> From past discussions my impression was that several kernel developers
> have an email based workflow and are reluctant to integrate web based
> actions into their workflow.

Yes, and we should cater to them as well. I am totally agree with you
that tracking and fixing real bugs is the real goal, and interface is
only important as long as it serves the purpose, and not being a
culprit. We'll see how it will be evolving. (and I am evolving here
too - trying to find what's missing and how to make things work :)

> I'd say the success of any bigger Bugzilla change or switch to a
> different or writing of a new bug tracking system could be measured
> by answering the following question:
> Will Linus Torvalds and David Miller use it?

Heh, yes. This should be something really awesome don't you think :)

--Natalie

2007-08-30 01:31:17

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Wed, 2007-08-29 at 14:24 -0700, Stephane Eranian wrote:


> Now on Core Duo, there is no PEBS anyway, so it is okay to use counter 0
> for NMI. The problem is that the detection code in perfctr-watchdog.c
> treats a Core Duo and a Core 2 Duo the same way as they both have the
> X86_FEATURE_ARCH_PERFMON bit set.
>
> I have attached a patch with handle the case of the Core Duo. Unfortunately,
> I do not own one so I cannot test it. I would appreciate if you could
> try re-applying my counter 0 -> 1 patch + this new one to see if you
> have the problem with the NMI getting stuck.

I tested your patch .. The system doesn't hang, but the NMI seems to
disappear .. The check_nmi_watchdog() is not called, and the NMI never
actually starts firing .. Is that what you had intended?

Daniel

2007-08-30 08:51:26

by Adrian Bunk

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Wed, Aug 29, 2007 at 04:59:47PM -0700, Natalie Protasevich wrote:
> > Bugzilla is for tracking bugs, not for discussing possible
> > kernel features.
>
> True, but some of them are categorized as bugs from the reporter's
> prospective, when they say "man page says" or "according to POSIX it's
> wrong".

If code behaves differently from how it should that is a bug. [1]

> I am going to push ones that are feature suggestions,
> re-design suggestions, and some way implementation related out to the
> site that Rick is going to help to maintain, which is more of
> suggested projects list.
>
> > Tracking feature or implementation suggestions wouldn't make sense.
> > Consider e.g. that there are several people on linux-kernel who often
> > write what they think the kernel should do but who never write a single
> > line of code themselves. There's no value in tracking such stuff.
>
> Yes, but some suggestions seem to make sense. How about evaluating it?
> and if they are real making it a possible project for someone who
> would do appropriate research, etc. And we move them from bugzilla
> where they don't belong to a development arena.

Fine with me, my point was simply that they don't belong into a
_bug_ tracker.

> > > improved searches - for sure, for example in addition to
> > > pre-cooked queries make possible using "raw" queries directly on sql,
> > > which will address misplaced bugs and will make categories more
> > > dynamic;
> >
> > What do you have in mind?
>
> I am going to look into the bugzilla software to start with, and see
> if there is a way to expand it this way. we used to have such internal
> tracking (unix based) at work, where we could compose pretty much
> freelance queries, it is really not big deal for developers who script
> and write huge regular expressions for their convenience every
> day...just a vogue idea for now, trying to think how to minimize bugs
> that get lost because of wrong bucket. Going manually through all of
> them is not very effective.

Is there any reasonable query that would be possible through SQL but
isn't already possible through the web interface?

> > I've always been able to do any search I wanted using the "Advanced Search"
> > of Bugzilla. Well, just checking, it seems the search for the new
> > "regression" flag could be made easier, but that's not a general problem.
>
> Yes but you have to assume that everything is in the right place from
> start, besides putting things into categories is often impossible
> before some exchange with reporter and initial diagnostics. The worst
> category so fas as I found is "other" (in every place where it
> exists). Most of the "other" bugs haven't been touched, and some have
> huge "SATA" letters in the description written in them :)
>...

You need some kind of first level support that does some initial
debugging and assigns the bug into the right category, and that will
always be a manual task done by going through all new bugs.

> --Natalie

cu
Adrian

[1] there are special cases where the kernel might deliberately not
some specification

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2007-08-30 15:25:14

by Stefan Richter

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases?

Natalie Protasevich wrote:
[Adrian Bunk wrote:]
>> Bugzilla is for tracking bugs, not for discussing possible
>> kernel features.
>
> True, but some of them are categorized as bugs from the reporter's
> prospective, when they say "man page says" or "according to POSIX it's
> wrong". I am going to push ones that are feature suggestions,
> re-design suggestions, and some way implementation related out to the
> site that Rick is going to help to maintain, which is more of
> suggested projects list.
>>
>> Tracking feature or implementation suggestions wouldn't make sense.
>> Consider e.g. that there are several people on linux-kernel who often
>> write what they think the kernel should do but who never write a single
>> line of code themselves. There's no value in tracking such stuff.

I agree.

But I find it sensible...

> Yes, but some suggestions seem to make sense. How about evaluating it?
> and if they are real making it a possible project for someone who
> would do appropriate research, etc. And we move them from bugzilla
> where they don't belong to a development arena.

...to track very concrete feature-related TODO items. One Issues &
Resolutions Database which I occasionally work with indeed distinguishes
between "bug", "new feature", "improvement", "task", whatever that
means. The type of issue is the first question one is asked when one
enters a new issue.

'My' Linux kernel subsystem has a long virtual TODO list, with bugs,
missing features, and other kinds of items in it. Since there is almost
no personnel, the list has a tendency to contain long-lived items. Once
or twice or so I already added entries of the missing-feature kind to
bugzilla.kernel.org. Doing this is questionable at the moment though
--- it adds noise to the database of actual bugs, since there is no way
to visually distinguish and filter bugs vs. missing features etc.

Of course, non-bug TODO items could as well be tracked elsewhere,
independently of bug tracking. 'My' subsystem has a wiki which could be
a good place for this. Or I could start to post a TODO list on the
subsystem mailinglist in e.g. bimonthly intervals.


Al Boldi wrote in "Designers and Builders (was: Who wants to maintain KR
list for stable releases?)":
| So, what's wrong with tapping into people's design suggestions, and
| allowing others to implement it?

Design suggestions should really come from people who also know a lot
about the how-to. This is even true to some degree about feature
requests. Besides, I've got a feeling that regardless of the field of
τεχνη one works in, someone can only be a truly good designer if she or
he has also been a builder.

But back to the discussion. A tracker is not a good tool for
brainstorming sessions, except perhaps for capturing conclusions after
the brainstorm, as far as they are suitable as input for actual work.

Also, "*allowing* others to implement it" has a strange ring to me.
Where I am around, there are always far too few people who fix things
and build things. But very, very occasionally there is someone new who
wonders if there is an interesting TODO item which is perhaps in the
reach of his abilities. Contributing a cleanup or an actual feature is
typically much easier than fixing an open, tracked bug. (The bugs which
end up in the bugtracker are usually the difficult ones.) The
contributor learns something and, in a rare turn of events, may
eventually become able and willing to join the bugfixing.
--
Stefan Richter
-=====-=-=== =--- ====-
http://arcgraph.de/sr/

2007-08-30 15:54:26

by Bill Davidsen

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

Adrian Bunk wrote:
> On Wed, Aug 29, 2007 at 12:42:02AM -0700, Natalie Protasevich wrote:
>> ...
>> Then I think bugzilla needs:
>> adding more categories such as security,
>
> "security" would be a flag like "regression", not a category.
>
>> system calls (lots of
>> implementation suggestions for posix and non-posix ones),
>> ...
>
> Bugzilla is for tracking bugs, not for discussing possible
> kernel features.
>
> Tracking feature or implementation suggestions wouldn't make sense.
> Consider e.g. that there are several people on linux-kernel who often
> write what they think the kernel should do but who never write a single
> line of code themselves. There's no value in tracking such stuff.
>
That's an interesting viewpoint, only programmers have useful
thoughts... ignoring users, people who have CS degrees but don't code,
etc. I would think there's value in any rational suggestions which
include technical justification for the suggestion.

--
Bill Davidsen <[email protected]>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot

2007-08-30 21:06:48

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Daniel,

On Wed, Aug 29, 2007 at 06:21:59PM -0700, Daniel Walker wrote:
> On Wed, 2007-08-29 at 14:24 -0700, Stephane Eranian wrote:
>
>
> > Now on Core Duo, there is no PEBS anyway, so it is okay to use counter 0
> > for NMI. The problem is that the detection code in perfctr-watchdog.c
> > treats a Core Duo and a Core 2 Duo the same way as they both have the
> > X86_FEATURE_ARCH_PERFMON bit set.
> >
> > I have attached a patch with handle the case of the Core Duo. Unfortunately,
> > I do not own one so I cannot test it. I would appreciate if you could
> > try re-applying my counter 0 -> 1 patch + this new one to see if you
> > have the problem with the NMI getting stuck.
>
> I tested your patch .. The system doesn't hang, but the NMI seems to
> disappear .. The check_nmi_watchdog() is not called, and the NMI never
> actually starts firing .. Is that what you had intended?
>
Yes, I realized I missed a small detail in the switch statement.
Could you try the new version?

Thanks.

--
-Stephane


Attachments:
(No filename) (0.99 kB)
coreduo.diff (1.22 kB)
Download all attachments

2007-08-31 14:53:18

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Thu, 2007-08-30 at 14:05 -0700, Stephane Eranian wrote:
> Daniel,

> Yes, I realized I missed a small detail in the switch statement.
> Could you try the new version?

This patch still has the stuck NMI .. Essentially the same thing that
happened without the patch..

Feel free to keep sending patches, I'll test them all ..

Daniel

2007-08-31 16:22:21

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Daniel,

On Fri, Aug 31, 2007 at 07:43:20AM -0700, Daniel Walker wrote:
> On Thu, 2007-08-30 at 14:05 -0700, Stephane Eranian wrote:
> > Daniel,
>
> > Yes, I realized I missed a small detail in the switch statement.
> > Could you try the new version?
>
> This patch still has the stuck NMI .. Essentially the same thing that
> happened without the patch..
>
Ok, looks like deaulting to P6 does not quite work.

Here is a new version. This time I used a different approach.
I am must admit I am a bit puzzled by the duplication of information
between the wd_ops and the nmi_watchdog_ctlblk structure. My understanding
is that thelater is used as a cache for the info that needs to be per-cpu.

The wd_ops provides the MSR to use for the counter, yet all the setup_*()
routines hardcode the MSR. Not sure why?

In this patch, the setup_*() routine now extract the MSR from the wd_ops
to copy them into the nmi_watchdog_ctlblk. This is not done for P4 because
of the special and ugly case of HT.

With this approach, we can now create a custom wd_ops for CoreDuo that is
a clone of the intel_arch_wd_ops, except for the MSR.

Could you try this one instead?

Thanks.

--

-Stephane


Attachments:
(No filename) (1.16 kB)
coreduo3.diff (2.02 kB)
Download all attachments

2007-08-31 16:45:26

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Fri, 2007-08-31 at 09:21 -0700, Stephane Eranian wrote:
> Daniel,
>
> On Fri, Aug 31, 2007 at 07:43:20AM -0700, Daniel Walker wrote:
> > On Thu, 2007-08-30 at 14:05 -0700, Stephane Eranian wrote:
> > > Daniel,
> >
> > > Yes, I realized I missed a small detail in the switch statement.
> > > Could you try the new version?
> >
> > This patch still has the stuck NMI .. Essentially the same thing that
> > happened without the patch..
> >
> Ok, looks like deaulting to P6 does not quite work.
>
> Here is a new version. This time I used a different approach.
> I am must admit I am a bit puzzled by the duplication of information
> between the wd_ops and the nmi_watchdog_ctlblk structure. My understanding
> is that thelater is used as a cache for the info that needs to be per-cpu.
>
> The wd_ops provides the MSR to use for the counter, yet all the setup_*()
> routines hardcode the MSR. Not sure why?

Yeah, that's bad .. For instance, if those had all been centralized
Bjorn wouldn't have needed to fix those up later..

> In this patch, the setup_*() routine now extract the MSR from the wd_ops
> to copy them into the nmi_watchdog_ctlblk. This is not done for P4 because
> of the special and ugly case of HT.
>
> With this approach, we can now create a custom wd_ops for CoreDuo that is
> a clone of the intel_arch_wd_ops, except for the MSR.
>
> Could you try this one instead?

So I tested your patch unchanged and the system boots, and the
check_nmi_watchdog() passes .. However, the nmi stops ticking right
after bootup,

>From my /proc/interrupts below,

CPU0 CPU1 CPU2 CPU3
0: 108 0 0 0 IO-APIC-edge timer
1: 0 0 0 8 IO-APIC-edge i8042
4: 3427 0 0 1 IO-APIC-edge serial
8: 1 0 0 1 IO-APIC-edge rtc
12: 0 0 0 113 IO-APIC-edge i8042
14: 1128 0 0 10 IO-APIC-edge ide0
16: 1664 0 0 1 IO-APIC-fasteoi uhci_hcd:usb2, eth0
18: 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1
19: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3
20: 0 0 0 1 IO-APIC-fasteoi acpi
NMI: 1670 1453 1097 967
LOC: 48001 48002 48000 48006
ERR: 0
MIS: 0


The NMI field never changes ..

So I added another change which looked appropriate,

@@ -674,6 +688,7 @@ unsigned lapic_adjust_nmi_hz(unsigned hz
{
struct nmi_watchdog_ctlblk *wd = &__get_cpu_var(nmi_watchdog_ctlblk);
if (wd->perfctr_msr == MSR_P6_PERFCTR0 ||
+ wd->perfctr_msr == MSR_ARCH_PERFMON_PERFCTR0 ||
wd->perfctr_msr == MSR_ARCH_PERFMON_PERFCTR1)
hz = adjust_for_32bit_ctr(hz);
return hz;


Unfortunately that didn't fix anything, but I have a feeling is has
something to do with the nmi hertz adjustment that happens after
check_nmi_watchdog() ..

Daniel


2007-08-31 18:06:29

by Björn Steinbrink

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On 2007.08.31 09:35:23 -0700, Daniel Walker wrote:
> On Fri, 2007-08-31 at 09:21 -0700, Stephane Eranian wrote:
> > In this patch, the setup_*() routine now extract the MSR from the wd_ops
> > to copy them into the nmi_watchdog_ctlblk. This is not done for P4 because
> > of the special and ugly case of HT.
> >
> > With this approach, we can now create a custom wd_ops for CoreDuo that is
> > a clone of the intel_arch_wd_ops, except for the MSR.
> >
> > Could you try this one instead?
>
> So I tested your patch unchanged and the system boots, and the
> check_nmi_watchdog() passes .. However, the nmi stops ticking right
> after bootup,
>
> >>From my /proc/interrupts below,
>
> CPU0 CPU1 CPU2 CPU3
> 0: 108 0 0 0 IO-APIC-edge timer
> 1: 0 0 0 8 IO-APIC-edge i8042
> 4: 3427 0 0 1 IO-APIC-edge serial
> 8: 1 0 0 1 IO-APIC-edge rtc
> 12: 0 0 0 113 IO-APIC-edge i8042
> 14: 1128 0 0 10 IO-APIC-edge ide0
> 16: 1664 0 0 1 IO-APIC-fasteoi uhci_hcd:usb2, eth0
> 18: 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1
> 19: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3
> 20: 0 0 0 1 IO-APIC-fasteoi acpi
> NMI: 1670 1453 1097 967
> LOC: 48001 48002 48000 48006
> ERR: 0
> MIS: 0
>
>
> The NMI field never changes ..
>
> So I added another change which looked appropriate,
>
> @@ -674,6 +688,7 @@ unsigned lapic_adjust_nmi_hz(unsigned hz
> {
> struct nmi_watchdog_ctlblk *wd = &__get_cpu_var(nmi_watchdog_ctlblk);
> if (wd->perfctr_msr == MSR_P6_PERFCTR0 ||
> + wd->perfctr_msr == MSR_ARCH_PERFMON_PERFCTR0 ||
> wd->perfctr_msr == MSR_ARCH_PERFMON_PERFCTR1)
> hz = adjust_for_32bit_ctr(hz);
> return hz;
>
>
> Unfortunately that didn't fix anything, but I have a feeling is has

That's because MSR_P6_PERFCTR0 is the same as MSR_ARCH_PERFMON_PERFCTR0.
But I'd personally add that change anyway, as it makes the code less
tricky and the compiler should optimize it away.

> something to do with the nmi hertz adjustment that happens after
> check_nmi_watchdog() ..

Hm hm, does the same thing (watchdog stuck after check) happen with
older kernels, ie. those before Stephane's changeset that made it use
PERFCTR1?

Maybe you could "activate" the Dprintk in write_watchdog_counter32() to
see which value gets written to the MSR? (I don't see any switch to
activate it, so maybe just s/Dprintk(/printk(KERN_WHATEVER / ?)

Thanks,
Bj?rn

2007-09-01 00:34:56

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Fri, 2007-08-31 at 20:06 +0200, Björn Steinbrink wrote:


> > something to do with the nmi hertz adjustment that happens after
> > check_nmi_watchdog() ..
>
> Hm hm, does the same thing (watchdog stuck after check) happen with
> older kernels, ie. those before Stephane's changeset that made it use
> PERFCTR1?

I noticed the frequency gets turned down after check_nmi_watchdog() is
called.. I think it's suppose to trigger once per second, but it's more
like it updates randomly ..

In older kernels it's very slow, but it's more consistent ..

Here is some output ..

morning-glory ~ # cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 103 0 0 0 IO-APIC-edge timer
1: 0 0 0 8 IO-APIC-edge i8042
4: 2320 0 0 1 IO-APIC-edge serial
8: 1 0 0 1 IO-APIC-edge rtc
12: 0 0 0 113 IO-APIC-edge i8042
14: 1143 0 0 10 IO-APIC-edge ide0
16: 227 0 0 1 IO-APIC-fasteoi uhci_hcd:usb2, eth0
18: 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1
19: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3
20: 0 0 0 1 IO-APIC-fasteoi acpi
NMI: 150 168 124 121
LOC: 6188 6189 6187 6184
ERR: 0
MIS: 0
morning-glory ~ # cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 103 0 0 0 IO-APIC-edge timer
1: 0 0 0 8 IO-APIC-edge i8042
4: 2391 0 0 1 IO-APIC-edge serial
8: 1 0 0 1 IO-APIC-edge rtc
12: 0 0 0 113 IO-APIC-edge i8042
14: 1143 0 0 10 IO-APIC-edge ide0
16: 872 0 0 1 IO-APIC-fasteoi uhci_hcd:usb2, eth0
18: 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1
19: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3
20: 0 0 0 1 IO-APIC-fasteoi acpi
NMI: 151 168 124 121
LOC: 21443 21444 21442 21439
ERR: 0
MIS: 0
dwalker2 ~ #


If you look at the LOC values you'll notice a lot of time has passed,
with only one NMI and on only one cpu ..

It's possible this is something else completely tho ..

> Maybe you could "activate" the Dprintk in write_watchdog_counter32() to
> see which value gets written to the MSR? (I don't see any switch to
> activate it, so maybe just s/Dprintk(/printk(KERN_WHATEVER / ?)

Here's the only lines printed,

setting INTEL_ARCH_PERFCTR0 to -0x0131385e
setting INTEL_ARCH_PERFCTR0 to -0x0131385e
setting INTEL_ARCH_PERFCTR0 to -0x0131385e
setting INTEL_ARCH_PERFCTR0 to -0x0131385e

Daniel

2007-09-01 01:00:35

by Björn Steinbrink

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On 2007.08.31 17:24:46 -0700, Daniel Walker wrote:
> On Fri, 2007-08-31 at 20:06 +0200, Bj?rn Steinbrink wrote:
>
>
> > > something to do with the nmi hertz adjustment that happens after
> > > check_nmi_watchdog() ..
> >
> > Hm hm, does the same thing (watchdog stuck after check) happen with
> > older kernels, ie. those before Stephane's changeset that made it use
> > PERFCTR1?
>
> I noticed the frequency gets turned down after check_nmi_watchdog() is
> called.. I think it's suppose to trigger once per second, but it's more
> like it updates randomly ..

It's once per second if the cpu is 100% busy, if it's just idling and
halted, the performance counters won't be increased.

> In older kernels it's very slow, but it's more consistent ..

With the same load on the box? Maybe some other changes caused the box
to behave differently (say, CFS), regarding eg. load distribution
amongst the cores.

>
> Here is some output ..
>
> morning-glory ~ # cat /proc/interrupts
> CPU0 CPU1 CPU2 CPU3
> 0: 103 0 0 0 IO-APIC-edge timer
> 1: 0 0 0 8 IO-APIC-edge i8042
> 4: 2320 0 0 1 IO-APIC-edge serial
> 8: 1 0 0 1 IO-APIC-edge rtc
> 12: 0 0 0 113 IO-APIC-edge i8042
> 14: 1143 0 0 10 IO-APIC-edge ide0
> 16: 227 0 0 1 IO-APIC-fasteoi uhci_hcd:usb2, eth0
> 18: 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1
> 19: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3
> 20: 0 0 0 1 IO-APIC-fasteoi acpi
> NMI: 150 168 124 121
> LOC: 6188 6189 6187 6184
> ERR: 0
> MIS: 0
> morning-glory ~ # cat /proc/interrupts
> CPU0 CPU1 CPU2 CPU3
> 0: 103 0 0 0 IO-APIC-edge timer
> 1: 0 0 0 8 IO-APIC-edge i8042
> 4: 2391 0 0 1 IO-APIC-edge serial
> 8: 1 0 0 1 IO-APIC-edge rtc
> 12: 0 0 0 113 IO-APIC-edge i8042
> 14: 1143 0 0 10 IO-APIC-edge ide0
> 16: 872 0 0 1 IO-APIC-fasteoi uhci_hcd:usb2, eth0
> 18: 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1
> 19: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3
> 20: 0 0 0 1 IO-APIC-fasteoi acpi
> NMI: 151 168 124 121
> LOC: 21443 21444 21442 21439
> ERR: 0
> MIS: 0
> dwalker2 ~ #
>
>
> If you look at the LOC values you'll notice a lot of time has passed,
> with only one NMI and on only one cpu ..
>
> It's possible this is something else completely tho ..

At least from the interrupt side, that box looks pretty idle, so that's
expected I'd say.

>
> > Maybe you could "activate" the Dprintk in write_watchdog_counter32() to
> > see which value gets written to the MSR? (I don't see any switch to
> > activate it, so maybe just s/Dprintk(/printk(KERN_WHATEVER / ?)
>
> Here's the only lines printed,
>
> setting INTEL_ARCH_PERFCTR0 to -0x0131385e
> setting INTEL_ARCH_PERFCTR0 to -0x0131385e
> setting INTEL_ARCH_PERFCTR0 to -0x0131385e
> setting INTEL_ARCH_PERFCTR0 to -0x0131385e

Ok, dumb I am.

The "interesting" call from p6_rearm passes NULL as desc, and thus the
printk is never called that way. But before we start flooding your logs,
could you just hog all cores with a simple cpu hog and check if that
causes the NMI counter to increase at about 1 Hz? If that doesn't work,
we can go back to that debug output.

Bj?rn

2007-09-01 01:53:37

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Sat, 2007-09-01 at 03:00 +0200, Björn Steinbrink wrote:
> On 2007.08.31 17:24:46 -0700, Daniel Walker wrote:
> > On Fri, 2007-08-31 at 20:06 +0200, Björn Steinbrink wrote:
> >
> >
> > > > something to do with the nmi hertz adjustment that happens after
> > > > check_nmi_watchdog() ..
> > >
> > > Hm hm, does the same thing (watchdog stuck after check) happen with
> > > older kernels, ie. those before Stephane's changeset that made it use
> > > PERFCTR1?
> >
> > I noticed the frequency gets turned down after check_nmi_watchdog() is
> > called.. I think it's suppose to trigger once per second, but it's more
> > like it updates randomly ..
>
> It's once per second if the cpu is 100% busy, if it's just idling and
> halted, the performance counters won't be increased.

Didn't know that .. I ran hackbench while watching /proc/interrupts ,
and it ticks along ok on some cores ..

The acid test was running an application that hangs the system, and it
caught it (although the system didn't recover from the lockup..) ..

> > In older kernels it's very slow, but it's more consistent ..
>
> With the same load on the box? Maybe some other changes caused the box
> to behave differently (say, CFS), regarding eg. load distribution
> amongst the cores.

It must not have been the same load considering everything else.

I'm satisfied that Stephane's last patch fixes it ..

Daniel

2007-09-01 09:12:39

by Andi Kleen

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21


> If you look at the LOC values you'll notice a lot of time has passed,
> with only one NMI and on only one cpu ..
>
> It's possible this is something else completely tho ..

It only ticks when the CPU is not idle. If you want to see the "operating
frequency" run a main(){for(;;;);} for each core.

-Andi

2007-09-01 10:33:44

by Andi Kleen

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21


> I'm satisfied that Stephane's last patch fixes it ..

Great. Can someone send a final version with proper Changelog and Signed-off-by
please? Thanks.

-Andi

2007-09-01 19:52:19

by Stephane Eranian

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

Hello,

Here is a patch to fix the NMI watchdog problem on CoreDuo processor.
I think we still need Daniel's patch to make the error path (when you
are stuck) do the right cleanup.


Changelog:
- fix the NMI watchdog on Intel CoreDuo processor whereby the
kernel would get stuck during boot. The issue is related to
errata AE49, where the PERFEVTSEL1 counter does not have a
working enable bit. Thus it is not possible to use it for NMI.
The patch creates a dedicated wd_ops for CoreDuo which falls
back to using PERFEVTSEL0. The other Intel processors supporting
the architectural PMU will keep on using PERFEVTSEL1 as this
allows other subsystems, such as perfmon, to use PERFEVTSEL0 for
PEBS monitoring in particular.
Bug initially reported by Daniel Walker.

Signed-off-by: Stephane Eranian <[email protected]>


diff --git a/arch/i386/kernel/cpu/perfctr-watchdog.c b/arch/i386/kernel/cpu/perfctr-watchdog.c
index 9b5d6af..f9066e1 100644
--- a/arch/i386/kernel/cpu/perfctr-watchdog.c
+++ b/arch/i386/kernel/cpu/perfctr-watchdog.c
@@ -271,8 +271,8 @@ static int setup_k7_watchdog(unsigned nmi_hz)
unsigned int evntsel;
struct nmi_watchdog_ctlblk *wd = &__get_cpu_var(nmi_watchdog_ctlblk);

- perfctr_msr = MSR_K7_PERFCTR0;
- evntsel_msr = MSR_K7_EVNTSEL0;
+ perfctr_msr = wd_ops->perfctr;
+ evntsel_msr = wd_ops->evntsel;

wrmsrl(perfctr_msr, 0UL);

@@ -351,8 +351,8 @@ static int setup_p6_watchdog(unsigned nmi_hz)
unsigned int evntsel;
struct nmi_watchdog_ctlblk *wd = &__get_cpu_var(nmi_watchdog_ctlblk);

- perfctr_msr = MSR_P6_PERFCTR0;
- evntsel_msr = MSR_P6_EVNTSEL0;
+ perfctr_msr = wd_ops->perfctr;
+ evntsel_msr = wd_ops->evntsel;

/* KVM doesn't implement this MSR */
if (wrmsr_safe(perfctr_msr, 0, 0) < 0)
@@ -577,8 +577,8 @@ static int setup_intel_arch_watchdog(unsigned nmi_hz)
(ebx & ARCH_PERFMON_UNHALTED_CORE_CYCLES_PRESENT))
return 0;

- perfctr_msr = MSR_ARCH_PERFMON_PERFCTR1;
- evntsel_msr = MSR_ARCH_PERFMON_EVENTSEL1;
+ perfctr_msr = wd_ops->perfctr;
+ evntsel_msr = wd_ops->evntsel;

wrmsrl(perfctr_msr, 0UL);

@@ -613,6 +613,16 @@ static struct wd_ops intel_arch_wd_ops = {
.evntsel = MSR_ARCH_PERFMON_EVENTSEL1,
};

+static struct wd_ops coreduo_wd_ops = {
+ .reserve = single_msr_reserve,
+ .unreserve = single_msr_unreserve,
+ .setup = setup_intel_arch_watchdog,
+ .rearm = p6_rearm,
+ .stop = single_msr_stop_watchdog,
+ .perfctr = MSR_ARCH_PERFMON_PERFCTR0,
+ .evntsel = MSR_ARCH_PERFMON_EVENTSEL0,
+};
+
static void probe_nmi_watchdog(void)
{
switch (boot_cpu_data.x86_vendor) {
@@ -623,6 +633,10 @@ static void probe_nmi_watchdog(void)
wd_ops = &k7_wd_ops;
break;
case X86_VENDOR_INTEL:
+ if (boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model == 14) {
+ wd_ops = &coreduo_wd_ops;
+ break;
+ }
if (cpu_has(&boot_cpu_data, X86_FEATURE_ARCH_PERFMON)) {
wd_ops = &intel_arch_wd_ops;
break;

2007-09-01 20:32:40

by Andi Kleen

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Saturday 01 September 2007 21:51:42 Stephane Eranian wrote:
> Hello,
>
> Here is a patch to fix the NMI watchdog problem on CoreDuo processor.
> I think we still need Daniel's patch to make the error path (when you
> are stuck) do the right cleanup.

Thanks.

Can that other patch please be submitted too?

-Andi

2007-09-01 20:57:13

by Daniel Walker

[permalink] [raw]
Subject: Re: nmi_watchdog=2 regression in 2.6.21

On Sat, 2007-09-01 at 22:32 +0200, Andi Kleen wrote:
> On Saturday 01 September 2007 21:51:42 Stephane Eranian wrote:
> > Hello,
> >
> > Here is a patch to fix the NMI watchdog problem on CoreDuo processor.
> > I think we still need Daniel's patch to make the error path (when you
> > are stuck) do the right cleanup.
>
> Thanks.
>
> Can that other patch please be submitted too?

I just submitted it, subject was

"i386: fix a hang on stuck nmi watchdog"

Daniel

2007-09-03 12:29:47

by Adrian Bunk

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases?

On Thu, Aug 30, 2007 at 05:24:37PM +0200, Stefan Richter wrote:
>...
> Al Boldi wrote in "Designers and Builders (was: Who wants to maintain KR
> list for stable releases?)":
> | So, what's wrong with tapping into people's design suggestions, and
> | allowing others to implement it?
>
> Design suggestions should really come from people who also know a lot
> about the how-to. This is even true to some degree about feature
> requests. Besides, I've got a feeling that regardless of the field of
> τεχνη one works in, someone can only be a truly good designer if she or
> he has also been a builder.
>
> But back to the discussion. A tracker is not a good tool for
> brainstorming sessions, except perhaps for capturing conclusions after
> the brainstorm, as far as they are suitable as input for actual work.
>
> Also, "*allowing* others to implement it" has a strange ring to me.
> Where I am around, there are always far too few people who fix things
> and build things. But very, very occasionally there is someone new who
> wonders if there is an interesting TODO item which is perhaps in the
> reach of his abilities. Contributing a cleanup or an actual feature is
> typically much easier than fixing an open, tracked bug. (The bugs which
> end up in the bugtracker are usually the difficult ones.) The
> contributor learns something and, in a rare turn of events, may
> eventually become able and willing to join the bugfixing.

"Contributing a cleanup" is what the Kernel Janitor Project
already offers.

But "Contributing an actual feature" is much harder:

You need a feature:
- with a realistic chance of being included and
- hard enough that the person suggesting it doesn't simply implement it
himself instead of requesting it and
- easy enough that a newbie can implement it.

And the code should then be in a reasonable shape for being merged.

IMHO that's nearly impossible.

Realistically, offering a TODO item for a feature would require the one
proposing it to do an amount of mentoring work that is not smaller than
the amount of work he had to spend if implementing it himself.

This might be worth it if you know for sure the person you are mentoring
stays active after completion of the feature - but this assumption is
too often not true.

> Stefan Richter

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2007-09-03 12:44:07

by Adrian Bunk

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases? (was Re: nmi_watchdog=2 regression in 2.6.21)

On Thu, Aug 30, 2007 at 11:54:32AM -0400, Bill Davidsen wrote:
> Adrian Bunk wrote:
>> On Wed, Aug 29, 2007 at 12:42:02AM -0700, Natalie Protasevich wrote:
>>> ...
>>> Then I think bugzilla needs:
>>> adding more categories such as security,
>> "security" would be a flag like "regression", not a category.
>>> system calls (lots of
>>> implementation suggestions for posix and non-posix ones),
>>> ...
>> Bugzilla is for tracking bugs, not for discussing possible
>> kernel features.
>> Tracking feature or implementation suggestions wouldn't make sense.
>> Consider e.g. that there are several people on linux-kernel who often
>> write what they think the kernel should do but who never write a single
>> line of code themselves. There's no value in tracking such stuff.
> That's an interesting viewpoint, only programmers have useful thoughts...
> ignoring users, people who have CS degrees but don't code, etc. I would
> think there's value in any rational suggestions which include technical
> justification for the suggestion.

I didn't say this - users can always suggest features.

But open source is driven by coders, not by dreamers who want to offload
the work of implementing their whacky ideas to other people instead of
getting their ass up and doing it themselves.

So if the user doesn't implement it himself, and no developer is
interested in doing the work after it got posted to linux-kernel,
an idea is most likely not worth being tracked.

> Bill Davidsen

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2007-09-03 13:21:48

by Stefan Richter

[permalink] [raw]
Subject: Re: Who wants to maintain KR list for stable releases?

Adrian Bunk wrote:
> On Thu, Aug 30, 2007 at 05:24:37PM +0200, Stefan Richter wrote:
[on whether to track missing features]
>> Where I am around, there are always far too few people who fix things
>> and build things. But very, very occasionally there is someone new who
>> wonders if there is an interesting TODO item which is perhaps in the
>> reach of his abilities. Contributing a cleanup or an actual feature is
>> typically much easier than fixing an open, tracked bug. (The bugs which
>> end up in the bugtracker are usually the difficult ones.) The
>> contributor learns something and, in a rare turn of events, may
>> eventually become able and willing to join the bugfixing.
>
> "Contributing a cleanup" is what the Kernel Janitor Project
> already offers.
>
> But "Contributing an actual feature" is much harder:
>
> You need a feature:
> - with a realistic chance of being included and
> - hard enough that the person suggesting it doesn't simply implement it
> himself instead of requesting it

or there is simply nobody else who takes the time to implement it

> and
> - easy enough that a newbie can implement it.
>
> And the code should then be in a reasonable shape for being merged.

Helping to bring it into shape may be one of the easier pastimes of a
gateway person. (Can be done after mindnumbing day job.)

> IMHO that's nearly impossible.
>
> Realistically, offering a TODO item for a feature would require the one
> proposing it to do an amount of mentoring work that is not smaller than
> the amount of work he had to spend if implementing it himself.
>
> This might be worth it if you know for sure the person you are mentoring
> stays active after completion of the feature - but this assumption is
> too often not true.

Adding a feature is not just a matter of amount of work, it is also a
matter of motivation and inspiration. So, even if it remains a one-off
project, at least that feature came into life.

But besides these remarks I have to agree with your view, overall.
--
Stefan Richter
-=====-=-=== =--= ---==
http://arcgraph.de/sr/