2008-07-29 03:26:30

by Linus Torvalds

[permalink] [raw]
Subject: Linux v2.6.27-rc1


It's two weeks (and one day), and the merge window is over.

Finally. I don't know why, but this one really did feel pretty dang busy.
And the size of the -rc1 patch bears that out - at 12MB, it's about 50%
bigger than 26-rc1 (but not that much bigger than 24/25-rc1, so it's not
like it's anything unheard of).

The pure size of the -rc's _is_ making me a bit nervous, though. Sure, it
means that we are good at merging it all, but I have to say that I
sometimes wonder if we don't merge too much in one go, and even our
current (fairly short) release cycle is actually too big.

Anyway, that's a discussion for some other event.

Much of -rc1 was in linux-next, but certainly not everything. We'll see
how that whole thing ends up evolving - it certainly didn't solve all
problems, and there was some bickering about things that weren't there
(and some things that mostly were ;), but maybe it helped.

There's a ton of new stuff in there, but at least personally the
interesting things are the BKL pushdown and perhaps the introduction of
the lockless get_user_pages_fast(). The build system also got updated to
allow moving the architecture include files ("include/asm-xyz") into the
architecture subdirectories ("arch/xyz/include/asm"), and sparc seems to
have taken advantage of that already.

But those changes are just small details in the end. As usual, the bulk of
changes are all to device drivers (roughly half, as usual), with the arch
directory amounting to about half of the remainder. Dirstat:

3.2% arch/arm/
9.2% arch/ppc/
24.6% arch/
5.2% drivers/char/drm/
6.3% drivers/char/
4.5% drivers/gpu/drm/
4.5% drivers/gpu/
4.6% drivers/media/video/
5.5% drivers/media/
3.0% drivers/net/wireless/
10.7% drivers/net/
6.4% drivers/usb/misc/
4.7% drivers/usb/serial/
12.9% drivers/usb/
51.2% drivers/
4.4% firmware/
3.7% fs/
9.2% include/

where the bulk of that fs/ update is the merge of the UBI filesystem, to
pick one fairly sizeable chunk outside of arch or drivers (there's omfs
too, but that's tiny in comparison).

Other stuff? tracing. firmware loading. continued x86 arch merging. And
moving more code to generic support (unified generic IPI handling,
coherent dma memory allocation, show_mem etc). bootmem rewrites. Some
support for further scalability (ie 4k cpu cores).

But mostly lots and lots of driver and arch updates.

Go to kernelnewbies or lwn for more reporting, I'm going to sleep for
twenty-four hours now ;)

Linus


2008-07-29 04:01:55

by Nick Piggin

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

On Tuesday 29 July 2008 13:23, Linus Torvalds wrote:

> Other stuff? tracing. firmware loading. continued x86 arch merging. And
> moving more code to generic support (unified generic IPI handling,
> coherent dma memory allocation, show_mem etc). bootmem rewrites. Some
> support for further scalability (ie 4k cpu cores).

And lockless pagecache, woohoo!

2008-07-29 09:50:21

by Alistair John Strachan

[permalink] [raw]
Subject: 2.6.27-rc1: zd1211rw association fails

Hi,

Just tried switching to 2.6.27-rc1 on my desktop, with a supported zd1211rw
device, and my wireless AP does not "authenticate". With 2.6.26 (the only
previous working version tested) I get the following in dmesg:

[ 17.481900] firmware: requesting zd1211/zd1211b_ub
[ 17.536820] firmware: requesting zd1211/zd1211b_uphr
[ 17.601837] zd1211rw 1-2:1.0: firmware version 4725
[ 17.602837] zd1211rw 1-2:1.0: zd1211b chip 050d:705c v4810 high 00-17-3f AL2230_RF pa0 g--NS
[ 18.613540] wlan0: Initial auth_alg=0
[ 18.613540] wlan0: authenticate with AP 00:17:3f:a4:d6:9d
[ 18.622538] wlan0: RX authentication from 00:17:3f:a4:d6:9d (alg=0 transaction=2 status=0)
[ 18.622538] wlan0: authenticated
[ 18.622538] wlan0: associate with AP 00:17:3f:a4:d6:9d
[ 18.622538] wlan0: RX AssocResp from 00:17:3f:a4:d6:9d (capab=0x461 status=0 aid=2)
[ 18.622538] wlan0: associated
[ 18.622538] wlan0: switched to short barker preamble (BSSID=00:17:3f:a4:d6:9d)

Which is correct. One perhaps interesting detail is that the AP is unencrypted,
here is what iwlist wlan0 scanning sees:

wlan0 Scan completed :
Cell 01 - Address: 00:17:3F:A4:D6:9D
ESSID:"strachan"
Mode:Master
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=100/100 Signal level=44/100
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 22 Mb/s
6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Extra:tsf=00000036b0f6e1b6

However, on 2.6.27-rc1 I see the following instead:

[ 12.120189] firmware: requesting zd1211/zd1211b_ub
[ 12.166388] firmware: requesting zd1211/zd1211b_uphr
[ 12.218877] zd1211rw 4-2:1.0: firmware version 4725
[ 12.258877] zd1211rw 4-2:1.0: zd1211b chip 050d:705c v4810 high 00-17-3f AL2230_RF pa0 g--NS
[ 13.097289] wlan0: authenticate with AP 00:17:3f:a4:d6:9d
[ 13.296890] wlan0: authenticate with AP 00:17:3f:a4:d6:9d
[ 13.496890] wlan0: authenticate with AP 00:17:3f:a4:d6:9d
[ 13.696886] wlan0: authentication with AP 00:17:3f:a4:d6:9d timed out

And Debian's networking script fails to obtain an IP address. I notice the line:

[ 18.613540] wlan0: Initial auth_alg=0

Is missing from the 2.6.27-rc1 dmesg, however my config should not have been
altered (I simply make oldconfig'ed it). Find attached anyway.

I'll start a bisection if nobody has any immediate ideas.

--
Cheers,
Alistair.


Attachments:
(No filename) (2.52 kB)
.config (46.85 kB)
Download all attachments

2008-07-29 10:10:22

by Johannes Berg

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails


> However, on 2.6.27-rc1 I see the following instead:
>
> [ 12.120189] firmware: requesting zd1211/zd1211b_ub
> [ 12.166388] firmware: requesting zd1211/zd1211b_uphr
> [ 12.218877] zd1211rw 4-2:1.0: firmware version 4725
> [ 12.258877] zd1211rw 4-2:1.0: zd1211b chip 050d:705c v4810 high 00-17-3f AL2230_RF pa0 g--NS
> [ 13.097289] wlan0: authenticate with AP 00:17:3f:a4:d6:9d
> [ 13.296890] wlan0: authenticate with AP 00:17:3f:a4:d6:9d
> [ 13.496890] wlan0: authenticate with AP 00:17:3f:a4:d6:9d
> [ 13.696886] wlan0: authentication with AP 00:17:3f:a4:d6:9d timed out
>
> And Debian's networking script fails to obtain an IP address. I notice the line:
>
> [ 18.613540] wlan0: Initial auth_alg=0
>
> Is missing from the 2.6.27-rc1 dmesg, however my config should not have been
> altered (I simply make oldconfig'ed it). Find attached anyway.
>
> I'll start a bisection if nobody has any immediate ideas.

This is about the 100 millionth time this is reported. Please try the
patch I just posted.

johannes


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2008-07-29 11:23:21

by Martin Knoblauch

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

----- Original Message ----

> From: Linus Torvalds <[email protected]>
> To: Linux Kernel Mailing List <[email protected]>
> Sent: Tuesday, July 29, 2008 5:23:21 AM
> Subject: Linux v2.6.27-rc1
>
>
> It's two weeks (and one day), and the merge window is over.
>

CHK include/linux/version.h
CHK include/linux/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC arch/x86/kernel/ldt.o
arch/x86/kernel/ldt.c: In function `alloc_ldt':
arch/x86/kernel/ldt.c:67: error: invalid lvalue in unary `&'
make[1]: *** [arch/x86/kernel/ldt.o] Error 1
make: *** [arch/x86/kernel] Error 2

This is a x86_64 build on a RHEL4U3 userland (gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)). Config is taken from 2.6.26.

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.27-rc1-nfs_ra
# Tue Jul 29 13:09:04 2008
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
# CONFIG_GENERIC_LOCKBREAK is not set
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_FAST_CMPXCHG_LOCAL=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_GENERIC_GPIO is not set
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y
CONFIG_IKCONFIG=y
# CONFIG_IKCONFIG_PROC is not set
CONFIG_LOG_BUF_SHIFT=21
# CONFIG_CGROUPS is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
# CONFIG_COMPAT_BRK is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_MARKERS=y
CONFIG_OPROFILE=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
# CONFIG_HAVE_ARCH_TRACEHOOK is not set
# CONFIG_HAVE_DMA_ATTRS is not set
CONFIG_USE_GENERIC_SMP_HELPERS=y
# CONFIG_HAVE_CLK is not set
CONFIG_PROC_PAGE_MONITOR=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
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"
CONFIG_CLASSIC_RCU=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_VSMP is not set
# CONFIG_PARAVIRT_GUEST is not set
CONFIG_MEMTEST=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 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_MPSC is not set
# CONFIG_MCORE2 is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_CPU=y
CONFIG_X86_L1_CACHE_BYTES=128
CONFIG_X86_INTERNODE_CACHE_BYTES=128
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
# CONFIG_AMD_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
# CONFIG_I8K is not set
CONFIG_MICROCODE=m
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_NUMA=y
CONFIG_K8_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
# CONFIG_NUMA_EMU is not set
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_GET_USER_PAGES_FAST=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
# CONFIG_EFI is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x200000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
# CONFIG_HOTPLUG_CPU is not set
CONFIG_COMPAT_VDSO=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y

#
# Power management options
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SUSPEND is not set
# CONFIG_HIBERNATION is not set
CONFIG_ACPI=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_WMI=m
CONFIG_ACPI_ASUS=m
CONFIG_ACPI_TOSHIBA=m
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_PCI_SLOT=m
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_SBS 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_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set

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

#
# shared options
#
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
# CONFIG_X86_SPEEDSTEP_LIB is not set
# CONFIG_CPU_IDLE is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
CONFIG_DMAR=y
CONFIG_DMAR_GFX_WA=y
CONFIG_DMAR_FLOPPY_WA=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
CONFIG_HT_IRQ=y
CONFIG_ISA_DMA_API=y
CONFIG_K8_NB=y
# CONFIG_PCCARD is not set
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_FAKE is not set
CONFIG_HOTPLUG_PCI_ACPI=m
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_SHPC=m

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE 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 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=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_NETLABEL is not set
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# 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
# CONFIG_NET_SCHED is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN 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_MAC80211 is not set
# CONFIG_IEEE80211 is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# 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
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=m
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_CISS_SCSI_TAPE=y
# 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=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ACER_WMI is not set
CONFIG_ASUS_LAPTOP=m
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_EEEPC_LAPTOP is not set
# CONFIG_ENCLOSURE_SERVICES is not set
CONFIG_HP_ILO=m
CONFIG_HAVE_IDE=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

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

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_PLATFORM is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEDMA_SFF=y

#
# PCI IDE chipsets support
#
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_PCIBUS_ORDER=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_AEC62XX=y
CONFIG_BLK_DEV_ALI15X3=y
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_ATIIXP=y
CONFIG_BLK_DEV_CMD64X=y
CONFIG_BLK_DEV_TRIFLEX=y
CONFIG_BLK_DEV_CS5520=y
CONFIG_BLK_DEV_CS5530=y
CONFIG_BLK_DEV_HPT366=y
# 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=y
CONFIG_BLK_DEV_PDC202XX_NEW=y
CONFIG_BLK_DEV_SVWKS=y
CONFIG_BLK_DEV_SIIMAGE=y
CONFIG_BLK_DEV_SIS5513=y
CONFIG_BLK_DEV_SLC90E66=y
# CONFIG_BLK_DEV_TRM290 is not set
CONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_BLK_DEV_TC86C001 is not set
CONFIG_BLK_DEV_IDEDMA=y

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
# 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=y
CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_SCAN_ASYNC is not set
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
# CONFIG_SCSI_FC_TGT_ATTRS is not set
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC7XXX_OLD=m
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=4
CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC94XX is not set
CONFIG_SCSI_DPT_I2O=m
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
# CONFIG_MEGARAID_LEGACY is not set
CONFIG_MEGARAID_SAS=m
# 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=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_STEX is not set
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_QLOGIC_1280=m
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_SRP is not set
# CONFIG_SCSI_DH is not set
# CONFIG_ATA is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_MD_RAID5_RESHAPE=y
CONFIG_MD_MULTIPATH=m
# CONFIG_MD_FAULTY is not set
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#

#
# Enable only one of the two stacks, unless you know what you are doing
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_BONDING=m
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_VETH is not set
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=m

#
# MII PHY device drivers
#
# CONFIG_MARVELL_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_SMSC_PHY is not set
CONFIG_BROADCOM_PHY=m
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
# CONFIG_CASSINI is not set
CONFIG_NET_VENDOR_3COM=y
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
CONFIG_DE4X5=m
CONFIG_WINBOND_840=m
CONFIG_DM9102=m
# CONFIG_ULI526X is not set
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=m
CONFIG_AMD8111_ETH=m
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_FORCEDETH=m
# CONFIG_FORCEDETH_NAPI is not set
CONFIG_EEPRO100=m
CONFIG_E100=m
CONFIG_FEALNX=m
CONFIG_NATSEMI=m
CONFIG_NE2K_PCI=m
CONFIG_8139CP=m
CONFIG_8139TOO=m
CONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R6040=m
CONFIG_SIS900=m
CONFIG_EPIC100=m
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
# CONFIG_SC92031 is not set
# CONFIG_NET_POCKET is not set
CONFIG_NETDEV_1000=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_DL2K=m
CONFIG_E1000=m
# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
CONFIG_E1000E=m
# CONFIG_IP1000 is not set
CONFIG_IGB=m
# CONFIG_IGB_LRO is not set
CONFIG_NS83820=m
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_R8169=m
# CONFIG_SIS190 is not set
CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_VIA_VELOCITY=m
CONFIG_TIGON3=m
CONFIG_BNX2=m
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
# CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_NIU is not set
# CONFIG_MLX4_CORE is not set
# CONFIG_TEHUTI is not set
# CONFIG_BNX2X is not set
# CONFIG_SFC is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set

#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
# CONFIG_USB_NET_DM9601 is not set
# CONFIG_USB_NET_GL620A is not set
CONFIG_USB_NET_NET1080=m
# CONFIG_USB_NET_PLUSB is not set
# CONFIG_USB_NET_MCS7830 is not set
# CONFIG_USB_NET_RNDIS_HOST is not set
# CONFIG_USB_NET_CDC_SUBSET is not set
CONFIG_USB_NET_ZAURUS=m
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
# CONFIG_PPP_BSDCOMP is not set
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=m
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_NET_FC is not set
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=m

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
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_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_APPLETOUCH is not set
CONFIG_MOUSE_VSXXXAA=m
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
# CONFIG_JOYSTICK_XPAD is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_FUJITSU is not set
CONFIG_TOUCHSCREEN_GUNZE=m
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_MK712 is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_UCB1400 is not set
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
CONFIG_INPUT_UINPUT=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# 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_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_DEVKMEM=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_COMPUTONE is not set
# CONFIG_ROCKETPORT is not set
# CONFIG_CYCLADES is not set
# CONFIG_DIGIEPCA is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_ISI is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not set
# CONFIG_SYNCLINK_GT is not set
CONFIG_N_HDLC=m
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not set
# CONFIG_RIO is not set
CONFIG_STALDRV=y
# CONFIG_NOZOMI is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=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=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y

#
# 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 is not set
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=8192
# CONFIG_HPET is not set
CONFIG_HANGCHECK_TIMER=m
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
# CONFIG_I2C_AMD756_S4882 is not set
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_ISCH=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_SIMTEC is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Graphics adapter I2C/DDC channel drivers
#
CONFIG_I2C_VOODOO3=m

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_STUB is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_DS1682 is not set
CONFIG_AT24=m
CONFIG_SENSORS_EEPROM=m
CONFIG_SENSORS_PCF8574=m
CONFIG_PCF8575=m
CONFIG_SENSORS_PCA9539=m
CONFIG_SENSORS_PCF8591=m
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 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
# CONFIG_SPI is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7418 is not set
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
# CONFIG_SENSORS_ADM1029 is not set
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7473=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_FSCPOS=m
CONFIG_SENSORS_FSCHMD=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
# CONFIG_SENSORS_HDAPS is not set
CONFIG_SENSORS_APPLESMC=m
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_THERMAL=y
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
CONFIG_SC520_WDT=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
# CONFIG_IBMASR is not set
CONFIG_WAFER_WDT=m
# CONFIG_I6300ESB_WDT is not set
# CONFIG_ITCO_WDT is not set
CONFIG_IT8712F_WDT=m
CONFIG_HP_WATCHDOG=m
CONFIG_SC1200_WDT=m
# CONFIG_PC87413_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
CONFIG_CPU5_WDT=m
# CONFIG_SMSC37B787_WDT is not set
CONFIG_W83627HF_WDT=m
# CONFIG_W83697HF_WDT is not set
CONFIG_W83877F_WDT=m
# CONFIG_W83977F_WDT is not set
CONFIG_MACHZ_WDT=m
# CONFIG_SBC_EPX_C3_WATCHDOG is not set

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m
CONFIG_WDT_501_PCI=y

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=m

#
# Sonics Silicon Backplane
#
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
# CONFIG_SSB_B43_PCI_BRIDGE is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y

#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set

#
# Multimedia devices
#

#
# Multimedia core support
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_VIDEO_MEDIA is not set

#
# Multimedia drivers
#
CONFIG_DAB=y
# CONFIG_USB_DABUSB is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_I915=m
CONFIG_DRM_MGA=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
CONFIG_VGASTATE=m
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
# CONFIG_FB_DDC is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
CONFIG_FB_SVGALIB=m
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=m
# 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=m
CONFIG_FB_VESA=y
# CONFIG_FB_EFI is not set
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
CONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not set
# CONFIG_FB_RIVA_DEBUG is not set
CONFIG_FB_RIVA_BACKLIGHT=y
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
CONFIG_FB_S3=m
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
CONFIG_FB_KYRO=m
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
CONFIG_FB_VT8623=m
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
# CONFIG_LCD_ILI9320 is not set
CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_CORGI is not set
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKLIGHT_CARILLO_RANCH is not set
# CONFIG_BACKLIGHT_MBP_NVIDIA is not set

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=m

#
# Display hardware drivers
#

#
# 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_DETECT_PRIMARY is not set
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
# CONFIG_HIDRAW is not set

#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
CONFIG_HID_FF=y
CONFIG_HID_PID=y
CONFIG_LOGITECH_FF=y
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_PANTHERLORD_FF is not set
CONFIG_THRUSTMASTER_FF=y
# CONFIG_ZEROPLUS_FF is not set
CONFIG_USB_HIDDEV=y
CONFIG_USB_SUPPORT=y
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
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

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

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
# CONFIG_USB_WDM 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=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
# CONFIG_USB_STORAGE_USBAT is not set
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_LIBUSUAL is not set

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
CONFIG_USB_MON=y

#
# USB port drivers
#
CONFIG_USB_USS720=m
CONFIG_USB_SERIAL=m
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
CONFIG_USB_SERIAL_BELKIN=m
# CONFIG_USB_SERIAL_CH341 is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
# CONFIG_USB_SERIAL_CP2101 is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
# CONFIG_USB_SERIAL_FUNSOFT is not set
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_MOTOROLA is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
CONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_HP4X is not set
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_TI is not set
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
# CONFIG_USB_SERIAL_OPTION is not set
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_DEBUG=m

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=m
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
CONFIG_USB_AUERSWALD=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_BERRY_CHARGE=m
CONFIG_USB_LED=m
# 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=m
CONFIG_USB_TEST=m
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=m

#
# LED drivers
#
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_PCA955X is not set

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set

#
# Firmware Drivers
#
CONFIG_EDD=m
CONFIG_EDD_OFF=y
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
# CONFIG_ISCSI_IBFT_FIND 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=m
# CONFIG_EXT3_FS_XATTR is not set
# CONFIG_EXT4DEV_FS is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
# CONFIG_QUOTA_NETLINK_INTERFACE is not set
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set

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

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_NTFS_FS 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=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
CONFIG_VXFS_FS=m
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
# CONFIG_NFS_V4 is not set
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
# CONFIG_NFSD_V4 is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_WEAK_PW_HASH is not set
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# 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

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
# CONFIG_KARMA_PARTITION is not set
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m
# CONFIG_DLM is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_RT_MUTEX_TESTER is not set
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
# CONFIG_PROVE_LOCKING is not set
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
CONFIG_DEBUG_LOCKDEP=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_BACKTRACE_SELF_TEST=m
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
CONFIG_HAVE_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_TRACING=y
CONFIG_FTRACE=y
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SYSPROF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_DYNAMIC_FTRACE=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DIRECT_GBPAGES is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_MMIOTRACE is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
# CONFIG_SECURITY_ROOTPLUG is not set
CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT is not set
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
# CONFIG_CRYPTO_TEST is not set

#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m

#
# Block modes
#
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set

#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m

#
# Ciphers
#
CONFIG_CRYPTO_AES=m
# CONFIG_CRYPTO_AES_X86_64 is not set
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_LZO=m
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_HIFN_795X=m
# CONFIG_CRYPTO_DEV_HIFN_795X_RNG is not set
CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
# CONFIG_VIRTIO_PCI is not set
# CONFIG_VIRTIO_BALLOON is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
CONFIG_LZO_DECOMPRESS=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y


Cheers
Martin

2008-07-29 11:25:20

by Alistair John Strachan

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails

On Tuesday 29 July 2008 11:09:55 Johannes Berg wrote:
> > However, on 2.6.27-rc1 I see the following instead:
> >
> > [ 12.120189] firmware: requesting zd1211/zd1211b_ub
> > [ 12.166388] firmware: requesting zd1211/zd1211b_uphr
> > [ 12.218877] zd1211rw 4-2:1.0: firmware version 4725
> > [ 12.258877] zd1211rw 4-2:1.0: zd1211b chip 050d:705c v4810 high
> > 00-17-3f AL2230_RF pa0 g--NS [ 13.097289] wlan0: authenticate with AP
> > 00:17:3f:a4:d6:9d
> > [ 13.296890] wlan0: authenticate with AP 00:17:3f:a4:d6:9d
> > [ 13.496890] wlan0: authenticate with AP 00:17:3f:a4:d6:9d
> > [ 13.696886] wlan0: authentication with AP 00:17:3f:a4:d6:9d timed out
> >
> > And Debian's networking script fails to obtain an IP address. I notice
> > the line:
> >
> > [ 18.613540] wlan0: Initial auth_alg=0
> >
> > Is missing from the 2.6.27-rc1 dmesg, however my config should not have
> > been altered (I simply make oldconfig'ed it). Find attached anyway.
> >
> > I'll start a bisection if nobody has any immediate ideas.
>
> This is about the 100 millionth time this is reported. Please try the
> patch I just posted.

If it doesn't strain you too much more, could you actually tell me where this
is? Your last 5 posts to LKML don't seem to contain such a patch, and I'm not
subscribed to linux-wireless.

--
Cheers,
Alistair.

2008-07-29 11:26:35

by Johannes Berg

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails


> If it doesn't strain you too much more, could you actually tell me where this
> is? Your last 5 posts to LKML don't seem to contain such a patch, and I'm not
> subscribed to linux-wireless.

Well, the latter has archives.

johannes


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2008-07-29 11:39:22

by Hugh Dickins

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails

On Tue, 29 Jul 2008, Johannes Berg wrote:
>
> > If it doesn't strain you too much more, could you actually tell me where this
> > is? Your last 5 posts to LKML don't seem to contain such a patch, and I'm not
> > subscribed to linux-wireless.
>
> Well, the latter has archives.

Wow, your patches seem to be a lot more helpful than your emails.
I presume it's this one below, which at first sight seems to be
working for me on iwl3945 - thank you for that.

Hugh


This patch fixes mac80211 to not use the skb->cb over the queue step
from virtual interfaces to the master. The patch also, for now,
disables aggregation because that would still require requeuing,
will fix that in a separate patch. There are two other places (software
requeue and powersaving stations) where requeue can happen, but that is
not currently used by any drivers/not possible to use respectively.

Signed-off-by: Johannes Berg <[email protected]>
---
This fixes wireless. At least it works on my WPA network, I haven't
actually tested a broken kernel.

drivers/net/wireless/ath5k/base.c | 2 -
drivers/net/wireless/b43/xmit.c | 2 -
drivers/net/wireless/b43legacy/xmit.c | 2 -
drivers/net/wireless/iwlwifi/iwl-tx.c | 2 -
drivers/net/wireless/iwlwifi/iwl3945-base.c | 2 -
drivers/net/wireless/rt2x00/rt2x00mac.c | 2 -
include/linux/skbuff.h | 5 ++
include/net/mac80211.h | 6 ---
net/core/skbuff.c | 3 +
net/mac80211/main.c | 8 ----
net/mac80211/mlme.c | 8 +---
net/mac80211/tx.c | 47 ++++++++++++----------------
net/mac80211/wme.c | 3 +
13 files changed, 40 insertions(+), 52 deletions(-)

--- everything.orig/include/net/mac80211.h 2008-07-29 09:08:16.000000000 +0200
+++ everything/include/net/mac80211.h 2008-07-29 11:07:41.000000000 +0200
@@ -206,8 +206,6 @@ struct ieee80211_bss_conf {
* These flags are used with the @flags member of &ieee80211_tx_info.
*
* @IEEE80211_TX_CTL_REQ_TX_STATUS: request TX status callback for this frame.
- * @IEEE80211_TX_CTL_DO_NOT_ENCRYPT: send this frame without encryption;
- * e.g., for EAPOL frame
* @IEEE80211_TX_CTL_USE_RTS_CTS: use RTS-CTS before sending frame
* @IEEE80211_TX_CTL_USE_CTS_PROTECT: use CTS protection for the frame (e.g.,
* for combined 802.11g / 802.11b networks)
@@ -220,7 +218,6 @@ struct ieee80211_bss_conf {
* @IEEE80211_TX_CTL_SHORT_PREAMBLE: TBD
* @IEEE80211_TX_CTL_LONG_RETRY_LIMIT: this frame should be send using the
* through set_retry_limit configured long retry value
- * @IEEE80211_TX_CTL_EAPOL_FRAME: internal to mac80211
* @IEEE80211_TX_CTL_SEND_AFTER_DTIM: send this frame after DTIM beacon
* @IEEE80211_TX_CTL_AMPDU: this frame should be sent as part of an A-MPDU
* @IEEE80211_TX_CTL_OFDM_HT: this frame can be sent in HT OFDM rates. number
@@ -253,7 +250,6 @@ struct ieee80211_bss_conf {
*/
enum mac80211_tx_control_flags {
IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(0),
- IEEE80211_TX_CTL_DO_NOT_ENCRYPT = BIT(1),
IEEE80211_TX_CTL_USE_RTS_CTS = BIT(2),
IEEE80211_TX_CTL_USE_CTS_PROTECT = BIT(3),
IEEE80211_TX_CTL_NO_ACK = BIT(4),
@@ -263,7 +259,6 @@ enum mac80211_tx_control_flags {
IEEE80211_TX_CTL_FIRST_FRAGMENT = BIT(8),
IEEE80211_TX_CTL_SHORT_PREAMBLE = BIT(9),
IEEE80211_TX_CTL_LONG_RETRY_LIMIT = BIT(10),
- IEEE80211_TX_CTL_EAPOL_FRAME = BIT(11),
IEEE80211_TX_CTL_SEND_AFTER_DTIM = BIT(12),
IEEE80211_TX_CTL_AMPDU = BIT(13),
IEEE80211_TX_CTL_OFDM_HT = BIT(14),
@@ -323,7 +318,6 @@ struct ieee80211_tx_info {
struct ieee80211_vif *vif;
struct ieee80211_key_conf *hw_key;
unsigned long jiffies;
- int ifindex;
u16 aid;
s8 rts_cts_rate_idx, alt_retry_rate_idx;
u8 retry_limit;
--- everything.orig/net/mac80211/tx.c 2008-07-29 09:08:16.000000000 +0200
+++ everything/net/mac80211/tx.c 2008-07-29 11:09:09.000000000 +0200
@@ -439,14 +439,14 @@ ieee80211_tx_h_select_key(struct ieee802
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(tx->skb);
u16 fc = tx->fc;

- if (unlikely(info->flags & IEEE80211_TX_CTL_DO_NOT_ENCRYPT))
+ if (unlikely(tx->skb->do_not_encrypt))
tx->key = NULL;
else if (tx->sta && (key = rcu_dereference(tx->sta->key)))
tx->key = key;
else if ((key = rcu_dereference(tx->sdata->default_key)))
tx->key = key;
else if (tx->sdata->drop_unencrypted &&
- !(info->flags & IEEE80211_TX_CTL_EAPOL_FRAME) &&
+ (tx->skb->protocol != cpu_to_be16(ETH_P_PAE)) &&
!(info->flags & IEEE80211_TX_CTL_INJECTED)) {
I802_DEBUG_INC(tx->local->tx_handlers_drop_unencrypted);
return TX_DROP;
@@ -476,7 +476,7 @@ ieee80211_tx_h_select_key(struct ieee802
}

if (!tx->key || !(tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE))
- info->flags |= IEEE80211_TX_CTL_DO_NOT_ENCRYPT;
+ tx->skb->do_not_encrypt = 1;

return TX_CONTINUE;
}
@@ -732,6 +732,7 @@ ieee80211_tx_h_fragment(struct ieee80211
memcpy(skb_put(frag, copylen), pos, copylen);
memcpy(frag->cb, first->cb, sizeof(frag->cb));
skb_copy_queue_mapping(frag, first);
+ frag->do_not_encrypt = first->do_not_encrypt;

pos += copylen;
left -= copylen;
@@ -852,7 +853,7 @@ __ieee80211_parse_tx_radiotap(struct iee

sband = tx->local->hw.wiphy->bands[tx->channel->band];

- info->flags |= IEEE80211_TX_CTL_DO_NOT_ENCRYPT;
+ skb->do_not_encrypt = 1;
info->flags |= IEEE80211_TX_CTL_INJECTED;
tx->flags &= ~IEEE80211_TX_FRAGMENTED;

@@ -925,8 +926,7 @@ __ieee80211_parse_tx_radiotap(struct iee
skb_trim(skb, skb->len - FCS_LEN);
}
if (*iterator.this_arg & IEEE80211_RADIOTAP_F_WEP)
- info->flags &=
- ~IEEE80211_TX_CTL_DO_NOT_ENCRYPT;
+ tx->skb->do_not_encrypt = 0;
if (*iterator.this_arg & IEEE80211_RADIOTAP_F_FRAG)
tx->flags |= IEEE80211_TX_FRAGMENTED;
break;
@@ -1042,10 +1042,9 @@ static int ieee80211_tx_prepare(struct i
struct sk_buff *skb,
struct net_device *mdev)
{
- struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct net_device *dev;

- dev = dev_get_by_index(&init_net, info->control.ifindex);
+ dev = dev_get_by_index(&init_net, skb->iif);
if (unlikely(dev && !is_ieee80211_device(dev, mdev))) {
dev_put(dev);
dev = NULL;
@@ -1306,8 +1305,8 @@ int ieee80211_master_start_xmit(struct s
bool may_encrypt;
int ret;

- if (info->control.ifindex)
- odev = dev_get_by_index(&init_net, info->control.ifindex);
+ if (skb->iif)
+ odev = dev_get_by_index(&init_net, skb->iif);
if (unlikely(odev && !is_ieee80211_device(odev, dev))) {
dev_put(odev);
odev = NULL;
@@ -1321,9 +1320,13 @@ int ieee80211_master_start_xmit(struct s
return 0;
}

+ memset(info, 0, sizeof(*info));
+
+ info->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS;
+
osdata = IEEE80211_DEV_TO_SUB_IF(odev);

- may_encrypt = !(info->flags & IEEE80211_TX_CTL_DO_NOT_ENCRYPT);
+ may_encrypt = !skb->do_not_encrypt;

headroom = osdata->local->tx_headroom;
if (may_encrypt)
@@ -1348,7 +1351,6 @@ int ieee80211_monitor_start_xmit(struct
struct net_device *dev)
{
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
- struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct ieee80211_radiotap_header *prthdr =
(struct ieee80211_radiotap_header *)skb->data;
u16 len_rthdr;
@@ -1371,11 +1373,11 @@ int ieee80211_monitor_start_xmit(struct
skb->dev = local->mdev;

/* needed because we set skb device to master */
- info->control.ifindex = dev->ifindex;
+ skb->iif = dev->ifindex;

- info->flags |= IEEE80211_TX_CTL_DO_NOT_ENCRYPT;
- /* Interfaces should always request a status report */
- info->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS;
+ /* sometimes we do encrypt injected frames, will be fixed
+ * up in radiotap parser if not wanted */
+ skb->do_not_encrypt = 0;

/*
* fix up the pointers accounting for the radiotap
@@ -1419,7 +1421,6 @@ int ieee80211_subif_start_xmit(struct sk
struct net_device *dev)
{
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
- struct ieee80211_tx_info *info;
struct ieee80211_sub_if_data *sdata;
int ret = 1, head_need;
u16 ethertype, hdrlen, meshhdrlen = 0;
@@ -1645,14 +1646,7 @@ int ieee80211_subif_start_xmit(struct sk
nh_pos += hdrlen;
h_pos += hdrlen;

- info = IEEE80211_SKB_CB(skb);
- memset(info, 0, sizeof(*info));
- info->control.ifindex = dev->ifindex;
- if (ethertype == ETH_P_PAE)
- info->flags |= IEEE80211_TX_CTL_EAPOL_FRAME;
-
- /* Interfaces should always request a status report */
- info->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS;
+ skb->iif = dev->ifindex;

skb->dev = local->mdev;
dev->stats.tx_packets++;
@@ -1922,6 +1916,8 @@ struct sk_buff *ieee80211_beacon_get(str

info = IEEE80211_SKB_CB(skb);

+ skb->do_not_encrypt = 1;
+
info->band = band;
rate_control_get_rate(local->mdev, sband, skb, &rsel);

@@ -1940,7 +1936,6 @@ struct sk_buff *ieee80211_beacon_get(str
info->tx_rate_idx = rsel.rate_idx;

info->flags |= IEEE80211_TX_CTL_NO_ACK;
- info->flags |= IEEE80211_TX_CTL_DO_NOT_ENCRYPT;
info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
info->flags |= IEEE80211_TX_CTL_ASSIGN_SEQ;
if (sdata->bss_conf.use_short_preamble &&
--- everything.orig/net/mac80211/mlme.c 2008-07-29 09:08:16.000000000 +0200
+++ everything/net/mac80211/mlme.c 2008-07-29 09:15:17.000000000 +0200
@@ -606,7 +606,6 @@ void ieee80211_sta_tx(struct net_device
int encrypt)
{
struct ieee80211_sub_if_data *sdata;
- struct ieee80211_tx_info *info;

sdata = IEEE80211_DEV_TO_SUB_IF(dev);
skb->dev = sdata->local->mdev;
@@ -614,11 +613,8 @@ void ieee80211_sta_tx(struct net_device
skb_set_network_header(skb, 0);
skb_set_transport_header(skb, 0);

- info = IEEE80211_SKB_CB(skb);
- memset(info, 0, sizeof(struct ieee80211_tx_info));
- info->control.ifindex = sdata->dev->ifindex;
- if (!encrypt)
- info->flags |= IEEE80211_TX_CTL_DO_NOT_ENCRYPT;
+ skb->iif = sdata->dev->ifindex;
+ skb->do_not_encrypt = !encrypt;

dev_queue_xmit(skb);
}
--- everything.orig/include/linux/skbuff.h 2008-07-29 09:08:16.000000000 +0200
+++ everything/include/linux/skbuff.h 2008-07-29 09:15:17.000000000 +0200
@@ -316,7 +316,10 @@ struct sk_buff {
#ifdef CONFIG_IPV6_NDISC_NODETYPE
__u8 ndisc_nodetype:2;
#endif
- /* 14 bit hole */
+#if defined(CONFIG_MAC80211) || defined(CONFIG_MAC80211_MODULE)
+ __u8 do_not_encrypt:1;
+#endif
+ /* 0/13/14 bit hole */

#ifdef CONFIG_NET_DMA
dma_cookie_t dma_cookie;
--- everything.orig/net/core/skbuff.c 2008-07-29 09:15:39.000000000 +0200
+++ everything/net/core/skbuff.c 2008-07-29 09:16:13.000000000 +0200
@@ -485,6 +485,9 @@ static struct sk_buff *__skb_clone(struc
C(head);
C(data);
C(truesize);
+#if defined(CONFIG_MAC80211) || defined(CONFIG_MAC80211_MODULE)
+ C(do_not_encrypt);
+#endif
atomic_set(&n->users, 1);

atomic_inc(&(skb_shinfo(skb)->dataref));
--- everything.orig/net/mac80211/main.c 2008-07-29 09:18:20.000000000 +0200
+++ everything/net/mac80211/main.c 2008-07-29 09:19:06.000000000 +0200
@@ -1233,18 +1233,12 @@ static void ieee80211_tasklet_handler(un
/* Remove added headers (e.g., QoS control), encryption header/MIC, etc. to
* make a prepared TX frame (one that has been given to hw) to look like brand
* new IEEE 802.11 frame that is ready to go through TX processing again.
- * Also, tx_packet_data in cb is restored from tx_control. */
+ */
static void ieee80211_remove_tx_extra(struct ieee80211_local *local,
struct ieee80211_key *key,
struct sk_buff *skb)
{
int hdrlen, iv_len, mic_len;
- struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
-
- info->flags &= IEEE80211_TX_CTL_REQ_TX_STATUS |
- IEEE80211_TX_CTL_DO_NOT_ENCRYPT |
- IEEE80211_TX_CTL_REQUEUE |
- IEEE80211_TX_CTL_EAPOL_FRAME;

hdrlen = ieee80211_get_hdrlen_from_skb(skb);

--- everything.orig/drivers/net/wireless/ath5k/base.c 2008-07-29 09:38:38.000000000 +0200
+++ everything/drivers/net/wireless/ath5k/base.c 2008-07-29 09:38:53.000000000 +0200
@@ -1224,7 +1224,7 @@ ath5k_txbuf_setup(struct ath5k_softc *sc

pktlen = skb->len;

- if (!(info->flags & IEEE80211_TX_CTL_DO_NOT_ENCRYPT)) {
+ if (info->control.hw_key) {
keyidx = info->control.hw_key->hw_key_idx;
pktlen += info->control.icv_len;
}
--- everything.orig/drivers/net/wireless/b43/xmit.c 2008-07-29 09:39:28.000000000 +0200
+++ everything/drivers/net/wireless/b43/xmit.c 2008-07-29 09:40:19.000000000 +0200
@@ -192,7 +192,7 @@ int b43_generate_txhdr(struct b43_wldev
const struct b43_phy *phy = &dev->phy;
const struct ieee80211_hdr *wlhdr =
(const struct ieee80211_hdr *)fragment_data;
- int use_encryption = (!(info->flags & IEEE80211_TX_CTL_DO_NOT_ENCRYPT));
+ int use_encryption = !!info->control.hw_key;
__le16 fctl = wlhdr->frame_control;
struct ieee80211_rate *fbrate;
u8 rate, rate_fb;
--- everything.orig/drivers/net/wireless/b43legacy/xmit.c 2008-07-29 09:39:29.000000000 +0200
+++ everything/drivers/net/wireless/b43legacy/xmit.c 2008-07-29 09:40:25.000000000 +0200
@@ -192,7 +192,7 @@ static int generate_txhdr_fw3(struct b43
u16 cookie)
{
const struct ieee80211_hdr *wlhdr;
- int use_encryption = (!(info->flags & IEEE80211_TX_CTL_DO_NOT_ENCRYPT));
+ int use_encryption = !!info->control.hw_key;
u16 fctl;
u8 rate;
struct ieee80211_rate *rate_fb;
--- everything.orig/drivers/net/wireless/iwlwifi/iwl-tx.c 2008-07-29 09:39:28.000000000 +0200
+++ everything/drivers/net/wireless/iwlwifi/iwl-tx.c 2008-07-29 09:39:44.000000000 +0200
@@ -906,7 +906,7 @@ int iwl_tx_skb(struct iwl_priv *priv, st
* first entry */
iwl_hw_txq_attach_buf_to_tfd(priv, tfd, txcmd_phys, len);

- if (!(info->flags & IEEE80211_TX_CTL_DO_NOT_ENCRYPT))
+ if (info->control.hw_key)
iwl_tx_cmd_build_hwcrypto(priv, info, tx_cmd, skb, sta_id);

/* Set up TFD's 2nd entry to point directly to remainder of skb,
--- everything.orig/drivers/net/wireless/iwlwifi/iwl3945-base.c 2008-07-29 09:39:28.000000000 +0200
+++ everything/drivers/net/wireless/iwlwifi/iwl3945-base.c 2008-07-29 09:39:39.000000000 +0200
@@ -2667,7 +2667,7 @@ static int iwl3945_tx_skb(struct iwl3945
* first entry */
iwl3945_hw_txq_attach_buf_to_tfd(priv, tfd, txcmd_phys, len);

- if (!(info->flags & IEEE80211_TX_CTL_DO_NOT_ENCRYPT))
+ if (info->control.hw_key)
iwl3945_build_tx_cmd_hwcrypto(priv, info, out_cmd, skb, 0);

/* Set up TFD's 2nd entry to point directly to remainder of skb,
--- everything.orig/drivers/net/wireless/rt2x00/rt2x00mac.c 2008-07-29 09:39:28.000000000 +0200
+++ everything/drivers/net/wireless/rt2x00/rt2x00mac.c 2008-07-29 09:40:08.000000000 +0200
@@ -63,7 +63,7 @@ static int rt2x00mac_tx_rts_cts(struct r
*/
memcpy(skb->cb, frag_skb->cb, sizeof(skb->cb));
rts_info = IEEE80211_SKB_CB(skb);
- rts_info->flags |= IEEE80211_TX_CTL_DO_NOT_ENCRYPT;
+ rts_info->control.hw_key = NULL;
rts_info->flags &= ~IEEE80211_TX_CTL_USE_RTS_CTS;
rts_info->flags &= ~IEEE80211_TX_CTL_USE_CTS_PROTECT;
rts_info->flags &= ~IEEE80211_TX_CTL_REQ_TX_STATUS;
--- everything.orig/net/mac80211/wme.c 2008-07-29 09:45:41.000000000 +0200
+++ everything/net/mac80211/wme.c 2008-07-29 09:47:17.000000000 +0200
@@ -188,6 +188,9 @@ int ieee80211_ht_agg_queue_add(struct ie
{
int i;

+ /* XXX: currently broken due to cb/requeue use */
+ return -EPERM;
+
/* prepare the filter and save it for the SW queue
* matching the received HW queue */

2008-07-29 11:48:18

by Kalle Valo

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails

Johannes Berg <[email protected]> writes:

>> If it doesn't strain you too much more, could you actually tell me
>> where this is? Your last 5 posts to LKML don't seem to contain such
>> a patch, and I'm not subscribed to linux-wireless.
>
> Well, the latter has archives.

Here's a link to the patch:

http://marc.info/?l=linux-wireless&m=121732394028001&w=2

--
Kalle Valo

2008-07-29 11:55:48

by Alistair John Strachan

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails

On Tuesday 29 July 2008 12:26:17 Johannes Berg wrote:
> > If it doesn't strain you too much more, could you actually tell me where
> > this is? Your last 5 posts to LKML don't seem to contain such a patch,
> > and I'm not subscribed to linux-wireless.
>
> Well, the latter has archives.

Thanks for the patch, it fixes the issue for me with my zd1211rw. I hope
the "100 million" rabid users that reported this can piss off happily with
their working wireless. ;-)

(BTW thanks Hugh/Holger for the patch posting/link.)

--
Cheers,
Alistair.

2008-07-29 11:57:54

by Peter Zijlstra

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

On Tue, 2008-07-29 at 04:23 -0700, Martin Knoblauch wrote:
> ----- Original Message ----
>
> > From: Linus Torvalds <[email protected]>
> > To: Linux Kernel Mailing List <[email protected]>
> > Sent: Tuesday, July 29, 2008 5:23:21 AM
> > Subject: Linux v2.6.27-rc1
> >
> >
> > It's two weeks (and one day), and the merge window is over.
> >
>
> CHK include/linux/version.h
> CHK include/linux/utsrelease.h
> CALL scripts/checksyscalls.sh
> CHK include/linux/compile.h
> CC arch/x86/kernel/ldt.o
> arch/x86/kernel/ldt.c: In function `alloc_ldt':
> arch/x86/kernel/ldt.c:67: error: invalid lvalue in unary `&'
> make[1]: *** [arch/x86/kernel/ldt.o] Error 1
> make: *** [arch/x86/kernel] Error 2
>
> This is a x86_64 build on a RHEL4U3 userland (gcc version 3.4.5
> 20051201 (Red Hat 3.4.5-2)). Config is taken from 2.6.26.

Its due to your ancient compiler - fix can be found here:

http://lkml.org/lkml/2008/7/29/48

2008-07-29 12:05:23

by Theodore Ts'o

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails

On Tue, Jul 29, 2008 at 12:09:55PM +0200, Johannes Berg wrote:
> This is about the 100 millionth time this is reported. Please try the
> patch I just posted.

Yeah, it's really too bad -rc1 got released just before you were able
to post the fix to this, since if there were 100 million people who
were trying out kernels starting with -git7 that use wireless, there
will probably be 200 million people trying out -rc1. :-)

Thanks for finding and fixing it, though. I stopped trying out
kernels after -git6 since I was travelling at OSCON, and not having
wireless was a show-stopper for me....

- Ted

2008-07-29 12:08:20

by Martin Knoblauch

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

----- Original Message ----

> From: Peter Zijlstra <[email protected]>
> To: Martin Knoblauch <[email protected]>
> Cc: Linus Torvalds <[email protected]>; Linux Kernel Mailing List <[email protected]>
> Sent: Tuesday, July 29, 2008 1:57:38 PM
> Subject: Re: Linux v2.6.27-rc1
>
> On Tue, 2008-07-29 at 04:23 -0700, Martin Knoblauch wrote:
> > ----- Original Message ----
> >
> > > From: Linus Torvalds
> > > To: Linux Kernel Mailing List
> > > Sent: Tuesday, July 29, 2008 5:23:21 AM
> > > Subject: Linux v2.6.27-rc1
> > >
> > >
> > > It's two weeks (and one day), and the merge window is over.
> > >
> >
> > CHK include/linux/version.h
> > CHK include/linux/utsrelease.h
> > CALL scripts/checksyscalls.sh
> > CHK include/linux/compile.h
> > CC arch/x86/kernel/ldt.o
> > arch/x86/kernel/ldt.c: In function `alloc_ldt':
> > arch/x86/kernel/ldt.c:67: error: invalid lvalue in unary `&'
> > make[1]: *** [arch/x86/kernel/ldt.o] Error 1
> > make: *** [arch/x86/kernel] Error 2
> >
> > This is a x86_64 build on a RHEL4U3 userland (gcc version 3.4.5
> > 20051201 (Red Hat 3.4.5-2)). Config is taken from 2.6.26.
>
> Its due to your ancient compiler - fix can be found here:
>

That are the joys of "Enterprise Distributions" :-)

> http://lkml.org/lkml/2008/7/29/48

Thanks. Seems to fix it.

Cheers
Martin

2008-07-29 12:09:50

by Johannes Berg

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails

On Tue, 2008-07-29 at 08:04 -0400, Theodore Tso wrote:
> On Tue, Jul 29, 2008 at 12:09:55PM +0200, Johannes Berg wrote:
> > This is about the 100 millionth time this is reported. Please try the
> > patch I just posted.
>
> Yeah, it's really too bad -rc1 got released just before you were able
> to post the fix to this, since if there were 100 million people who
> were trying out kernels starting with -git7 that use wireless, there
> will probably be 200 million people trying out -rc1. :-)
>
> Thanks for finding and fixing it, though. I stopped trying out
> kernels after -git6 since I was travelling at OSCON, and not having
> wireless was a show-stopper for me....

If everybody's going to decide now to hit on _me_, I'll point out that
davem's MQ TX changes broke it, I only heard about the problem once that
was out because nobody had found it earlier, and I was also travelling
at OLS.

Maybe the lesson we could learn from this is to not release an rc1 while
a bunch of important people are at various conferences.

johannes


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2008-07-29 12:15:34

by Johannes Berg

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails


> > Yeah, it's really too bad -rc1 got released just before you were able
> > to post the fix to this, since if there were 100 million people who
> > were trying out kernels starting with -git7 that use wireless, there
> > will probably be 200 million people trying out -rc1. :-)
> >
> > Thanks for finding and fixing it, though. I stopped trying out
> > kernels after -git6 since I was travelling at OSCON, and not having
> > wireless was a show-stopper for me....
>
> If everybody's going to decide now to hit on _me_, I'll point out that
> davem's MQ TX changes broke it

Of course that's not strictly true, it had been broken forever, it just
happened to never show up before. And I mean forever, the original
devicescape code that got in was already broken.

johannes


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2008-07-29 13:58:18

by Alistair John Strachan

[permalink] [raw]
Subject: Oops in microcode sysfs registration,

Hi,

(Sorry for the CC frenzy. If you don't have or want anything to do with the
tracing framework in 2.6.27 or the microcode driver, you can stop reading
now.)

Noticing pq's mmiotrace was merged I tried to get a trace of the proprietary
NVIDIA blob. Normally I wouldn't waste your time posting a tainted oops,
however in this case it doesn't look related to the proprietary garbage and I
think there's a real bug somewhere.

As I understand it, the mmiotrace tracing framework requires only one logical
CPU to be active, automatically offlining the other CPUs. When mmiotrace is
disabled, it automatically re-enables the CPUs it offlined. If I offline the
spare CPUs myself, prior to enabling mmiotrace, I do not see the issue I'm
about to describe. That's why tracing people have been CCed, even though that
could be a red herring.

The full dmesg and kernel config are available from
http://devzero.co.uk/~alistair/2.6.27-rc1-mc-oops/

nvidia: module license 'NVIDIA' taints kernel.
Symbol init_mm is marked as UNUSED, however this module is using it.
This symbol will go away in the future.
Please evalute if this is the right api to use and if it really is, submit a report the linux kernel mailinglist together with submitting your code for inclusion.
nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
nvidia 0000:01:00.0: setting latency timer to 64
NVRM: loading NVIDIA UNIX x86_64 Kernel Module 173.14.09 Wed Jun 4 23:40:50 PDT 2008
in mmio_trace_init
mmiotrace: Disabling non-boot CPUs...
kvm: disabling virtualization on CPU1
CPU 1 is now offline
SMP alternatives: switching to UP code
CPU0 attaching NULL sched-domain.
CPU1 attaching NULL sched-domain.
CPU0 attaching NULL sched-domain.
mmiotrace: CPU1 is down.
mmiotrace: enabled.
Symbol init_mm is marked as UNUSED, however this module is using it.
This symbol will go away in the future.
Please evalute if this is the right api to use and if it really is, submit a report the linux kernel mailinglist together with submitting your code for inclusion.
nvidia 0000:01:00.0: setting latency timer to 64
NVRM: loading NVIDIA UNIX x86_64 Kernel Module 173.14.09 Wed Jun 4 23:40:50 PDT 2008
mmiotrace: ioremap_*(0xfa000000, 0x1000000) = ffffc20010b80000
mmiotrace: ioremap_*(0xd0000000, 0x6000) = ffffc20010578000
mmiotrace: ioremap_*(0xe0000000, 0x1000) = ffffc200104fe000
mmiotrace: Unmapping ffffc200104fe000.
mmiotrace: ioremap_*(0xe0008000, 0x1000) = ffffc200104fe000
mmiotrace: ioremap_*(0xe0100000, 0x1000) = ffffc20010500000
mmiotrace: Unmapping ffffc20010500000.
mmiotrace: ioremap_*(0xf8000000, 0x1000000) = ffffc20011c00000
mmiotrace: ioremap_*(0xe0100000, 0x1000) = ffffc20010500000
mmiotrace: Unmapping ffffc20010500000.
mmiotrace: ioremap_*(0xd0504000, 0x1000) = ffffc20010500000
mmiotrace: ioremap_*(0xd0519000, 0x1000) = ffffc20010502000
mmiotrace: ioremap_*(0xd051a000, 0x1000) = ffffc20010572000
mmiotrace: Unmapping ffffc20010502000.
mmiotrace: Unmapping ffffc20010572000.
mmiotrace: Unmapping ffffc20010500000.
mmiotrace: Unmapping ffffc200104fe000.
mmiotrace: Unmapping ffffc20011c00000.
mmiotrace: Unmapping ffffc20010578000.
mmiotrace: Unmapping ffffc20010b80000.
in mmio_trace_reset
mmiotrace: Re-enabling CPUs...
SMP alternatives: switching to SMP code
Booting processor 1/1 ip 6000
Initializing CPU#1
Calibrating delay using timer specific routine.. <6>7200.61 BogoMIPS (lpj=3600306)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 4096K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 1
x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
CPU1: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
checking TSC synchronization [CPU#0 -> CPU#1]: passed.
kvm: enabling virtualization on CPU1
CPU0 attaching NULL sched-domain.
Switched to high resolution mode on CPU 1
CPU0 attaching sched-domain:
domain 0: span 0-1 level MC
groups: 0 1
CPU1 attaching sched-domain:
domain 0: span 0-1 level MC
groups: 1 0
------------[ cut here ]------------
Kernel BUG at ffffffff8021a31d [verbose debug info unavailable]
invalid opcode: 0000 [1] PREEMPT SMP
CPU 0
Modules linked in: nvidia(P) rfcomm l2cap kvm_intel kvm ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables bridge stp llc acpi_cpufreq freq_table coretemp
hwmon snd_pcm_oss snd_mixer_oss firewire_sbp2 hci_usb bluetooth arc4 ecb crypto_blkcipher cryptomgr crypto_algapi usbhid zd1211rw mac80211 crypto cfg80211 snd_emu10k1 snd_rawmidi
snd_ac97_codec ac97_bus snd_seq_device sg snd_util_mem snd_hda_intel snd_pcm snd_timer snd_hwdep snd i2c_i801 sr_mod firewire_ohci firewire_core soundcore r8169 ehci_hcd uhci_hcd
snd_page_alloc crc_itu_t i2c_core usbcore cdrom [last unloaded: nvidia]
Pid: 2733, comm: bash Tainted: P A 2.6.27-rc1-damocles #3
RIP: 0010:[<ffffffff8021a31d>] [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
RSP: 0018:ffff8800b7c1dce8 EFLAGS: 00010297
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff880080a04000
RDX: ffffffff8062c680 RSI: 0000000000000003 RDI: ffffffff8059e830
RBP: ffff8800b7c1dd48 R08: ffff8800b7c1c000 R09: ffffffff80229ca4
R10: ffff8800010247b0 R11: ffff8800bf879de0 R12: 0000000000000018
R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
FS: 00007fa4bf6176e0(0000) GS:ffffffff805da200(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007f3a6cf05098 CR3: 00000000b7d64000 CR4: 00000000000026e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff4ff0 DR7: 0000000000000400
Process bash (pid: 2733, threadinfo ffff8800b7c1c000, task ffff8800bd06ab20)
Stack: ffffffff80627040 0000000000000000 0000000000000008 ffffffff8048bb28
0000000000000003 ffffffff802ce910 ffff8800b7c1dd28 0000000000000002
00000000ffffffe8 0000000000000001 0000000000000001 ffff880001028418
Call Trace:
[<ffffffff802ce910>] ? sysfs_add_file+0xc/0xe
[<ffffffff8021a456>] mc_sysdev_add+0xb/0xd
[<ffffffff8047baaf>] mc_cpu_callback+0x4b/0x208
[<ffffffff8047b772>] ? mce_cpu_callback+0x3e/0xbc
[<ffffffff8024b787>] notifier_call_chain+0x33/0x5b
[<ffffffff8024b81f>] raw_notifier_call_chain+0xf/0x11
[<ffffffff8047e1dc>] _cpu_up+0xce/0x119
[<ffffffff8047e285>] cpu_up+0x5e/0x8a
[<ffffffff80224967>] disable_mmiotrace+0xfe/0x173
[<ffffffff80265279>] mmio_trace_reset+0x2d/0x44
[<ffffffff80262c4d>] tracing_set_trace_write+0xd3/0x10f
[<ffffffff80289cab>] ? filp_close+0x67/0x72
[<ffffffff8028bee3>] vfs_write+0xa7/0xe1
[<ffffffff8028bfe1>] sys_write+0x47/0x6f
[<ffffffff8020b6db>] system_call_fastpath+0x16/0x1b
[ 903.144002]
[ 903.144002]
Code: e8 59 80 e8 fd 69 26 00 48 c7 c2 80 c6 62 80 48 8b 05 c0 00 3c 00 48 8b 04 d8 48 8b 48 08 65 8b 04 25 24 00 00 00 44 39 e8 74 04 <0f> 0b eb fe 4c 8d 04 0a 41 c7 84 24 7c 36 64 80 00
00 00 00 41
RIP [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
RSP <ffff8800b7c1dce8>
---[ end trace 39a5700403aca092 ]---

The box was vaguely usable and then choked to death a few minutes later. I was
initially confused by the multi-core stuff chiming in, but the functions
mc_cpu_callback and mc_sysdev_add are from the microcode driver. At a guess,
something is being done in a context it shouldn't be. I've not tested it
enough to say whether or not it will always crash.

Also, I'm sure this is reproducible without the NVIDIA garbage, but I was too lazy
to test it. If you want me to repeat the experiment without the driver I would be
more than happy to do so.

--
Cheers,
Alistair.

2008-07-29 15:19:44

by Theodore Ts'o

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails

On Tue, Jul 29, 2008 at 02:15:06PM +0200, Johannes Berg wrote:
> > If everybody's going to decide now to hit on _me_, I'll point out that
> > davem's MQ TX changes broke it
>
> Of course that's not strictly true, it had been broken forever, it just
> happened to never show up before. And I mean forever, the original
> devicescape code that got in was already broken.

Sorry, no, I wasn't trying to blame you. I understand that this was a
hard problem to fix, and it wasn't at all obvious that changes in one
part of the networking stack would break wireless stack due to bad
assumptions it had made, that had been hiding for quite some time.

The timing is just very unfortunate, since if -rc1 had been delayed by
just one more day so it could have incorporated it we would probably
reduce the large number of regression reports; a lot of people who
test -rc1 don't necessarily follow netdev or linux-wireless.

I'm of course also nervously building -rc1 and about to test it, since
I haven't had a chance to test anything since -git6, and I'm wondering
if some other regression may have been introduced since then.

Since it probably doesn't get said enough to everyone who works of
fixing bugs/regressions, thanks very much for your efforts; I (and
many other people) very much appreciate it!!

- Ted

2008-07-29 16:22:39

by Pekka Paalanen

[permalink] [raw]
Subject: Re: Oops in microcode sysfs registration,

On Tue, 29 Jul 2008 14:57:58 +0100
Alistair John Strachan <[email protected]> wrote:

> Noticing pq's mmiotrace was merged I tried to get a trace of the proprietary
> NVIDIA blob. Normally I wouldn't waste your time posting a tainted oops,
> however in this case it doesn't look related to the proprietary garbage and I
> think there's a real bug somewhere.
>
> As I understand it, the mmiotrace tracing framework requires only one logical
> CPU to be active, automatically offlining the other CPUs. When mmiotrace is
> disabled, it automatically re-enables the CPUs it offlined. If I offline the
> spare CPUs myself, prior to enabling mmiotrace, I do not see the issue I'm
> about to describe. That's why tracing people have been CCed, even though that
> could be a red herring.

I have a wild hunch...
Could you try the following:
1. with all cpus enabled, load the nvidia proprietary driver
2. start and quit X
3. disable a cpu by hand
4. unload the proprietary driver
5. enable the cpu by hand

I have a vague recollection of the nvidia blob doing something bad
with notifiers, so if that crashes, and it does not crash when you
leave step 4 out, it's an nvidia problem. I assume you unloaded the
blob before disabling mmiotrace, right?

You may need to alter the sequence of things, but my guess is that
the blob may leave a notifier registered even when it is unloaded,
so it crashes when the notifier chain is traversed. I'm not sure the
backtrace really supports this scenario, but worth to try.

> The full dmesg and kernel config are available from
> http://devzero.co.uk/~alistair/2.6.27-rc1-mc-oops/
...
> Also, I'm sure this is reproducible without the NVIDIA garbage, but I was too lazy
> to test it. If you want me to repeat the experiment without the driver I would be
> more than happy to do so.

I'm not sure people are willing to look into this without a clean report,
so this would be cool. There's even a test module for mmiotrace in the
kernel, but I doubt it would make difference to use it or not, when trying
to reproduce the crash without the blob.

Thanks.

--
Pekka Paalanen
http://www.iki.fi/pq/

2008-07-29 16:27:25

by Jesse Barnes

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

On Monday, July 28, 2008 8:23 pm Linus Torvalds wrote:
> Much of -rc1 was in linux-next, but certainly not everything. We'll see
> how that whole thing ends up evolving - it certainly didn't solve all
> problems, and there was some bickering about things that weren't there
> (and some things that mostly were ;), but maybe it helped.

I think linux-next has been a *huge* help. It's been great at catching merge
conflicts and build bugs (though not so much when you don't use it[1]!), and
Stephen is really easy to work with. So I, for one, would love to see it
continue.

Jesse

[1] http://marc.info/?t=121699085400001&r=1&w=2

2008-07-29 16:50:53

by Alistair John Strachan

[permalink] [raw]
Subject: Re: Oops in microcode sysfs registration,

On Tuesday 29 July 2008 17:22:14 Pekka Paalanen wrote:
> > Also, I'm sure this is reproducible without the NVIDIA garbage, but I was
> > too lazy to test it. If you want me to repeat the experiment without the
> > driver I would be more than happy to do so.
>
> I'm not sure people are willing to look into this without a clean report,
> so this would be cool. There's even a test module for mmiotrace in the
> kernel, but I doubt it would make difference to use it or not, when trying
> to reproduce the crash without the blob.

Of course, and I should have attempted to reproduce without the driver.
Fortunately that was easy: it is not an NVIDIA driver bug.

Steps to reproduce: have CONFIG_MICROCODE=y and a suitable Intel
processor, then do:

echo mmiotrace >/debug/tracing/current_tracer
echo none >/debug/tracing/current_tracer

And you get this (snipped) oops:

in mmio_trace_init
mmiotrace: Disabling non-boot CPUs...
kvm: disabling virtualization on CPU1
CPU 1 is now offline
SMP alternatives: switching to UP code
CPU0 attaching NULL sched-domain.
CPU1 attaching NULL sched-domain.
CPU0 attaching NULL sched-domain.
mmiotrace: CPU1 is down.
mmiotrace: enabled.
in mmio_trace_reset
mmiotrace: Re-enabling CPUs...
SMP alternatives: switching to SMP code
Booting processor 1/1 ip 6000
Initializing CPU#1
Calibrating delay using timer specific routine.. <6>7204.76 BogoMIPS (lpj=3602381)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 4096K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 1
x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
CPU1: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
checking TSC synchronization [CPU#0 -> CPU#1]: passed.
kvm: enabling virtualization on CPU1
CPU0 attaching NULL sched-domain.
Switched to high resolution mode on CPU 1
CPU0 attaching sched-domain:
domain 0: span 0-1 level MC
groups: 0 1
CPU1 attaching sched-domain:
domain 0: span 0-1 level MC
groups: 1 0
------------[ cut here ]------------
Kernel BUG at ffffffff8021a31d [verbose debug info unavailable]
invalid opcode: 0000 [1] PREEMPT SMP
CPU 0
Modules linked in: rfcomm l2cap kvm_intel kvm ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables bridge stp llc acpi_cpufreq freq_table coretemp hwmon
snd_pcm_oss snd_mixer_oss firewire_sbp2 hci_usb bluetooth arc4 ecb crypto_blkcipher cryptomgr crypto_algapi usbhid zd1211rw mac80211 crypto cfg80211 snd_emu10k1 snd_rawmidi
snd_ac97_codec ac97_bus sg snd_seq_device snd_hda_intel snd_pcm snd_util_mem snd_timer sr_mod snd_hwdep i2c_i801 ehci_hcd firewire_ohci uhci_hcd snd snd_page_alloc firewire_core
soundcore r8169 cdrom usbcore i2c_core crc_itu_t
Pid: 2757, comm: bash Tainted: G A 2.6.27-rc1-damocles #3
RIP: 0010:[<ffffffff8021a31d>] [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
RSP: 0018:ffff8800b8905ce8 EFLAGS: 00010297
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff880080a04000
RDX: ffffffff8062c680 RSI: 0000000000000003 RDI: ffffffff8059e830
RBP: ffff8800b8905d48 R08: ffff8800b8904000 R09: ffffffff80229ca4
R10: ffff8800010247b0 R11: ffff8800bf879de0 R12: 0000000000000018
R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
FS: 00007f8ddc78f6e0(0000) GS:ffffffff805da200(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007f57cb9b2098 CR3: 00000000b8985000 CR4: 00000000000026e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process bash (pid: 2757, threadinfo ffff8800b8904000, task ffff8800bd125640)
Stack: ffffffff80627040 0000000000000000 0000000000000008 ffffffff8048bb28
0000000000000003 ffffffff802ce910 ffff8800b8905d28 0000000000000002
00000000ffffffe8 0000000000000001 0000000000000001 ffff880001028418
Call Trace:
[<ffffffff802ce910>] ? sysfs_add_file+0xc/0xe
[<ffffffff8021a456>] mc_sysdev_add+0xb/0xd
[<ffffffff8047baaf>] mc_cpu_callback+0x4b/0x208
[<ffffffff8047b772>] ? mce_cpu_callback+0x3e/0xbc
[<ffffffff8024b787>] notifier_call_chain+0x33/0x5b
[<ffffffff8024b81f>] raw_notifier_call_chain+0xf/0x11
[<ffffffff8047e1dc>] _cpu_up+0xce/0x119
[<ffffffff8047e285>] cpu_up+0x5e/0x8a
[<ffffffff80224967>] disable_mmiotrace+0xfe/0x173
[<ffffffff80265279>] mmio_trace_reset+0x2d/0x44
[<ffffffff80262c4d>] tracing_set_trace_write+0xd3/0x10f
[<ffffffff80289cab>] ? filp_close+0x67/0x72
[<ffffffff8028bee3>] vfs_write+0xa7/0xe1
[<ffffffff8028bfe1>] sys_write+0x47/0x6f
[<ffffffff8020b6db>] system_call_fastpath+0x16/0x1b
[ 68.405002]
[ 68.405002]
Code: e8 59 80 e8 fd 69 26 00 48 c7 c2 80 c6 62 80 48 8b 05 c0 00 3c 00 48 8b 04 d8 48 8b 48 08 65 8b 04 25 24 00 00 00 44 39 e8 74 04 <0f> 0b eb fe 4c 8d 04 0a 41 c7 84 24 7c 36 64 80 00
00 00 00 41
RIP [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
RSP <ffff8800b8905ce8>
---[ end trace ee9c9240024cb48c ]---

I've replaced the originally tainted dmesg with this new clean one, so
there's no proprietary smell about it :-)

http://devzero.co.uk/~alistair/2.6.27-rc1-mc-oops/

--
Cheers,
Alistair.

2008-07-29 17:03:22

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1



On Tue, 29 Jul 2008, Jesse Barnes wrote:
>
> I think linux-next has been a *huge* help. It's been great at catching merge
> conflicts and build bugs (though not so much when you don't use it[1]!), and
> Stephen is really easy to work with. So I, for one, would love to see it
> continue.

I don't think anybody wants it to go away. The question in my mind is more
along the way of how/whether it should be changed. There was some
bickering about patches that weren't there, and some about how _partial_
series were there but then the finishing touches broke things.

I don't personally really think that it's reasonable to expect everything
to be in -next (but hey, I'm willing to be convinced otherwise). And don't
get me wrong - it certainly wouldn't bother _me_ to have everything go
through next, since it just makes it likelier that I have less to worry
about.

BUT. I do think 'next' as it is has a few issues that either need to be
fixed (unlikely - it's not the point of next) or just need to be aired as
issues and understood:

- I don't think it does 'quality control', and I think that's pretty
fundamental.

Now, admittedly I don't look much at the patches of people I trust
either (that's what the whole point of that 'trust' is, after all - to
make me not be the part that limits development speed), but that's
still different from 'largely automated merging'.

So I _do_ check the things that aren't obvious "maintainer works on his
own subsystem" or are so core that I really feel like I need to know
what's up. I seldom actually say "that's so broken that I refuse to
pull it", but I tend to do that a couple of times per release.

That may not sound like much, but it's enough to make me worry about
'next'. I worry that 'it has been in next' has become a code-word for
"pull this, because it's good", and I'm not at all convinced that
'next' sees any real critical checking.

- I don't think the 'next' thing works as well for the occasional
developer that just has a few patches pending as it works for subsystem
maintainers that are used to it.

IOW, I think 'next' needs enough infrastructure setup from the
developer side that I don't think it's reasonable for _everything_ to
go through next. And that in turn means that I'm not entirely thrilled
when people then complain "that wasn't in next". I think people should
accept that not everything will be in next.

But I don't think either of the above issues is a 'problem' - I just think
they should be acknowledged. I think 'next' is a good way for the big
subsystem developers to be able to see problems early, but I really hope
that nobody will _ever_ see next as a "that's the way into Linus' tree",
because for the above two reasons I do not think it can really work that
way.

Linus

2008-07-29 17:31:41

by Roland Dreier

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

> That may not sound like much, but it's enough to make me worry about
> 'next'. I worry that 'it has been in next' has become a code-word for
> "pull this, because it's good", and I'm not at all convinced that
> 'next' sees any real critical checking.

I've been mentioning that my trees have been in next as code for, "I
don't think this should break the build or clash too badly with anything
else." And next has been useful to me on several occasions for catching
that sort of problem before things hit mainline.

- R.

2008-07-29 20:47:53

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1: problem with firmware stuff

On Tuesday, 29 of July 2008, Linus Torvalds wrote:
>
> It's two weeks (and one day), and the merge window is over.
>
> Finally. I don't know why, but this one really did feel pretty dang busy.
> And the size of the -rc1 patch bears that out - at 12MB, it's about 50%
> bigger than 26-rc1 (but not that much bigger than 24/25-rc1, so it's not
> like it's anything unheard of).
>
> The pure size of the -rc's _is_ making me a bit nervous, though. Sure, it
> means that we are good at merging it all, but I have to say that I
> sometimes wonder if we don't merge too much in one go, and even our
> current (fairly short) release cycle is actually too big.
>
> Anyway, that's a discussion for some other event.
>
> Much of -rc1 was in linux-next, but certainly not everything. We'll see
> how that whole thing ends up evolving - it certainly didn't solve all
> problems, and there was some bickering about things that weren't there
> (and some things that mostly were ;), but maybe it helped.
>
> There's a ton of new stuff in there, but at least personally the
> interesting things are the BKL pushdown and perhaps the introduction of
> the lockless get_user_pages_fast(). The build system also got updated to
> allow moving the architecture include files ("include/asm-xyz") into the
> architecture subdirectories ("arch/xyz/include/asm"), and sparc seems to
> have taken advantage of that already.
>
> But those changes are just small details in the end. As usual, the bulk of
> changes are all to device drivers (roughly half, as usual), with the arch
> directory amounting to about half of the remainder. Dirstat:
>
> 3.2% arch/arm/
> 9.2% arch/ppc/
> 24.6% arch/
> 5.2% drivers/char/drm/
> 6.3% drivers/char/
> 4.5% drivers/gpu/drm/
> 4.5% drivers/gpu/
> 4.6% drivers/media/video/
> 5.5% drivers/media/
> 3.0% drivers/net/wireless/
> 10.7% drivers/net/
> 6.4% drivers/usb/misc/
> 4.7% drivers/usb/serial/
> 12.9% drivers/usb/
> 51.2% drivers/
> 4.4% firmware/
> 3.7% fs/
> 9.2% include/
>
> where the bulk of that fs/ update is the merge of the UBI filesystem, to
> pick one fairly sizeable chunk outside of arch or drivers (there's omfs
> too, but that's tiny in comparison).
>
> Other stuff? tracing. firmware loading.

That one happens to break things for me badly:

rafael@chimera:~/src/linux-2.6> make O=../build/mainline/chimera -j5
GEN /home/rafael/src/build/mainline/chimera/Makefile
CHK include/linux/version.h
CHK include/linux/utsrelease.h
Using /home/rafael/src/linux-2.6 as source for kernel
CALL /home/rafael/src/linux-2.6/scripts/checksyscalls.sh
CHK include/linux/compile.h
Building modules, stage 2.
Kernel: arch/x86/boot/bzImage is ready (#208)
MODPOST 564 modules
IHEX2FW firmware/emi26/loader.fw
Failed to open destination file: Permission deniedihex2fw: Convert ihex files into binary representation for use by Linux kernel
usage: ihex2fw [<options>] <src.HEX> <dst.fw>
-w: wide records (16-bit length)
-s: sort records by address
IHEX2FW firmware/emi26/bitstream.fw
IHEX2FW firmware/emi26/firmware.fw
Failed to open destination file: Permission deniedihex2fw: Convert ihex files into binary representation for use by Linux kernel
usage: ihex2fw [<options>] <src.HEX> <dst.fw>
-w: wide records (16-bit length)
-s: sort records by address
make[2]: *** [firmware/emi26/loader.fw] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [firmware/emi26/bitstream.fw] Error 1
Failed to open destination file: Permission deniedihex2fw: Convert ihex files into binary representation for use by Linux kernel
usage: ihex2fw [<options>] <src.HEX> <dst.fw>
-w: wide records (16-bit length)
-s: sort records by address
make[2]: *** [firmware/emi26/firmware.fw] Error 1
make[1]: *** [modules] Error 2
make: *** [sub-make] Error 2

Thanks,
Rafael

2008-07-29 20:59:19

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1: problem with firmware stuff

On Tuesday, 29 of July 2008, Rafael J. Wysocki wrote:
> On Tuesday, 29 of July 2008, Linus Torvalds wrote:
> >
> > It's two weeks (and one day), and the merge window is over.
> >
> > Finally. I don't know why, but this one really did feel pretty dang busy.
> > And the size of the -rc1 patch bears that out - at 12MB, it's about 50%
> > bigger than 26-rc1 (but not that much bigger than 24/25-rc1, so it's not
> > like it's anything unheard of).
> >
> > The pure size of the -rc's _is_ making me a bit nervous, though. Sure, it
> > means that we are good at merging it all, but I have to say that I
> > sometimes wonder if we don't merge too much in one go, and even our
> > current (fairly short) release cycle is actually too big.
> >
> > Anyway, that's a discussion for some other event.
> >
> > Much of -rc1 was in linux-next, but certainly not everything. We'll see
> > how that whole thing ends up evolving - it certainly didn't solve all
> > problems, and there was some bickering about things that weren't there
> > (and some things that mostly were ;), but maybe it helped.
> >
> > There's a ton of new stuff in there, but at least personally the
> > interesting things are the BKL pushdown and perhaps the introduction of
> > the lockless get_user_pages_fast(). The build system also got updated to
> > allow moving the architecture include files ("include/asm-xyz") into the
> > architecture subdirectories ("arch/xyz/include/asm"), and sparc seems to
> > have taken advantage of that already.
> >
> > But those changes are just small details in the end. As usual, the bulk of
> > changes are all to device drivers (roughly half, as usual), with the arch
> > directory amounting to about half of the remainder. Dirstat:
> >
> > 3.2% arch/arm/
> > 9.2% arch/ppc/
> > 24.6% arch/
> > 5.2% drivers/char/drm/
> > 6.3% drivers/char/
> > 4.5% drivers/gpu/drm/
> > 4.5% drivers/gpu/
> > 4.6% drivers/media/video/
> > 5.5% drivers/media/
> > 3.0% drivers/net/wireless/
> > 10.7% drivers/net/
> > 6.4% drivers/usb/misc/
> > 4.7% drivers/usb/serial/
> > 12.9% drivers/usb/
> > 51.2% drivers/
> > 4.4% firmware/
> > 3.7% fs/
> > 9.2% include/
> >
> > where the bulk of that fs/ update is the merge of the UBI filesystem, to
> > pick one fairly sizeable chunk outside of arch or drivers (there's omfs
> > too, but that's tiny in comparison).
> >
> > Other stuff? tracing. firmware loading.
>
> That one happens to break things for me badly:
>
> rafael@chimera:~/src/linux-2.6> make O=../build/mainline/chimera -j5
> GEN /home/rafael/src/build/mainline/chimera/Makefile
> CHK include/linux/version.h
> CHK include/linux/utsrelease.h
> Using /home/rafael/src/linux-2.6 as source for kernel
> CALL /home/rafael/src/linux-2.6/scripts/checksyscalls.sh
> CHK include/linux/compile.h
> Building modules, stage 2.
> Kernel: arch/x86/boot/bzImage is ready (#208)
> MODPOST 564 modules
> IHEX2FW firmware/emi26/loader.fw
> Failed to open destination file: Permission deniedihex2fw: Convert ihex files into binary representation for use by Linux kernel
> usage: ihex2fw [<options>] <src.HEX> <dst.fw>
> -w: wide records (16-bit length)
> -s: sort records by address
> IHEX2FW firmware/emi26/bitstream.fw
> IHEX2FW firmware/emi26/firmware.fw
> Failed to open destination file: Permission deniedihex2fw: Convert ihex files into binary representation for use by Linux kernel
> usage: ihex2fw [<options>] <src.HEX> <dst.fw>
> -w: wide records (16-bit length)
> -s: sort records by address
> make[2]: *** [firmware/emi26/loader.fw] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[2]: *** [firmware/emi26/bitstream.fw] Error 1
> Failed to open destination file: Permission deniedihex2fw: Convert ihex files into binary representation for use by Linux kernel
> usage: ihex2fw [<options>] <src.HEX> <dst.fw>
> -w: wide records (16-bit length)
> -s: sort records by address
> make[2]: *** [firmware/emi26/firmware.fw] Error 1
> make[1]: *** [modules] Error 2
> make: *** [sub-make] Error 2

Actually, this happened due to some firmware files being created as root during
installations of pre-rc -git kernels from the O= directory. So, not a real
problem, but somewhat confusing.

Thanks,
Rafael

2008-07-29 21:04:19

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1: problem with firmware stuff



On Tue, 29 Jul 2008, Rafael J. Wysocki wrote:
>
> Actually, this happened due to some firmware files being created as root during
> installations of pre-rc -git kernels from the O= directory. So, not a real
> problem, but somewhat confusing.

Yeah, I've had that happen myself. It used to be that "make
modules_install" (as root, obviously) would try build a new version of the
kernel, and as a result subsequent build attempts would fail horribly
because of various random files being now owned-by-root.

I don't know if there is a whole lot we can do about it in general..

Linus

2008-07-29 21:37:22

by Sam Ravnborg

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

On Mon, Jul 28, 2008 at 08:23:21PM -0700, Linus Torvalds wrote:

> The build system also got updated to
> allow moving the architecture include files ("include/asm-xyz") into the
> architecture subdirectories ("arch/xyz/include/asm"), and sparc seems to
> have taken advantage of that already.

Most architectures are easy to convert. But those that uses
symlinks to select between different platforms etc needs a bit more
care if we shall get rid of all symlinks.

Paul already fixed up sh and sent you a pull request.
I have something ready for arm (not yet posted).
And I sent Harvaard a small script that can fix avr32 when arm is done.
cris looks similar and I can take care too.

The rest that does not use additiona symlinks are in general much simpler.

Kyle already fixed up parisc (simple).
x86 is simple - only a small patch needed to arch/x86/Makefile.
I have not dared looking at um.

But will you accept this stuff now or will we have to wait until
next merge window?
Now is a good time as development just started for next kernel.
And testing is simple - does it build?

It will come in via arch maintainers but I will assist.

Sam

2008-07-29 21:45:18

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1



On Tue, 29 Jul 2008, Sam Ravnborg wrote:
>
> But will you accept this stuff now or will we have to wait until
> next merge window?

if the patches are really small adn the resulting build is well tested
(ignoring the actual _move_ operation), I'm ok with taking them.

In fact, in many ways I'd _prefer_ to do it now, rather than have it
pending and then do it durign the next merge window when there are a lot
of non-movement changes too.

> Now is a good time as development just started for next kernel.
> And testing is simple - does it build?

Well, simple and simple. I'd love to see x86 done, but you yourself said
you haven't even dared look at UM. Which is the thing that is most likely
to have odd build things with direct symlinks etc.

(But I haven't looked either. Maybe I'm wrong, and it's all trivial).

Linus

2008-07-29 21:59:37

by Sam Ravnborg

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

On Tue, Jul 29, 2008 at 02:42:00PM -0700, Linus Torvalds wrote:
>
>
> On Tue, 29 Jul 2008, Sam Ravnborg wrote:
> >
> > But will you accept this stuff now or will we have to wait until
> > next merge window?
>
> if the patches are really small adn the resulting build is well tested
> (ignoring the actual _move_ operation), I'm ok with taking them.

For arm the actual diff is:
Makefile | 20 +++++++-------------
boot/compressed/Makefile | 3 ---
tools/Makefile | 1 +
3 files changed, 8 insertions(+), 16 deletions(-)

But on top of this there are ~600 files that needed a
replacement of:
#include <asm/arch/foo.h>
to
#include <arch/foo.h>

So maybe not such a minimal patch - because I wanted to drop all
the symlink stuff.

>
> In fact, in many ways I'd _prefer_ to do it now, rather than have it
> pending and then do it durign the next merge window when there are a lot
> of non-movement changes too.
>
> > Now is a good time as development just started for next kernel.
> > And testing is simple - does it build?
>
> Well, simple and simple. I'd love to see x86 done, but you yourself said
> you haven't even dared look at UM. Which is the thing that is most likely
> to have odd build things with direct symlinks etc.
>
> (But I haven't looked either. Maybe I'm wrong, and it's all trivial).
um i never trivial :-(
But I will give it a try - but I have to sleep first.

Sam

2008-07-29 22:04:13

by Grant Coady

[permalink] [raw]
Subject: Linux v2.6.27-rc1: fails to compile

On Mon, 28 Jul 2008 20:23:21 -0700 (PDT), Linus Torvalds <[email protected]> wrote:

>
>It's two weeks (and one day), and the merge window is over.
>
>Finally. I don't know why, but this one really did feel pretty dang busy.
>And the size of the -rc1 patch bears that out - at 12MB, it's about 50%
>bigger than 26-rc1 (but not that much bigger than 24/25-rc1, so it's not
>like it's anything unheard of).

Couple machines failed to compile with same error in different place:

CC arch/x86/kernel/acpi/cstate.o
arch/x86/kernel/acpi/cstate.c: In function `acpi_processor_ffh_cstate_probe':
arch/x86/kernel/acpi/cstate.c:94: error: invalid lvalue in unary `&'
make[2]: *** [arch/x86/kernel/acpi/cstate.o] Error 1
make[1]: *** [arch/x86/kernel/acpi] Error 2
make: *** [arch/x86/kernel] Error 2
grant@peetoo:~/linux/linux-2.6.27-rc1a$

Linux peetoo 2.6.25.13a #15 Tue Jul 29 07:41:48 EST 2008 i686 pentium3 i386 GNU/Linux

Gnu C 3.4.6
Gnu make 3.81
binutils 2.15.92.0.2
util-linux 2.12r
mount 2.12r
module-init-tools 3.2.2
e2fsprogs 1.38
reiserfsprogs 3.6.19
quota-tools 3.13.
PPP 2.4.4
Linux C Library 2.3.6
Dynamic linker (ldd) 2.3.6
Linux C++ Library 6.0.3
Procps 3.2.7
Net-tools 1.60
Kbd 1.12
oprofile 0.9.1
Sh-utils 5.97
udev 097
Modules Loaded adm9240 hwmon_vid nfsd exportfs tulip e100
- - -

CC arch/x86/kernel/ldt.o
arch/x86/kernel/ldt.c: In function `alloc_ldt':
arch/x86/kernel/ldt.c:67: error: invalid lvalue in unary `&'
make[1]: *** [arch/x86/kernel/ldt.o] Error 1
make: *** [arch/x86/kernel] Error 2
grant@black:~/linux/linux-2.6.27-rc1a$

Linux black 2.6.26a #1 SMP Fri Jul 25 08:49:49 EST 2008 i686 pentium4 i386 GNU/Linux

Gnu C 3.4.6
Gnu make 3.81
binutils 2.15.92.0.2
util-linux 2.12r
mount 2.12r
module-init-tools 3.2.2
e2fsprogs 1.38
jfsutils 1.1.11
reiserfsprogs 3.6.19
xfsprogs 2.8.10
pcmciautils 014
pcmcia-cs 3.2.8
quota-tools 3.13.
PPP 2.4.4
Linux C Library 2.3.6
Dynamic linker (ldd) 2.3.6
Linux C++ Library 6.0.3
Procps 3.2.7
Net-tools 1.60
Kbd 1.12
oprofile 0.9.1
Sh-utils 5.97
udev 097
Modules Loaded snd_pcm_oss snd_mixer_oss e100 ide_cd_mod snd_intel8x0 snd_ac97_codec cdrom ac97_bus snd_pcm snd_timer snd soundcore snd_page_alloc r8169

Common factor is they're running slackware-11.0, but they both ran fairly
recent -git11 or so.
- - -

Machine that compiled and booted 27-rc1 running slackware 12.1 with:
Linux pooh 2.6.27-rc1a #1 SMP Wed Jul 30 17:37:16 EST 2008 i686 Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz GenuineIntel GNU/Linux

Gnu C 4.2.3
Gnu make 3.81
binutils 2.17.50.0.17.20070615
util-linux 2.13.1
mount 2.13.1
module-init-tools 3.4
e2fsprogs 1.41.0
reiserfsprogs 3.6.19
Linux C Library 2.7
Dynamic linker (ldd) 2.7
Linux C++ Library 6.0.9
Procps 3.2.7
Net-tools 1.60
Kbd 1.12
oprofile 0.9.2
Sh-utils 6.9
udev 118
Modules Loaded fuse sg

Grant.

2008-07-29 22:06:58

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1



On Tue, 29 Jul 2008, Sam Ravnborg wrote:
>
> For arm the actual diff is:
> Makefile | 20 +++++++-------------
> boot/compressed/Makefile | 3 ---
> tools/Makefile | 1 +
> 3 files changed, 8 insertions(+), 16 deletions(-)
>
> But on top of this there are ~600 files that needed a
> replacement of:
> #include <asm/arch/foo.h>
> to
> #include <arch/foo.h>

Yeah, that latter part doesn't strike me as wonderful.

> So maybe not such a minimal patch - because I wanted to drop all
> the symlink stuff.

Why? There's nothing wrong with symlinks.

The problem with 'include/asm' isn't the symlink per se, it's that it
split up the architecture parts in two separate areas - arch and include.

Linus

2008-07-29 22:26:50

by David Woodhouse

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1: problem with firmware stuff

On Tue, 2008-07-29 at 14:01 -0700, Linus Torvalds wrote:
>
> On Tue, 29 Jul 2008, Rafael J. Wysocki wrote:
> >
> > Actually, this happened due to some firmware files being created as root during
> > installations of pre-rc -git kernels from the O= directory. So, not a real
> > problem, but somewhat confusing.
>
> Yeah, I've had that happen myself. It used to be that "make
> modules_install" (as root, obviously) would try build a new version of the
> kernel, and as a result subsequent build attempts would fail horribly
> because of various random files being now owned-by-root.
>
> I don't know if there is a whole lot we can do about it in general..

Not in general. I _think_ I fixed the specific problem which led to
Rafael's situation, but I'm still waiting for confirmation of that.

--
dwmw2

2008-07-29 22:30:48

by Sam Ravnborg

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

On Tue, Jul 29, 2008 at 03:03:47PM -0700, Linus Torvalds wrote:
>
>
> On Tue, 29 Jul 2008, Sam Ravnborg wrote:
> >
> > For arm the actual diff is:
> > Makefile | 20 +++++++-------------
> > boot/compressed/Makefile | 3 ---
> > tools/Makefile | 1 +
> > 3 files changed, 8 insertions(+), 16 deletions(-)
> >
> > But on top of this there are ~600 files that needed a
> > replacement of:
> > #include <asm/arch/foo.h>
> > to
> > #include <arch/foo.h>
>
> Yeah, that latter part doesn't strike me as wonderful.
>
> > So maybe not such a minimal patch - because I wanted to drop all
> > the symlink stuff.
>
> Why? There's nothing wrong with symlinks.
>
> The problem with 'include/asm' isn't the symlink per se, it's that it
> split up the architecture parts in two separate areas - arch and include.

I agree that we do this to combine all arch files. But we then have the
possibility to get rid of some build stuff that is fragile and needs
special care for O=.. builds etc.
So when we anyway do the renames I saw the opportunity to go one step
further.
Lets see how the x86 + um stuff looks like.

For x86 alone the patchs looks like this:

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index f5631da..c7493e7 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -110,16 +110,16 @@ KBUILD_CFLAGS += $(call cc-option,-mno-sse -mno-mmx -mno-sse2 -mno-3dnow,)
mcore-y := arch/x86/mach-default/

# Voyager subarch support
-mflags-$(CONFIG_X86_VOYAGER) := -Iinclude/asm-x86/mach-voyager
+mflags-$(CONFIG_X86_VOYAGER) := -Iarch/x86/include/mach-voyager
mcore-$(CONFIG_X86_VOYAGER) := arch/x86/mach-voyager/

# generic subarchitecture
-mflags-$(CONFIG_X86_GENERICARCH):= -Iinclude/asm-x86/mach-generic
+mflags-$(CONFIG_X86_GENERICARCH):= -Iarch/x86/include/mach-generic
fcore-$(CONFIG_X86_GENERICARCH) += arch/x86/mach-generic/
mcore-$(CONFIG_X86_GENERICARCH) := arch/x86/mach-default/

# default subarch .h files
-mflags-y += -Iinclude/asm-x86/mach-default
+mflags-y += -Iarch/x86/include/mach-default

# 64 bit does not support subarch support - clear sub arch variables
fcore-$(CONFIG_X86_64) :=

And the script to move the files looks like this:
set -e
for D in include/asm-x86/mach-*; do
echo $D
DD=$(echo $D | cut -d '-' -f 3)
mkdir -p arch/x86/include/mach-$DD/arch
git mv include/asm-x86/mach-$DD/* arch/x86/include/mach-$DD
rmdir include/asm-x86/mach-$DD
done

mkdir -p arch/x86/include/asm
git mv include/asm-x86/* arch/x86/include/asm

But I have not yet looked at um.

Sam

2008-07-29 22:42:36

by Frederik Deweerdt

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1: fails to compile

Hello Grant,
On Wed, Jul 30, 2008 at 08:03:42AM +1000, Grant Coady wrote:
> On Mon, 28 Jul 2008 20:23:21 -0700 (PDT), Linus Torvalds <[email protected]> wrote:
>
> >
> >It's two weeks (and one day), and the merge window is over.
> >
> >Finally. I don't know why, but this one really did feel pretty dang busy.
> >And the size of the -rc1 patch bears that out - at 12MB, it's about 50%
> >bigger than 26-rc1 (but not that much bigger than 24/25-rc1, so it's not
> >like it's anything unheard of).
>
> Couple machines failed to compile with same error in different place:
>
> CC arch/x86/kernel/acpi/cstate.o
> arch/x86/kernel/acpi/cstate.c: In function `acpi_processor_ffh_cstate_probe':
> arch/x86/kernel/acpi/cstate.c:94: error: invalid lvalue in unary `&'
> make[2]: *** [arch/x86/kernel/acpi/cstate.o] Error 1
> make[1]: *** [arch/x86/kernel/acpi] Error 2
> make: *** [arch/x86/kernel] Error 2
> grant@peetoo:~/linux/linux-2.6.27-rc1a$
>
This issue has been reported, this is due to your old compiler.
Fix here:
http://lkml.org/lkml/2008/7/29/48

Regards,
Frederik

2008-07-29 23:47:20

by Grant Coady

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1: fails to compile

On Wed, 30 Jul 2008 00:40:49 +0200, Frederik Deweerdt <[email protected]> wrote:

>Hello Grant,
>On Wed, Jul 30, 2008 at 08:03:42AM +1000, Grant Coady wrote:
>> On Mon, 28 Jul 2008 20:23:21 -0700 (PDT), Linus Torvalds <[email protected]> wrote:
>>
>> >
>> >It's two weeks (and one day), and the merge window is over.
>> >
>> >Finally. I don't know why, but this one really did feel pretty dang busy.
>> >And the size of the -rc1 patch bears that out - at 12MB, it's about 50%
>> >bigger than 26-rc1 (but not that much bigger than 24/25-rc1, so it's not
>> >like it's anything unheard of).
>>
>> Couple machines failed to compile with same error in different place:
>>
>> CC arch/x86/kernel/acpi/cstate.o
>> arch/x86/kernel/acpi/cstate.c: In function `acpi_processor_ffh_cstate_probe':
>> arch/x86/kernel/acpi/cstate.c:94: error: invalid lvalue in unary `&'
>> make[2]: *** [arch/x86/kernel/acpi/cstate.o] Error 1
>> make[1]: *** [arch/x86/kernel/acpi] Error 2
>> make: *** [arch/x86/kernel] Error 2
>> grant@peetoo:~/linux/linux-2.6.27-rc1a$
>>
>This issue has been reported, this is due to your old compiler.
>Fix here:
>http://lkml.org/lkml/2008/7/29/48

Thanks, that does the trick :)

Grant.
>
>Regards,
>Frederik

2008-07-30 04:43:49

by John W. Linville

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails

On Tue, Jul 29, 2008 at 02:15:06PM +0200, Johannes Berg wrote:
>
> > > Yeah, it's really too bad -rc1 got released just before you were able
> > > to post the fix to this, since if there were 100 million people who
> > > were trying out kernels starting with -git7 that use wireless, there
> > > will probably be 200 million people trying out -rc1. :-)
> > >
> > > Thanks for finding and fixing it, though. I stopped trying out
> > > kernels after -git6 since I was travelling at OSCON, and not having
> > > wireless was a show-stopper for me....
> >
> > If everybody's going to decide now to hit on _me_, I'll point out that
> > davem's MQ TX changes broke it
>
> Of course that's not strictly true, it had been broken forever, it just
> happened to never show up before. And I mean forever, the original
> devicescape code that got in was already broken.

FWIW, I think the MQ stuff didn't spend much (or any) time in -next...

--
John W. Linville
[email protected]

2008-07-30 04:48:28

by David Miller

[permalink] [raw]
Subject: Re: 2.6.27-rc1: zd1211rw association fails

From: "John W. Linville" <[email protected]>
Date: Tue, 29 Jul 2008 13:52:06 -0400

> On Tue, Jul 29, 2008 at 02:15:06PM +0200, Johannes Berg wrote:
> >
> > > > Yeah, it's really too bad -rc1 got released just before you were able
> > > > to post the fix to this, since if there were 100 million people who
> > > > were trying out kernels starting with -git7 that use wireless, there
> > > > will probably be 200 million people trying out -rc1. :-)
> > > >
> > > > Thanks for finding and fixing it, though. I stopped trying out
> > > > kernels after -git6 since I was travelling at OSCON, and not having
> > > > wireless was a show-stopper for me....
> > >
> > > If everybody's going to decide now to hit on _me_, I'll point out that
> > > davem's MQ TX changes broke it
> >
> > Of course that's not strictly true, it had been broken forever, it just
> > happened to never show up before. And I mean forever, the original
> > devicescape code that got in was already broken.
>
> FWIW, I think the MQ stuff didn't spend much (or any) time in -next...

It did in a few formats, but then Patrick McHardy pointed out something
that required my rewriting large swaths of it in the days leading up to
the merge window.

And the problem this showed up was a bug that existed in mac80211 long
before I made any TX multiqueue changes :-)

2008-07-30 09:03:27

by Andrew Morton

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1

On Tue, 29 Jul 2008 09:59:18 -0700 (PDT) Linus Torvalds <[email protected]> wrote:

> - I don't think the 'next' thing works as well for the occasional
> developer that just has a few patches pending as it works for subsystem
> maintainers that are used to it.

Those people's patches are in -mm, which now holds maybe 100 or more
"trees", many of which are small or empty.

My project within the next couple of weeks is to get most of that
material into linux-next. Stephen will be involved ;)

> IOW, I think 'next' needs enough infrastructure setup from the
> developer side that I don't think it's reasonable for _everything_ to
> go through next.

True. But

a) some of the problematic changes which we've seen simply _should_
have been in linux-next. Some of them were even coming from
developers whose trees are already in linux-next.

b) A lot of the bugs which hit your tree would have been quickly
found in linux-next too.


But it's all shuffling deckchairs, really. Are we actually merging
better code as a reasult of all of this? Are we being more careful and
reviewing better and testing better?

Don't think so.

> And that in turn means that I'm not entirely thrilled
> when people then complain "that wasn't in next". I think people should
> accept that not everything will be in next.

Oh sure. But it depends on the _reason_ why it wasn't in linux-next.
If the reason is a good one then fine. But if the reason is "I was too
slack", or "I only wrote it five minutes ago" then the system is good,
and the developer isn't.

2008-07-30 09:07:23

by Dmitry Adamushko

[permalink] [raw]
Subject: Re: Oops in microcode sysfs registration,

2008/7/29 Alistair John Strachan <[email protected]>:
> On Tuesday 29 July 2008 17:22:14 Pekka Paalanen wrote:
>> > Also, I'm sure this is reproducible without the NVIDIA garbage, but I was
>> > too lazy to test it. If you want me to repeat the experiment without the
>> > driver I would be more than happy to do so.
>>
>> I'm not sure people are willing to look into this without a clean report,
>> so this would be cool. There's even a test module for mmiotrace in the
>> kernel, but I doubt it would make difference to use it or not, when trying
>> to reproduce the crash without the blob.
>
> Of course, and I should have attempted to reproduce without the driver.
> Fortunately that was easy: it is not an NVIDIA driver bug.
>
> Steps to reproduce: have CONFIG_MICROCODE=y and a suitable Intel
> processor, then do:
>
> echo mmiotrace >/debug/tracing/current_tracer
> echo none >/debug/tracing/current_tracer
>
> And you get this (snipped) oops:
>
> in mmio_trace_init
> mmiotrace: Disabling non-boot CPUs...
> kvm: disabling virtualization on CPU1
> CPU 1 is now offline
> SMP alternatives: switching to UP code
> CPU0 attaching NULL sched-domain.
> CPU1 attaching NULL sched-domain.
> CPU0 attaching NULL sched-domain.
> mmiotrace: CPU1 is down.
> mmiotrace: enabled.
> in mmio_trace_reset
> mmiotrace: Re-enabling CPUs...
> SMP alternatives: switching to SMP code
> Booting processor 1/1 ip 6000
> Initializing CPU#1
> Calibrating delay using timer specific routine.. <6>7204.76 BogoMIPS (lpj=3602381)
> CPU: L1 I cache: 32K, L1 D cache: 32K
> CPU: L2 cache: 4096K
> CPU: Physical Processor ID: 0
> CPU: Processor Core ID: 1
> x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
> CPU1: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
> checking TSC synchronization [CPU#0 -> CPU#1]: passed.
> kvm: enabling virtualization on CPU1
> CPU0 attaching NULL sched-domain.
> Switched to high resolution mode on CPU 1
> CPU0 attaching sched-domain:
> domain 0: span 0-1 level MC
> groups: 0 1
> CPU1 attaching sched-domain:
> domain 0: span 0-1 level MC
> groups: 1 0
> ------------[ cut here ]------------
> Kernel BUG at ffffffff8021a31d [verbose debug info unavailable]
> invalid opcode: 0000 [1] PREEMPT SMP
> CPU 0
> Modules linked in: rfcomm l2cap kvm_intel kvm ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables bridge stp llc acpi_cpufreq freq_table coretemp hwmon
> snd_pcm_oss snd_mixer_oss firewire_sbp2 hci_usb bluetooth arc4 ecb crypto_blkcipher cryptomgr crypto_algapi usbhid zd1211rw mac80211 crypto cfg80211 snd_emu10k1 snd_rawmidi
> snd_ac97_codec ac97_bus sg snd_seq_device snd_hda_intel snd_pcm snd_util_mem snd_timer sr_mod snd_hwdep i2c_i801 ehci_hcd firewire_ohci uhci_hcd snd snd_page_alloc firewire_core
> soundcore r8169 cdrom usbcore i2c_core crc_itu_t
> Pid: 2757, comm: bash Tainted: G A 2.6.27-rc1-damocles #3
> RIP: 0010:[<ffffffff8021a31d>] [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
> RSP: 0018:ffff8800b8905ce8 EFLAGS: 00010297
> RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff880080a04000
> RDX: ffffffff8062c680 RSI: 0000000000000003 RDI: ffffffff8059e830
> RBP: ffff8800b8905d48 R08: ffff8800b8904000 R09: ffffffff80229ca4
> R10: ffff8800010247b0 R11: ffff8800bf879de0 R12: 0000000000000018
> R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
> FS: 00007f8ddc78f6e0(0000) GS:ffffffff805da200(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: 00007f57cb9b2098 CR3: 00000000b8985000 CR4: 00000000000026e0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process bash (pid: 2757, threadinfo ffff8800b8904000, task ffff8800bd125640)
> Stack: ffffffff80627040 0000000000000000 0000000000000008 ffffffff8048bb28
> 0000000000000003 ffffffff802ce910 ffff8800b8905d28 0000000000000002
> 00000000ffffffe8 0000000000000001 0000000000000001 ffff880001028418
> Call Trace:
> [<ffffffff802ce910>] ? sysfs_add_file+0xc/0xe
> [<ffffffff8021a456>] mc_sysdev_add+0xb/0xd
> [<ffffffff8047baaf>] mc_cpu_callback+0x4b/0x208
> [<ffffffff8047b772>] ? mce_cpu_callback+0x3e/0xbc
> [<ffffffff8024b787>] notifier_call_chain+0x33/0x5b
> [<ffffffff8024b81f>] raw_notifier_call_chain+0xf/0x11
> [<ffffffff8047e1dc>] _cpu_up+0xce/0x119
> [<ffffffff8047e285>] cpu_up+0x5e/0x8a
> [<ffffffff80224967>] disable_mmiotrace+0xfe/0x173
> [<ffffffff80265279>] mmio_trace_reset+0x2d/0x44
> [<ffffffff80262c4d>] tracing_set_trace_write+0xd3/0x10f
> [<ffffffff80289cab>] ? filp_close+0x67/0x72
> [<ffffffff8028bee3>] vfs_write+0xa7/0xe1
> [<ffffffff8028bfe1>] sys_write+0x47/0x6f
> [<ffffffff8020b6db>] system_call_fastpath+0x16/0x1b
> [ 68.405002]
> [ 68.405002]
> Code: e8 59 80 e8 fd 69 26 00 48 c7 c2 80 c6 62 80 48 8b 05 c0 00 3c 00 48 8b 04 d8 48 8b 48 08 65 8b 04 25 24 00 00 00 44 39 e8 74 04 <0f> 0b eb fe 4c 8d 04 0a 41 c7 84 24 7c 36 64 80 00
> 00 00 00 41
> RIP [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
> RSP <ffff8800b8905ce8>
> ---[ end trace ee9c9240024cb48c ]---
>
> I've replaced the originally tainted dmesg with this new clean one, so
> there's no proprietary smell about it :-)

Yes, it's kind of a known issue. Take a look at this explanation:
http://lkml.org/lkml/2008/7/24/260

There were a few related discussions in other threads (mainly, Max
Krasnyansky and I were asking for additional info on possible
requirements from the 'microcode' driver...) heh, I think, we'd be
better off just fixing it one way or another.



--
Best regards,
Dmitry Adamushko

2008-07-30 10:36:08

by Dmitry Adamushko

[permalink] [raw]
Subject: Re: Oops in microcode sysfs registration,

2008/7/30 Dmitry Adamushko <[email protected]>:
> 2008/7/29 Alistair John Strachan <[email protected]>:
>> On Tuesday 29 July 2008 17:22:14 Pekka Paalanen wrote:
>>> > Also, I'm sure this is reproducible without the NVIDIA garbage, but I was
>>> > too lazy to test it. If you want me to repeat the experiment without the
>>> > driver I would be more than happy to do so.
>>>
>>> I'm not sure people are willing to look into this without a clean report,
>>> so this would be cool. There's even a test module for mmiotrace in the
>>> kernel, but I doubt it would make difference to use it or not, when trying
>>> to reproduce the crash without the blob.
>>
>> Of course, and I should have attempted to reproduce without the driver.
>> Fortunately that was easy: it is not an NVIDIA driver bug.
>>
>> Steps to reproduce: have CONFIG_MICROCODE=y and a suitable Intel
>> processor, then do:
>>
>> echo mmiotrace >/debug/tracing/current_tracer
>> echo none >/debug/tracing/current_tracer
>>
>> And you get this (snipped) oops:
>>
>> in mmio_trace_init
>> mmiotrace: Disabling non-boot CPUs...
>> kvm: disabling virtualization on CPU1
>> CPU 1 is now offline
>> SMP alternatives: switching to UP code
>> CPU0 attaching NULL sched-domain.
>> CPU1 attaching NULL sched-domain.
>> CPU0 attaching NULL sched-domain.
>> mmiotrace: CPU1 is down.
>> mmiotrace: enabled.
>> in mmio_trace_reset
>> mmiotrace: Re-enabling CPUs...
>> SMP alternatives: switching to SMP code
>> Booting processor 1/1 ip 6000
>> Initializing CPU#1
>> Calibrating delay using timer specific routine.. <6>7204.76 BogoMIPS (lpj=3602381)
>> CPU: L1 I cache: 32K, L1 D cache: 32K
>> CPU: L2 cache: 4096K
>> CPU: Physical Processor ID: 0
>> CPU: Processor Core ID: 1
>> x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
>> CPU1: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
>> checking TSC synchronization [CPU#0 -> CPU#1]: passed.
>> kvm: enabling virtualization on CPU1
>> CPU0 attaching NULL sched-domain.
>> Switched to high resolution mode on CPU 1
>> CPU0 attaching sched-domain:
>> domain 0: span 0-1 level MC
>> groups: 0 1
>> CPU1 attaching sched-domain:
>> domain 0: span 0-1 level MC
>> groups: 1 0
>> ------------[ cut here ]------------
>> Kernel BUG at ffffffff8021a31d [verbose debug info unavailable]
>> invalid opcode: 0000 [1] PREEMPT SMP
>> CPU 0
>> Modules linked in: rfcomm l2cap kvm_intel kvm ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables bridge stp llc acpi_cpufreq freq_table coretemp hwmon
>> snd_pcm_oss snd_mixer_oss firewire_sbp2 hci_usb bluetooth arc4 ecb crypto_blkcipher cryptomgr crypto_algapi usbhid zd1211rw mac80211 crypto cfg80211 snd_emu10k1 snd_rawmidi
>> snd_ac97_codec ac97_bus sg snd_seq_device snd_hda_intel snd_pcm snd_util_mem snd_timer sr_mod snd_hwdep i2c_i801 ehci_hcd firewire_ohci uhci_hcd snd snd_page_alloc firewire_core
>> soundcore r8169 cdrom usbcore i2c_core crc_itu_t
>> Pid: 2757, comm: bash Tainted: G A 2.6.27-rc1-damocles #3
>> RIP: 0010:[<ffffffff8021a31d>] [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
>> RSP: 0018:ffff8800b8905ce8 EFLAGS: 00010297
>> RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff880080a04000
>> RDX: ffffffff8062c680 RSI: 0000000000000003 RDI: ffffffff8059e830
>> RBP: ffff8800b8905d48 R08: ffff8800b8904000 R09: ffffffff80229ca4
>> R10: ffff8800010247b0 R11: ffff8800bf879de0 R12: 0000000000000018
>> R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
>> FS: 00007f8ddc78f6e0(0000) GS:ffffffff805da200(0000) knlGS:0000000000000000
>> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
>> CR2: 00007f57cb9b2098 CR3: 00000000b8985000 CR4: 00000000000026e0
>> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
>> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
>> Process bash (pid: 2757, threadinfo ffff8800b8904000, task ffff8800bd125640)
>> Stack: ffffffff80627040 0000000000000000 0000000000000008 ffffffff8048bb28
>> 0000000000000003 ffffffff802ce910 ffff8800b8905d28 0000000000000002
>> 00000000ffffffe8 0000000000000001 0000000000000001 ffff880001028418
>> Call Trace:
>> [<ffffffff802ce910>] ? sysfs_add_file+0xc/0xe
>> [<ffffffff8021a456>] mc_sysdev_add+0xb/0xd
>> [<ffffffff8047baaf>] mc_cpu_callback+0x4b/0x208
>> [<ffffffff8047b772>] ? mce_cpu_callback+0x3e/0xbc
>> [<ffffffff8024b787>] notifier_call_chain+0x33/0x5b
>> [<ffffffff8024b81f>] raw_notifier_call_chain+0xf/0x11
>> [<ffffffff8047e1dc>] _cpu_up+0xce/0x119
>> [<ffffffff8047e285>] cpu_up+0x5e/0x8a
>> [<ffffffff80224967>] disable_mmiotrace+0xfe/0x173
>> [<ffffffff80265279>] mmio_trace_reset+0x2d/0x44
>> [<ffffffff80262c4d>] tracing_set_trace_write+0xd3/0x10f
>> [<ffffffff80289cab>] ? filp_close+0x67/0x72
>> [<ffffffff8028bee3>] vfs_write+0xa7/0xe1
>> [<ffffffff8028bfe1>] sys_write+0x47/0x6f
>> [<ffffffff8020b6db>] system_call_fastpath+0x16/0x1b
>> [ 68.405002]
>> [ 68.405002]
>> Code: e8 59 80 e8 fd 69 26 00 48 c7 c2 80 c6 62 80 48 8b 05 c0 00 3c 00 48 8b 04 d8 48 8b 48 08 65 8b 04 25 24 00 00 00 44 39 e8 74 04 <0f> 0b eb fe 4c 8d 04 0a 41 c7 84 24 7c 36 64 80 00
>> 00 00 00 41
>> RIP [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
>> RSP <ffff8800b8905ce8>
>> ---[ end trace ee9c9240024cb48c ]---
>>
>> I've replaced the originally tainted dmesg with this new clean one, so
>> there's no proprietary smell about it :-)
>
> Yes, it's kind of a known issue. Take a look at this explanation:
> http://lkml.org/lkml/2008/7/24/260
>
> There were a few related discussions in other threads (mainly, Max
> Krasnyansky and I were asking for additional info on possible
> requirements from the 'microcode' driver...) heh, I think, we'd be
> better off just fixing it one way or another.

does a patch below fix it for you?
[ not really what we wanted ]

(non-white-space-damaged version is enclosed)
--- kernel/cpu.c-old 2008-07-30 12:31:15.000000000 +0200
+++ kernel/cpu.c 2008-07-30 12:32:02.000000000 +0200
@@ -349,6 +349,8 @@ static int __cpuinit _cpu_up(unsigned in
goto out_notify;
BUG_ON(!cpu_online(cpu));

+ cpu_set(cpu, cpu_active_map);
+
/* Now call notifier in preparation. */
raw_notifier_call_chain(&cpu_chain, CPU_ONLINE | mod, hcpu);

@@ -383,9 +385,6 @@ int __cpuinit cpu_up(unsigned int cpu)

err = _cpu_up(cpu, 0);

- if (cpu_online(cpu))
- cpu_set(cpu, cpu_active_map);
-
out:
cpu_maps_update_done();
return err;


--
Best regards,
Dmitry Adamushko


Attachments:
(No filename) (6.41 kB)
move-cpu_set-cpu_active_map.patch (554.00 B)
Download all attachments

2008-07-30 13:29:28

by Peter Oruba

[permalink] [raw]
Subject: Re: Oops in microcode sysfs registration,


Dmitry Adamushko schrieb:
> 2008/7/30 Dmitry Adamushko <[email protected]>:
>> 2008/7/29 Alistair John Strachan <[email protected]>:
>>> On Tuesday 29 July 2008 17:22:14 Pekka Paalanen wrote:
>>>>> Also, I'm sure this is reproducible without the NVIDIA garbage, but I was
>>>>> too lazy to test it. If you want me to repeat the experiment without the
>>>>> driver I would be more than happy to do so.
>>>> I'm not sure people are willing to look into this without a clean report,
>>>> so this would be cool. There's even a test module for mmiotrace in the
>>>> kernel, but I doubt it would make difference to use it or not, when trying
>>>> to reproduce the crash without the blob.
>>> Of course, and I should have attempted to reproduce without the driver.
>>> Fortunately that was easy: it is not an NVIDIA driver bug.
>>>
>>> Steps to reproduce: have CONFIG_MICROCODE=y and a suitable Intel
>>> processor, then do:
>>>
>>> echo mmiotrace >/debug/tracing/current_tracer
>>> echo none >/debug/tracing/current_tracer
>>>
>>> And you get this (snipped) oops:
>>>
>>> in mmio_trace_init
>>> mmiotrace: Disabling non-boot CPUs...
>>> kvm: disabling virtualization on CPU1
>>> CPU 1 is now offline
>>> SMP alternatives: switching to UP code
>>> CPU0 attaching NULL sched-domain.
>>> CPU1 attaching NULL sched-domain.
>>> CPU0 attaching NULL sched-domain.
>>> mmiotrace: CPU1 is down.
>>> mmiotrace: enabled.
>>> in mmio_trace_reset
>>> mmiotrace: Re-enabling CPUs...
>>> SMP alternatives: switching to SMP code
>>> Booting processor 1/1 ip 6000
>>> Initializing CPU#1
>>> Calibrating delay using timer specific routine.. <6>7204.76 BogoMIPS (lpj=3602381)
>>> CPU: L1 I cache: 32K, L1 D cache: 32K
>>> CPU: L2 cache: 4096K
>>> CPU: Physical Processor ID: 0
>>> CPU: Processor Core ID: 1
>>> x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
>>> CPU1: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
>>> checking TSC synchronization [CPU#0 -> CPU#1]: passed.
>>> kvm: enabling virtualization on CPU1
>>> CPU0 attaching NULL sched-domain.
>>> Switched to high resolution mode on CPU 1
>>> CPU0 attaching sched-domain:
>>> domain 0: span 0-1 level MC
>>> groups: 0 1
>>> CPU1 attaching sched-domain:
>>> domain 0: span 0-1 level MC
>>> groups: 1 0
>>> ------------[ cut here ]------------
>>> Kernel BUG at ffffffff8021a31d [verbose debug info unavailable]
>>> invalid opcode: 0000 [1] PREEMPT SMP
>>> CPU 0
>>> Modules linked in: rfcomm l2cap kvm_intel kvm ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables bridge stp llc acpi_cpufreq freq_table coretemp hwmon
>>> snd_pcm_oss snd_mixer_oss firewire_sbp2 hci_usb bluetooth arc4 ecb crypto_blkcipher cryptomgr crypto_algapi usbhid zd1211rw mac80211 crypto cfg80211 snd_emu10k1 snd_rawmidi
>>> snd_ac97_codec ac97_bus sg snd_seq_device snd_hda_intel snd_pcm snd_util_mem snd_timer sr_mod snd_hwdep i2c_i801 ehci_hcd firewire_ohci uhci_hcd snd snd_page_alloc firewire_core
>>> soundcore r8169 cdrom usbcore i2c_core crc_itu_t
>>> Pid: 2757, comm: bash Tainted: G A 2.6.27-rc1-damocles #3
>>> RIP: 0010:[<ffffffff8021a31d>] [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
>>> RSP: 0018:ffff8800b8905ce8 EFLAGS: 00010297
>>> RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff880080a04000
>>> RDX: ffffffff8062c680 RSI: 0000000000000003 RDI: ffffffff8059e830
>>> RBP: ffff8800b8905d48 R08: ffff8800b8904000 R09: ffffffff80229ca4
>>> R10: ffff8800010247b0 R11: ffff8800bf879de0 R12: 0000000000000018
>>> R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
>>> FS: 00007f8ddc78f6e0(0000) GS:ffffffff805da200(0000) knlGS:0000000000000000
>>> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
>>> CR2: 00007f57cb9b2098 CR3: 00000000b8985000 CR4: 00000000000026e0
>>> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
>>> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
>>> Process bash (pid: 2757, threadinfo ffff8800b8904000, task ffff8800bd125640)
>>> Stack: ffffffff80627040 0000000000000000 0000000000000008 ffffffff8048bb28
>>> 0000000000000003 ffffffff802ce910 ffff8800b8905d28 0000000000000002
>>> 00000000ffffffe8 0000000000000001 0000000000000001 ffff880001028418
>>> Call Trace:
>>> [<ffffffff802ce910>] ? sysfs_add_file+0xc/0xe
>>> [<ffffffff8021a456>] mc_sysdev_add+0xb/0xd
>>> [<ffffffff8047baaf>] mc_cpu_callback+0x4b/0x208
>>> [<ffffffff8047b772>] ? mce_cpu_callback+0x3e/0xbc
>>> [<ffffffff8024b787>] notifier_call_chain+0x33/0x5b
>>> [<ffffffff8024b81f>] raw_notifier_call_chain+0xf/0x11
>>> [<ffffffff8047e1dc>] _cpu_up+0xce/0x119
>>> [<ffffffff8047e285>] cpu_up+0x5e/0x8a
>>> [<ffffffff80224967>] disable_mmiotrace+0xfe/0x173
>>> [<ffffffff80265279>] mmio_trace_reset+0x2d/0x44
>>> [<ffffffff80262c4d>] tracing_set_trace_write+0xd3/0x10f
>>> [<ffffffff80289cab>] ? filp_close+0x67/0x72
>>> [<ffffffff8028bee3>] vfs_write+0xa7/0xe1
>>> [<ffffffff8028bfe1>] sys_write+0x47/0x6f
>>> [<ffffffff8020b6db>] system_call_fastpath+0x16/0x1b
>>> [ 68.405002]
>>> [ 68.405002]
>>> Code: e8 59 80 e8 fd 69 26 00 48 c7 c2 80 c6 62 80 48 8b 05 c0 00 3c 00 48 8b 04 d8 48 8b 48 08 65 8b 04 25 24 00 00 00 44 39 e8 74 04 <0f> 0b eb fe 4c 8d 04 0a 41 c7 84 24 7c 36 64 80 00
>>> 00 00 00 41
>>> RIP [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
>>> RSP <ffff8800b8905ce8>
>>> ---[ end trace ee9c9240024cb48c ]---
>>>
>>> I've replaced the originally tainted dmesg with this new clean one, so
>>> there's no proprietary smell about it :-)
>> Yes, it's kind of a known issue. Take a look at this explanation:
>> http://lkml.org/lkml/2008/7/24/260
>>
>> There were a few related discussions in other threads (mainly, Max
>> Krasnyansky and I were asking for additional info on possible
>> requirements from the 'microcode' driver...) heh, I think, we'd be
>> better off just fixing it one way or another.
>
> does a patch below fix it for you?
> [ not really what we wanted ]
>
> (non-white-space-damaged version is enclosed)
> --- kernel/cpu.c-old 2008-07-30 12:31:15.000000000 +0200
> +++ kernel/cpu.c 2008-07-30 12:32:02.000000000 +0200
> @@ -349,6 +349,8 @@ static int __cpuinit _cpu_up(unsigned in
> goto out_notify;
> BUG_ON(!cpu_online(cpu));
>
> + cpu_set(cpu, cpu_active_map);
> +
> /* Now call notifier in preparation. */
> raw_notifier_call_chain(&cpu_chain, CPU_ONLINE | mod, hcpu);
>
> @@ -383,9 +385,6 @@ int __cpuinit cpu_up(unsigned int cpu)
>
> err = _cpu_up(cpu, 0);
>
> - if (cpu_online(cpu))
> - cpu_set(cpu, cpu_active_map);
> -
> out:
> cpu_maps_update_done();
> return err;
>
>
>

Dmitry,

works for me...

Thanks,
Peter

2008-07-31 12:50:06

by Alistair John Strachan

[permalink] [raw]
Subject: Re: Oops in microcode sysfs registration,

On Wednesday 30 July 2008 11:35:54 Dmitry Adamushko wrote:
> 2008/7/30 Dmitry Adamushko <[email protected]>:
> > 2008/7/29 Alistair John Strachan <[email protected]>:
> >> On Tuesday 29 July 2008 17:22:14 Pekka Paalanen wrote:
> >>> > Also, I'm sure this is reproducible without the NVIDIA garbage, but I
> >>> > was too lazy to test it. If you want me to repeat the experiment
> >>> > without the driver I would be more than happy to do so.
> >>>
> >>> I'm not sure people are willing to look into this without a clean
> >>> report, so this would be cool. There's even a test module for mmiotrace
> >>> in the kernel, but I doubt it would make difference to use it or not,
> >>> when trying to reproduce the crash without the blob.
> >>
> >> Of course, and I should have attempted to reproduce without the driver.
> >> Fortunately that was easy: it is not an NVIDIA driver bug.
> >>
> >> Steps to reproduce: have CONFIG_MICROCODE=y and a suitable Intel
> >> processor, then do:
> >>
> >> echo mmiotrace >/debug/tracing/current_tracer
> >> echo none >/debug/tracing/current_tracer
> >>
> >> And you get this (snipped) oops:
> >>
> >> in mmio_trace_init
> >> mmiotrace: Disabling non-boot CPUs...
> >> kvm: disabling virtualization on CPU1
> >> CPU 1 is now offline
> >> SMP alternatives: switching to UP code
> >> CPU0 attaching NULL sched-domain.
> >> CPU1 attaching NULL sched-domain.
> >> CPU0 attaching NULL sched-domain.
> >> mmiotrace: CPU1 is down.
> >> mmiotrace: enabled.
> >> in mmio_trace_reset
> >> mmiotrace: Re-enabling CPUs...
> >> SMP alternatives: switching to SMP code
> >> Booting processor 1/1 ip 6000
> >> Initializing CPU#1
> >> Calibrating delay using timer specific routine.. <6>7204.76 BogoMIPS
> >> (lpj=3602381) CPU: L1 I cache: 32K, L1 D cache: 32K
> >> CPU: L2 cache: 4096K
> >> CPU: Physical Processor ID: 0
> >> CPU: Processor Core ID: 1
> >> x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
> >> CPU1: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
> >> checking TSC synchronization [CPU#0 -> CPU#1]: passed.
> >> kvm: enabling virtualization on CPU1
> >> CPU0 attaching NULL sched-domain.
> >> Switched to high resolution mode on CPU 1
> >> CPU0 attaching sched-domain:
> >> domain 0: span 0-1 level MC
> >> groups: 0 1
> >> CPU1 attaching sched-domain:
> >> domain 0: span 0-1 level MC
> >> groups: 1 0
> >> ------------[ cut here ]------------
> >> Kernel BUG at ffffffff8021a31d [verbose debug info unavailable]
> >> invalid opcode: 0000 [1] PREEMPT SMP
> >> CPU 0
> >> Modules linked in: rfcomm l2cap kvm_intel kvm ipt_MASQUERADE iptable_nat
> >> nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables bridge stp llc
> >> acpi_cpufreq freq_table coretemp hwmon snd_pcm_oss snd_mixer_oss
> >> firewire_sbp2 hci_usb bluetooth arc4 ecb crypto_blkcipher cryptomgr
> >> crypto_algapi usbhid zd1211rw mac80211 crypto cfg80211 snd_emu10k1
> >> snd_rawmidi snd_ac97_codec ac97_bus sg snd_seq_device snd_hda_intel
> >> snd_pcm snd_util_mem snd_timer sr_mod snd_hwdep i2c_i801 ehci_hcd
> >> firewire_ohci uhci_hcd snd snd_page_alloc firewire_core soundcore r8169
> >> cdrom usbcore i2c_core crc_itu_t
> >> Pid: 2757, comm: bash Tainted: G A 2.6.27-rc1-damocles #3
> >> RIP: 0010:[<ffffffff8021a31d>] [<ffffffff8021a31d>]
> >> __mc_sysdev_add+0xc3/0x1f1 RSP: 0018:ffff8800b8905ce8 EFLAGS: 00010297
> >> RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff880080a04000
> >> RDX: ffffffff8062c680 RSI: 0000000000000003 RDI: ffffffff8059e830
> >> RBP: ffff8800b8905d48 R08: ffff8800b8904000 R09: ffffffff80229ca4
> >> R10: ffff8800010247b0 R11: ffff8800bf879de0 R12: 0000000000000018
> >> R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
> >> FS: 00007f8ddc78f6e0(0000) GS:ffffffff805da200(0000)
> >> knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> >> CR2: 00007f57cb9b2098 CR3: 00000000b8985000 CR4: 00000000000026e0
> >> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> >> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> >> Process bash (pid: 2757, threadinfo ffff8800b8904000, task
> >> ffff8800bd125640) Stack: ffffffff80627040 0000000000000000
> >> 0000000000000008 ffffffff8048bb28 0000000000000003 ffffffff802ce910
> >> ffff8800b8905d28 0000000000000002 00000000ffffffe8 0000000000000001
> >> 0000000000000001 ffff880001028418 Call Trace:
> >> [<ffffffff802ce910>] ? sysfs_add_file+0xc/0xe
> >> [<ffffffff8021a456>] mc_sysdev_add+0xb/0xd
> >> [<ffffffff8047baaf>] mc_cpu_callback+0x4b/0x208
> >> [<ffffffff8047b772>] ? mce_cpu_callback+0x3e/0xbc
> >> [<ffffffff8024b787>] notifier_call_chain+0x33/0x5b
> >> [<ffffffff8024b81f>] raw_notifier_call_chain+0xf/0x11
> >> [<ffffffff8047e1dc>] _cpu_up+0xce/0x119
> >> [<ffffffff8047e285>] cpu_up+0x5e/0x8a
> >> [<ffffffff80224967>] disable_mmiotrace+0xfe/0x173
> >> [<ffffffff80265279>] mmio_trace_reset+0x2d/0x44
> >> [<ffffffff80262c4d>] tracing_set_trace_write+0xd3/0x10f
> >> [<ffffffff80289cab>] ? filp_close+0x67/0x72
> >> [<ffffffff8028bee3>] vfs_write+0xa7/0xe1
> >> [<ffffffff8028bfe1>] sys_write+0x47/0x6f
> >> [<ffffffff8020b6db>] system_call_fastpath+0x16/0x1b
> >> [ 68.405002]
> >> [ 68.405002]
> >> Code: e8 59 80 e8 fd 69 26 00 48 c7 c2 80 c6 62 80 48 8b 05 c0 00 3c 00
> >> 48 8b 04 d8 48 8b 48 08 65 8b 04 25 24 00 00 00 44 39 e8 74 04 <0f> 0b
> >> eb fe 4c 8d 04 0a 41 c7 84 24 7c 36 64 80 00 00 00 00 41
> >> RIP [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
> >> RSP <ffff8800b8905ce8>
> >> ---[ end trace ee9c9240024cb48c ]---
> >>
> >> I've replaced the originally tainted dmesg with this new clean one, so
> >> there's no proprietary smell about it :-)
> >
> > Yes, it's kind of a known issue. Take a look at this explanation:
> > http://lkml.org/lkml/2008/7/24/260
> >
> > There were a few related discussions in other threads (mainly, Max
> > Krasnyansky and I were asking for additional info on possible
> > requirements from the 'microcode' driver...) heh, I think, we'd be
> > better off just fixing it one way or another.
>
> does a patch below fix it for you?

Well, if this patch is all that can be done about the issue, it gets my tested
seal of approval. The CPUs online/offline properly without upsetting the mc
driver. Thanks.

--
Cheers,
Alistair.

2008-07-31 16:58:07

by Ingo Molnar

[permalink] [raw]
Subject: Re: Oops in microcode sysfs registration,


* Dmitry Adamushko <[email protected]> wrote:

> 2008/7/30 Dmitry Adamushko <[email protected]>:
> > 2008/7/29 Alistair John Strachan <[email protected]>:
> >> On Tuesday 29 July 2008 17:22:14 Pekka Paalanen wrote:
> >>> > Also, I'm sure this is reproducible without the NVIDIA garbage, but I was
> >>> > too lazy to test it. If you want me to repeat the experiment without the
> >>> > driver I would be more than happy to do so.
> >>>
> >>> I'm not sure people are willing to look into this without a clean report,
> >>> so this would be cool. There's even a test module for mmiotrace in the
> >>> kernel, but I doubt it would make difference to use it or not, when trying
> >>> to reproduce the crash without the blob.
> >>
> >> Of course, and I should have attempted to reproduce without the driver.
> >> Fortunately that was easy: it is not an NVIDIA driver bug.
> >>
> >> Steps to reproduce: have CONFIG_MICROCODE=y and a suitable Intel
> >> processor, then do:
> >>
> >> echo mmiotrace >/debug/tracing/current_tracer
> >> echo none >/debug/tracing/current_tracer
> >>
> >> And you get this (snipped) oops:
> >>
> >> in mmio_trace_init
> >> mmiotrace: Disabling non-boot CPUs...
> >> kvm: disabling virtualization on CPU1
> >> CPU 1 is now offline
> >> SMP alternatives: switching to UP code
> >> CPU0 attaching NULL sched-domain.
> >> CPU1 attaching NULL sched-domain.
> >> CPU0 attaching NULL sched-domain.
> >> mmiotrace: CPU1 is down.
> >> mmiotrace: enabled.
> >> in mmio_trace_reset
> >> mmiotrace: Re-enabling CPUs...
> >> SMP alternatives: switching to SMP code
> >> Booting processor 1/1 ip 6000
> >> Initializing CPU#1
> >> Calibrating delay using timer specific routine.. <6>7204.76 BogoMIPS (lpj=3602381)
> >> CPU: L1 I cache: 32K, L1 D cache: 32K
> >> CPU: L2 cache: 4096K
> >> CPU: Physical Processor ID: 0
> >> CPU: Processor Core ID: 1
> >> x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
> >> CPU1: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
> >> checking TSC synchronization [CPU#0 -> CPU#1]: passed.
> >> kvm: enabling virtualization on CPU1
> >> CPU0 attaching NULL sched-domain.
> >> Switched to high resolution mode on CPU 1
> >> CPU0 attaching sched-domain:
> >> domain 0: span 0-1 level MC
> >> groups: 0 1
> >> CPU1 attaching sched-domain:
> >> domain 0: span 0-1 level MC
> >> groups: 1 0
> >> ------------[ cut here ]------------
> >> Kernel BUG at ffffffff8021a31d [verbose debug info unavailable]
> >> invalid opcode: 0000 [1] PREEMPT SMP
> >> CPU 0
> >> Modules linked in: rfcomm l2cap kvm_intel kvm ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables bridge stp llc acpi_cpufreq freq_table coretemp hwmon
> >> snd_pcm_oss snd_mixer_oss firewire_sbp2 hci_usb bluetooth arc4 ecb crypto_blkcipher cryptomgr crypto_algapi usbhid zd1211rw mac80211 crypto cfg80211 snd_emu10k1 snd_rawmidi
> >> snd_ac97_codec ac97_bus sg snd_seq_device snd_hda_intel snd_pcm snd_util_mem snd_timer sr_mod snd_hwdep i2c_i801 ehci_hcd firewire_ohci uhci_hcd snd snd_page_alloc firewire_core
> >> soundcore r8169 cdrom usbcore i2c_core crc_itu_t
> >> Pid: 2757, comm: bash Tainted: G A 2.6.27-rc1-damocles #3
> >> RIP: 0010:[<ffffffff8021a31d>] [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
> >> RSP: 0018:ffff8800b8905ce8 EFLAGS: 00010297
> >> RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff880080a04000
> >> RDX: ffffffff8062c680 RSI: 0000000000000003 RDI: ffffffff8059e830
> >> RBP: ffff8800b8905d48 R08: ffff8800b8904000 R09: ffffffff80229ca4
> >> R10: ffff8800010247b0 R11: ffff8800bf879de0 R12: 0000000000000018
> >> R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
> >> FS: 00007f8ddc78f6e0(0000) GS:ffffffff805da200(0000) knlGS:0000000000000000
> >> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> >> CR2: 00007f57cb9b2098 CR3: 00000000b8985000 CR4: 00000000000026e0
> >> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> >> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> >> Process bash (pid: 2757, threadinfo ffff8800b8904000, task ffff8800bd125640)
> >> Stack: ffffffff80627040 0000000000000000 0000000000000008 ffffffff8048bb28
> >> 0000000000000003 ffffffff802ce910 ffff8800b8905d28 0000000000000002
> >> 00000000ffffffe8 0000000000000001 0000000000000001 ffff880001028418
> >> Call Trace:
> >> [<ffffffff802ce910>] ? sysfs_add_file+0xc/0xe
> >> [<ffffffff8021a456>] mc_sysdev_add+0xb/0xd
> >> [<ffffffff8047baaf>] mc_cpu_callback+0x4b/0x208
> >> [<ffffffff8047b772>] ? mce_cpu_callback+0x3e/0xbc
> >> [<ffffffff8024b787>] notifier_call_chain+0x33/0x5b
> >> [<ffffffff8024b81f>] raw_notifier_call_chain+0xf/0x11
> >> [<ffffffff8047e1dc>] _cpu_up+0xce/0x119
> >> [<ffffffff8047e285>] cpu_up+0x5e/0x8a
> >> [<ffffffff80224967>] disable_mmiotrace+0xfe/0x173
> >> [<ffffffff80265279>] mmio_trace_reset+0x2d/0x44
> >> [<ffffffff80262c4d>] tracing_set_trace_write+0xd3/0x10f
> >> [<ffffffff80289cab>] ? filp_close+0x67/0x72
> >> [<ffffffff8028bee3>] vfs_write+0xa7/0xe1
> >> [<ffffffff8028bfe1>] sys_write+0x47/0x6f
> >> [<ffffffff8020b6db>] system_call_fastpath+0x16/0x1b
> >> [ 68.405002]
> >> [ 68.405002]
> >> Code: e8 59 80 e8 fd 69 26 00 48 c7 c2 80 c6 62 80 48 8b 05 c0 00 3c 00 48 8b 04 d8 48 8b 48 08 65 8b 04 25 24 00 00 00 44 39 e8 74 04 <0f> 0b eb fe 4c 8d 04 0a 41 c7 84 24 7c 36 64 80 00
> >> 00 00 00 41
> >> RIP [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
> >> RSP <ffff8800b8905ce8>
> >> ---[ end trace ee9c9240024cb48c ]---
> >>
> >> I've replaced the originally tainted dmesg with this new clean one, so
> >> there's no proprietary smell about it :-)
> >
> > Yes, it's kind of a known issue. Take a look at this explanation:
> > http://lkml.org/lkml/2008/7/24/260
> >
> > There were a few related discussions in other threads (mainly, Max
> > Krasnyansky and I were asking for additional info on possible
> > requirements from the 'microcode' driver...) heh, I think, we'd be
> > better off just fixing it one way or another.
>
> does a patch below fix it for you?
> [ not really what we wanted ]
>
> (non-white-space-damaged version is enclosed)

could you please send this patch with a changelog, explanation, etc.?

Ingo

2008-07-31 19:52:46

by Dmitry Adamushko

[permalink] [raw]
Subject: Re: Oops in microcode sysfs registration,

2008/7/31 Ingo Molnar <[email protected]>:
>
> * Dmitry Adamushko <[email protected]> wrote:
>
>> 2008/7/30 Dmitry Adamushko <[email protected]>:
>> > 2008/7/29 Alistair John Strachan <[email protected]>:
>> >> On Tuesday 29 July 2008 17:22:14 Pekka Paalanen wrote:
>> >>> > Also, I'm sure this is reproducible without the NVIDIA garbage, but I was
>> >>> > too lazy to test it. If you want me to repeat the experiment without the
>> >>> > driver I would be more than happy to do so.
>> >>>
>> >>> I'm not sure people are willing to look into this without a clean report,
>> >>> so this would be cool. There's even a test module for mmiotrace in the
>> >>> kernel, but I doubt it would make difference to use it or not, when trying
>> >>> to reproduce the crash without the blob.
>> >>
>> >> Of course, and I should have attempted to reproduce without the driver.
>> >> Fortunately that was easy: it is not an NVIDIA driver bug.
>> >>
>> >> Steps to reproduce: have CONFIG_MICROCODE=y and a suitable Intel
>> >> processor, then do:
>> >>
>> >> echo mmiotrace >/debug/tracing/current_tracer
>> >> echo none >/debug/tracing/current_tracer
>> >>
>> >> And you get this (snipped) oops:
>> >>
>> >> in mmio_trace_init
>> >> mmiotrace: Disabling non-boot CPUs...
>> >> kvm: disabling virtualization on CPU1
>> >> CPU 1 is now offline
>> >> SMP alternatives: switching to UP code
>> >> CPU0 attaching NULL sched-domain.
>> >> CPU1 attaching NULL sched-domain.
>> >> CPU0 attaching NULL sched-domain.
>> >> mmiotrace: CPU1 is down.
>> >> mmiotrace: enabled.
>> >> in mmio_trace_reset
>> >> mmiotrace: Re-enabling CPUs...
>> >> SMP alternatives: switching to SMP code
>> >> Booting processor 1/1 ip 6000
>> >> Initializing CPU#1
>> >> Calibrating delay using timer specific routine.. <6>7204.76 BogoMIPS (lpj=3602381)
>> >> CPU: L1 I cache: 32K, L1 D cache: 32K
>> >> CPU: L2 cache: 4096K
>> >> CPU: Physical Processor ID: 0
>> >> CPU: Processor Core ID: 1
>> >> x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
>> >> CPU1: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
>> >> checking TSC synchronization [CPU#0 -> CPU#1]: passed.
>> >> kvm: enabling virtualization on CPU1
>> >> CPU0 attaching NULL sched-domain.
>> >> Switched to high resolution mode on CPU 1
>> >> CPU0 attaching sched-domain:
>> >> domain 0: span 0-1 level MC
>> >> groups: 0 1
>> >> CPU1 attaching sched-domain:
>> >> domain 0: span 0-1 level MC
>> >> groups: 1 0
>> >> ------------[ cut here ]------------
>> >> Kernel BUG at ffffffff8021a31d [verbose debug info unavailable]
>> >> invalid opcode: 0000 [1] PREEMPT SMP
>> >> CPU 0
>> >> Modules linked in: rfcomm l2cap kvm_intel kvm ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables bridge stp llc acpi_cpufreq freq_table coretemp hwmon
>> >> snd_pcm_oss snd_mixer_oss firewire_sbp2 hci_usb bluetooth arc4 ecb crypto_blkcipher cryptomgr crypto_algapi usbhid zd1211rw mac80211 crypto cfg80211 snd_emu10k1 snd_rawmidi
>> >> snd_ac97_codec ac97_bus sg snd_seq_device snd_hda_intel snd_pcm snd_util_mem snd_timer sr_mod snd_hwdep i2c_i801 ehci_hcd firewire_ohci uhci_hcd snd snd_page_alloc firewire_core
>> >> soundcore r8169 cdrom usbcore i2c_core crc_itu_t
>> >> Pid: 2757, comm: bash Tainted: G A 2.6.27-rc1-damocles #3
>> >> RIP: 0010:[<ffffffff8021a31d>] [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
>> >> RSP: 0018:ffff8800b8905ce8 EFLAGS: 00010297
>> >> RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff880080a04000
>> >> RDX: ffffffff8062c680 RSI: 0000000000000003 RDI: ffffffff8059e830
>> >> RBP: ffff8800b8905d48 R08: ffff8800b8904000 R09: ffffffff80229ca4
>> >> R10: ffff8800010247b0 R11: ffff8800bf879de0 R12: 0000000000000018
>> >> R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
>> >> FS: 00007f8ddc78f6e0(0000) GS:ffffffff805da200(0000) knlGS:0000000000000000
>> >> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
>> >> CR2: 00007f57cb9b2098 CR3: 00000000b8985000 CR4: 00000000000026e0
>> >> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
>> >> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
>> >> Process bash (pid: 2757, threadinfo ffff8800b8904000, task ffff8800bd125640)
>> >> Stack: ffffffff80627040 0000000000000000 0000000000000008 ffffffff8048bb28
>> >> 0000000000000003 ffffffff802ce910 ffff8800b8905d28 0000000000000002
>> >> 00000000ffffffe8 0000000000000001 0000000000000001 ffff880001028418
>> >> Call Trace:
>> >> [<ffffffff802ce910>] ? sysfs_add_file+0xc/0xe
>> >> [<ffffffff8021a456>] mc_sysdev_add+0xb/0xd
>> >> [<ffffffff8047baaf>] mc_cpu_callback+0x4b/0x208
>> >> [<ffffffff8047b772>] ? mce_cpu_callback+0x3e/0xbc
>> >> [<ffffffff8024b787>] notifier_call_chain+0x33/0x5b
>> >> [<ffffffff8024b81f>] raw_notifier_call_chain+0xf/0x11
>> >> [<ffffffff8047e1dc>] _cpu_up+0xce/0x119
>> >> [<ffffffff8047e285>] cpu_up+0x5e/0x8a
>> >> [<ffffffff80224967>] disable_mmiotrace+0xfe/0x173
>> >> [<ffffffff80265279>] mmio_trace_reset+0x2d/0x44
>> >> [<ffffffff80262c4d>] tracing_set_trace_write+0xd3/0x10f
>> >> [<ffffffff80289cab>] ? filp_close+0x67/0x72
>> >> [<ffffffff8028bee3>] vfs_write+0xa7/0xe1
>> >> [<ffffffff8028bfe1>] sys_write+0x47/0x6f
>> >> [<ffffffff8020b6db>] system_call_fastpath+0x16/0x1b
>> >> [ 68.405002]
>> >> [ 68.405002]
>> >> Code: e8 59 80 e8 fd 69 26 00 48 c7 c2 80 c6 62 80 48 8b 05 c0 00 3c 00 48 8b 04 d8 48 8b 48 08 65 8b 04 25 24 00 00 00 44 39 e8 74 04 <0f> 0b eb fe 4c 8d 04 0a 41 c7 84 24 7c 36 64 80 00
>> >> 00 00 00 41
>> >> RIP [<ffffffff8021a31d>] __mc_sysdev_add+0xc3/0x1f1
>> >> RSP <ffff8800b8905ce8>
>> >> ---[ end trace ee9c9240024cb48c ]---
>> >>
>> >> I've replaced the originally tainted dmesg with this new clean one, so
>> >> there's no proprietary smell about it :-)
>> >
>> > Yes, it's kind of a known issue. Take a look at this explanation:
>> > http://lkml.org/lkml/2008/7/24/260
>> >
>> > There were a few related discussions in other threads (mainly, Max
>> > Krasnyansky and I were asking for additional info on possible
>> > requirements from the 'microcode' driver...) heh, I think, we'd be
>> > better off just fixing it one way or another.
>>
>> does a patch below fix it for you?
>> [ not really what we wanted ]
>>
>> (non-white-space-damaged version is enclosed)
>
> could you please send this patch with a changelog, explanation, etc.?

Now having thought a bit more on that issue, I tend to think that this
patch is not all that nice (so I agree with Max here).

The root problem is the way set_cpus_allowed_ptr() is used in
microcode's cpu-hotplug handler. With cpu_active_map in place
set_cpus_allowed_ptr() can't migrate a task on the soon-to-be-online
cpu from withing a CPU_ONLINE handler (more in details here:
http://lkml.org/lkml/2008/7/24/260)

Basically, this patch marks a 'cpu' available for other tasks to be
migrated to it before sending CPU_ONLINE notification to
subscribers... [ now, there can be CPU_ONLINE
http://lkml.org/lkml/2008/7/24/260handlers that has something to do
with enabling migration/load-balancing. e.g. migration_call() ,
although it has the highest prio and is supposed to run first in a
chain ]

In another thread, I've asked whether doing 'microcode update' in
start_secondary() (or even at the beginning of idle_cpu() would be
better):

pros:
- it's done as early as possible (no other tasks has started running
on a cpu yet);
- no actions in cpu-hotplug;

cons:
- microcode sub-systems becomes visible outside of microcode.c _but_
it's arch-specific part anyway + with object-oriented re-work (which
is in -tip), I think it'd be that bad.

Alternatives:

- delayed 'microcode' update -> scheduled to 'workqueue' (cons: it's
not as early as possible);
- Max suggested a combination of IPI + some wotk (request_firmware())
from cpu-hotplug handler itself. But I think it's quite a complex
scheme (and maybe prone to other problems).


What do you think?


>
> Ingo
>

--
Best regards,
Dmitry Adamushko

2008-07-31 19:55:28

by Dmitry Adamushko

[permalink] [raw]
Subject: Re: Oops in microcode sysfs registration,

2008/7/31 Dmitry Adamushko <[email protected]>:
>>
>> could you please send this patch with a changelog, explanation, etc.?
>
> Now having thought a bit more on that issue, I tend to think that this
> patch is not all that nice (so I agree with Max here).
>
> The root problem is the way set_cpus_allowed_ptr() is used in
> microcode's cpu-hotplug handler. With cpu_active_map in place
> set_cpus_allowed_ptr() can't migrate a task on the soon-to-be-online
> cpu from withing a CPU_ONLINE handler (more in details here:
> http://lkml.org/lkml/2008/7/24/260)
>
> Basically, this patch marks a 'cpu' available for other tasks to be
> migrated to it before sending CPU_ONLINE notification to
> subscribers... [ now, there can be CPU_ONLINE
> http://lkml.org/lkml/2008/7/24/260handlers that has something to do
> with enabling migration/load-balancing. e.g. migration_call() ,
> although it has the highest prio and is supposed to run first in a
> chain ]
>
> In another thread, I've asked whether doing 'microcode update' in
> start_secondary() (or even at the beginning of idle_cpu() would be
> better):
>
> pros:
> - it's done as early as possible (no other tasks has started running
> on a cpu yet);
> - no actions in cpu-hotplug;
>
> cons:
> - microcode sub-systems becomes visible outside of microcode.c _but_
> it's arch-specific part anyway + with object-oriented re-work (which
> is in -tip), I think it'd be that bad.

it was supposed to be "it'd be _not_ that bad"


--
Best regards,
Dmitry Adamushko

2008-07-31 22:19:59

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux v2.6.27-rc1: linux-next

On Wednesday, 30 of July 2008, Andrew Morton wrote:
> On Tue, 29 Jul 2008 09:59:18 -0700 (PDT) Linus Torvalds <[email protected]> wrote:
>
> > - I don't think the 'next' thing works as well for the occasional
> > developer that just has a few patches pending as it works for subsystem
> > maintainers that are used to it.
>
> Those people's patches are in -mm, which now holds maybe 100 or more
> "trees", many of which are small or empty.
>
> My project within the next couple of weeks is to get most of that
> material into linux-next. Stephen will be involved ;)
>
> > IOW, I think 'next' needs enough infrastructure setup from the
> > developer side that I don't think it's reasonable for _everything_ to
> > go through next.
>
> True. But
>
> a) some of the problematic changes which we've seen simply _should_
> have been in linux-next. Some of them were even coming from
> developers whose trees are already in linux-next.
>
> b) A lot of the bugs which hit your tree would have been quickly
> found in linux-next too.
>
>
> But it's all shuffling deckchairs, really. Are we actually merging
> better code as a reasult of all of this? Are we being more careful and
> reviewing better and testing better?
>
> Don't think so.

Well, if the number of the regressions list entries can be regarded as a
pointer, then yes, we are. :-)

There are 28 entries in there right now, compared to 53 entries initially in
the list during the 2.6.26 cycle (see
http://bugzilla.kernel.org/show_bug.cgi?id=11167 for reference).

Thanks,
Rafael