* kernel BUG at arch/x86/kernel/io_apic_64.c:357!
@ 2008-07-29 16:09 Dhaval Giani
2008-07-29 18:35 ` Yinghai Lu
0 siblings, 1 reply; 17+ messages in thread
From: Dhaval Giani @ 2008-07-29 16:09 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar; +Cc: lkml
[-- Attachment #1: Type: text/plain, Size: 3198 bytes --]
Hi Ingo, Thomas,
Hit this on 2.6.27-rc1
(The kernel bug is at line 356 (Its 357 as I applied a debug patch to
print out the irq) (Full dmesg and .config attached)
Thanks,
------------[ cut here ]------------
kernel BUG at arch/x86/kernel/io_apic_64.c:357!
invalid opcode: 0000 [1] SMP
CPU 24
Modules linked in:
Pid: 1, comm: swapper Not tainted 2.6.27-rc1-autokern1 #1
RIP: 0010:[<ffffffff8021bb2e>] [<ffffffff8021bb2e>] add_pin_to_irq+0x8e/0xa0
RSP: 0018:ffff88032e4b9b30 EFLAGS: 00010216
RAX: 00000000000000f0 RBX: 00000000000000f0 RCX: 0000000000000000
RDX: 000000000000afaf RSI: 0000000000000046 RDI: ffffffff80738234
RBP: 0000000000000006 R08: 0000000000000000 R09: ffff8800280992c0
R10: 0000000000000000 R11: ffffffff80372060 R12: 0000000000000018
R13: 0000000000000001 R14: 0000000000000018 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff880bfe733540(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 0000000000201000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 1, threadinfo ffff88032e4b8000, task ffff880bfe4ca050)
Stack: 00000000000000f0 0000000000000006 0000000000000001 ffffffff8021bbbe
00000000000000f0 0000000000000001 0000000000000000 ffff88032e4b9c0c
00000000000000f0 ffffffff80218d81 00000000000000f0 0000000000000000
Call Trace:
[<ffffffff8021bbbe>] ? io_apic_set_pci_routing+0x7e/0xa0
[<ffffffff80218d81>] ? mp_register_gsi+0xb1/0xd0
[<ffffffff80218e0c>] ? acpi_register_gsi+0x6c/0x70
[<ffffffff80392f30>] ? acpi_pci_irq_enable+0x178/0x260
[<ffffffff80392cdd>] ? acpi_pci_allocate_irq+0x0/0x4c
[<ffffffff80370657>] ? pci_enable_resources+0x27/0x160
[<ffffffff8036be6a>] ? do_pci_enable_device+0x4a/0x70
[<ffffffff8036bee1>] ? __pci_enable_device_flags+0x51/0x60
[<ffffffff804e01e8>] ? tg3_init_one+0x58/0x1640
[<ffffffff8022a980>] ? default_wake_function+0x0/0x10
[<ffffffff8022efd8>] ? set_cpus_allowed_ptr+0xe8/0x110
[<ffffffff8036e28f>] ? pci_device_probe+0xdf/0x130
[<ffffffff803c2416>] ? driver_probe_device+0x96/0x1a0
[<ffffffff803c25a9>] ? __driver_attach+0x89/0x90
[<ffffffff803c2520>] ? __driver_attach+0x0/0x90
[<ffffffff803c1a8d>] ? bus_for_each_dev+0x4d/0x80
[<ffffffff8028e168>] ? kmem_cache_alloc+0xc8/0xf0
[<ffffffff803c1f7e>] ? bus_add_driver+0xae/0x220
[<ffffffff803c2836>] ? driver_register+0x56/0x130
[<ffffffff8036e548>] ? __pci_register_driver+0x68/0xb0
[<ffffffff806cf8e0>] ? tg3_init+0x0/0x20
[<ffffffff806b15b1>] ? do_one_initcall+0x41/0x180
[<ffffffff802d8a08>] ? create_proc_entry+0x58/0xa0
[<ffffffff80261cc4>] ? register_irq_proc+0xd4/0xf0
[<ffffffff806b1b53>] ? kernel_init+0x133/0x190
[<ffffffff8020c529>] ? child_rip+0xa/0x11
[<ffffffff806b1a20>] ? kernel_init+0x0/0x190
[<ffffffff8020c51f>] ? child_rip+0x0/0x11
Code: 89 05 2b 54 42 00 7f 27 48 0f bf c1 48 8d 14 00 48 c1 e0 03 48 29 d0 48 8d 90 c0 5e 73 80 66 89 2a 66 44 89 62 02 5b 5d 41 5c c3 <0f> 0b eb fe 48 c7 c7 c8 db 5c 80 31 c0 e8 60 7e 01 00 48 83 ec
RIP [<ffffffff8021bb2e>] add_pin_to_irq+0x8e/0xa0
RSP <ffff88032e4b9b30>
--
regards,
Dhaval
[-- Attachment #2: dotconfig --]
[-- Type: text/plain, Size: 35566 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.27-rc1-autokern1
# Tue Jul 29 15:22:09 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 is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_NS is not set
# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CPUSETS is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_GROUP_SCHED is not set
# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_RESOURCE_COUNTERS is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
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 is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_COMPAT_BRK=y
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 is not set
# CONFIG_MARKERS is not set
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 is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_BLK_DEV_BSG is not set
# 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=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y
#
# Processor type and features
#
# CONFIG_TICK_ONESHOT is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
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 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
CONFIG_MK8=y
# 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 is not set
CONFIG_X86_CPU=y
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=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_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=64
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_MC=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# 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 is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
CONFIG_NUMA=y
# CONFIG_K8_NUMA is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
CONFIG_NUMA_EMU=y
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 is not set
# 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 is not set
# 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=y
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_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_HIBERNATION is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=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=m
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_WMI is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
# 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 is not set
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
# CONFIG_ACPI_SBS is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
# CONFIG_PCI_MMCONFIG is not set
CONFIG_PCI_DOMAINS=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
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 is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_AOUT is not set
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 is not set
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# 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_IP_MROUTE is not set
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
# CONFIG_INET_LRO is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=m
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
# CONFIG_TCP_CONG_HSTCP is not set
# CONFIG_TCP_CONG_HYBLA is not set
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
CONFIG_DEFAULT_BIC=y
# CONFIG_DEFAULT_CUBIC is not set
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="bic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_NETWORK_SECMARK is not set
# 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=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set
#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# 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_SONY_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
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 is not set
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 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
CONFIG_BLK_DEV_CMD64X=y
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_JMICRON is not set
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_IT8213 is not set
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
CONFIG_BLK_DEV_SVWKS=y
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_BLK_DEV_TC86C001 is not set
CONFIG_BLK_DEV_IDEDMA=y
#
# SCSI device support
#
CONFIG_RAID_ATTRS=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m
# CONFIG_CHR_DEV_SCH is not set
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
CONFIG_SCSI_AACRAID=y
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_STEX is not set
CONFIG_SCSI_SYM53C8XX_2=y
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=y
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_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=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID456 is not set
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 is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
CONFIG_FUSION_FC=y
# CONFIG_FUSION_SAS is not set
CONFIG_FUSION_MAX_SGE=128
CONFIG_FUSION_CTL=y
# CONFIG_FUSION_LOGGING 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 is not set
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=y
#
# 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 is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set
# CONFIG_TULIP_NAPI is not set
# CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set
# 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 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
CONFIG_EEPRO100=m
CONFIG_E100=m
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_R6040 is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_SC92031 is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
CONFIG_E1000=y
# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
# CONFIG_E1000E is not set
# CONFIG_IP1000 is not set
# CONFIG_IGB is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_TIGON3=y
# CONFIG_BNX2 is not set
# 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
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
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 is not set
# CONFIG_INPUT_POLLDEV is not set
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
# 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 is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
CONFIG_GAMEPORT=m
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_FM801 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 is not set
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not set
# CONFIG_RIO is not set
# CONFIG_STALDRV is not set
# 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 is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_I2C 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=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_THERMAL=m
# CONFIG_THERMAL_HWMON is not set
# CONFIG_WATCHDOG is not set
#
# Sonics Silicon Backplane
#
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set
#
# 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
#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
# CONFIG_VIDEO_SELECT is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
# CONFIG_HIDRAW is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
# CONFIG_USB is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
#
# SPI RTC drivers
#
#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_V3020 is not set
#
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
# CONFIG_UIO is not set
#
# Firmware Drivers
#
# CONFIG_EDD is not set
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=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
# CONFIG_EXT4DEV_FS is not set
CONFIG_JBD=y
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR 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 is not set
CONFIG_AUTOFS_FS=y
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# 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 is not set
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# 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 is not set
# CONFIG_NFSD is not set
CONFIG_SMB_FS=m
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp437"
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
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 is not set
CONFIG_NLS_ISO8859_1=y
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 is not set
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 is not set
# 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 is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
CONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_FRAME_POINTER is not set
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
# CONFIG_FTRACE is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SYSPROF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER 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 is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# 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_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=m
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set
#
# Block modes
#
CONFIG_CRYPTO_CBC=m
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=m
# CONFIG_CRYPTO_LRW is not set
CONFIG_CRYPTO_PCBC=m
# CONFIG_CRYPTO_XTS is not set
#
# Hash modes
#
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_XCBC is not set
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set
#
# Ciphers
#
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_AES_X86_64 is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_LZO is not set
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_HIFN_795X 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 is not set
# CONFIG_CRC16 is not set
CONFIG_CRC_T10DIF=y
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
[-- Attachment #3: console.log --]
[-- Type: text/plain, Size: 49125 bytes --]
Linux version 2.6.27-rc1-autokern1 (root@elm3b239) (gcc version 4.1.0 (SUSE Linux)) #1 SMP Tue Jul 29 15:23:01 UTC 2008
Command line: vga=791 ip=9.47.67.239:9.47.67.50:9.47.67.1:255.255.255.0 resume=/dev/sdb1 showopts earlyprintk=serial,ttyS0,57600 console=tty0 console=ttyS0,57600 autobench_args: root=/dev/sda2 ABAT:1217345031
KERNEL supported cpus:
Intel GenuineIntel
AMD AuthenticAMD
Centaur CentaurHauls
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009ac00 (usable)
BIOS-e820: 000000000009ac00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000bff4bf00 (usable)
BIOS-e820: 00000000bff4bf00 - 00000000bff76380 (ACPI data)
BIOS-e820: 00000000bff76380 - 00000000d0000000 (reserved)
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000c00000000 (usable)
console [earlyser0] enabled
last_pfn = 0xc00000 max_arch_pfn = 0x3ffffffff
last_pfn = 0xbff4b max_arch_pfn = 0x3ffffffff
init_memory_mapping
last_map_addr: bff4b000 end: bff4b000
init_memory_mapping
last_map_addr: c00000000 end: c00000000
RAMDISK: 37d2c000 - 37fef770
DMI 2.4 present.
ACPI: RSDP 000FDCF0, 0014 (r0 IBM )
ACPI: RSDT BFF76300, 0044 (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: FACP BFF76280, 0074 (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: DSDT BFF4BF00, 2073 (r1 IBM EXA01ZEU 1000 INTL 20041203)
ACPI: FACS BFF75C80, 0040
ACPI: APIC BFF76000, 026A (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: SRAT BFF75D00, 02F8 (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: HPET BFF75CC0, 0038 (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: SSDT BFF6BD40, 9E7C (r1 IBM VIGSSDT0 1000 INTL 20041203)
ACPI: SSDT BFF61E00, 9E7C (r1 IBM VIGSSDT1 1000 INTL 20041203)
ACPI: SSDT BFF57EC0, 9E7C (r1 IBM VIGSSDT2 1000 INTL 20041203)
ACPI: SSDT BFF4DF80, 9E7C (r1 IBM VIGSSDT3 1000 INTL 20041203)
SRAT: PXM 0 -> APIC 0 -> Node 0
SRAT: PXM 0 -> APIC 1 -> Node 0
SRAT: PXM 0 -> APIC 6 -> Node 0
SRAT: PXM 0 -> APIC 7 -> Node 0
SRAT: PXM 0 -> APIC 16 -> Node 0
SRAT: PXM 0 -> APIC 17 -> Node 0
SRAT: PXM 0 -> APIC 22 -> Node 0
SRAT: PXM 0 -> APIC 23 -> Node 0
SRAT: PXM 1 -> APIC 32 -> Node 1
SRAT: PXM 1 -> APIC 33 -> Node 1
SRAT: PXM 1 -> APIC 38 -> Node 1
SRAT: PXM 1 -> APIC 39 -> Node 1
SRAT: PXM 1 -> APIC 48 -> Node 1
SRAT: PXM 1 -> APIC 49 -> Node 1
SRAT: PXM 1 -> APIC 54 -> Node 1
SRAT: PXM 1 -> APIC 55 -> Node 1
SRAT: PXM 2 -> APIC 64 -> Node 2
SRAT: PXM 2 -> APIC 65 -> Node 2
SRAT: PXM 2 -> APIC 70 -> Node 2
SRAT: PXM 2 -> APIC 71 -> Node 2
SRAT: PXM 2 -> APIC 80 -> Node 2
SRAT: PXM 2 -> APIC 81 -> Node 2
SRAT: PXM 2 -> APIC 86 -> Node 2
SRAT: PXM 2 -> APIC 87 -> Node 2
SRAT: PXM 3 -> APIC 96 -> Node 3
SRAT: PXM 3 -> APIC 97 -> Node 3
SRAT: PXM 3 -> APIC 102 -> Node 3
SRAT: PXM 3 -> APIC 103 -> Node 3
SRAT: PXM 3 -> APIC 112 -> Node 3
SRAT: PXM 3 -> APIC 113 -> Node 3
SRAT: PXM 3 -> APIC 118 -> Node 3
SRAT: PXM 3 -> APIC 119 -> Node 3
SRAT: Node 0 PXM 0 0-c0000000
SRAT: Node 0 PXM 0 100000000-330000000
SRAT: Node 1 PXM 1 330000000-620000000
SRAT: Node 2 PXM 2 620000000-910000000
SRAT: Node 3 PXM 3 910000000-c00000000
Bootmem setup node 0 0000000000000000-0000000330000000
NODE_DATA [0000000000001000 - 0000000000005fff]
bootmap [0000000000100000 - 0000000000165fff] pages 66
(8 early reservations) ==> bootmem [0000000000 - 0330000000]
#0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000]
#1 [0000006000 - 0000008000] TRAMPOLINE ==> [0000006000 - 0000008000]
#2 [0000200000 - 000085ab54] TEXT DATA BSS ==> [0000200000 - 000085ab54]
#3 [0037d2c000 - 0037fef770] RAMDISK ==> [0037d2c000 - 0037fef770]
#4 [000009ac00 - 0000100000] BIOS reserved ==> [000009ac00 - 0000100000]
#5 [0000008000 - 000000b000] PGTABLE ==> [0000008000 - 000000b000]
#6 [000000b000 - 0000037000] PGTABLE ==> [000000b000 - 0000037000]
#7 [0000037000 - 00000371c0] MEMNODEMAP ==> [0000037000 - 00000371c0]
Bootmem setup node 1 0000000330000000-0000000620000000
NODE_DATA [0000000330000000 - 0000000330004fff]
bootmap [0000000330005000 - 0000000330062fff] pages 5e
(8 early reservations) ==> bootmem [0330000000 - 0620000000]
#0 [0000000000 - 0000001000] BIOS data page
#1 [0000006000 - 0000008000] TRAMPOLINE
#2 [0000200000 - 000085ab54] TEXT DATA BSS
#3 [0037d2c000 - 0037fef770] RAMDISK
#4 [000009ac00 - 0000100000] BIOS reserved
#5 [0000008000 - 000000b000] PGTABLE
#6 [000000b000 - 0000037000] PGTABLE
#7 [0000037000 - 00000371c0] MEMNODEMAP
Bootmem setup node 2 0000000620000000-0000000910000000
NODE_DATA [0000000620000000 - 0000000620004fff]
bootmap [0000000620005000 - 0000000620062fff] pages 5e
(8 early reservations) ==> bootmem [0620000000 - 0910000000]
#0 [0000000000 - 0000001000] BIOS data page
#1 [0000006000 - 0000008000] TRAMPOLINE
#2 [0000200000 - 000085ab54] TEXT DATA BSS
#3 [0037d2c000 - 0037fef770] RAMDISK
#4 [000009ac00 - 0000100000] BIOS reserved
#5 [0000008000 - 000000b000] PGTABLE
#6 [000000b000 - 0000037000] PGTABLE
#7 [0000037000 - 00000371c0] MEMNODEMAP
Bootmem setup node 3 0000000910000000-0000000c00000000
NODE_DATA [0000000910000000 - 0000000910004fff]
bootmap [0000000910005000 - 0000000910062fff] pages 5e
(8 early reservations) ==> bootmem [0910000000 - 0c00000000]
#0 [0000000000 - 0000001000] BIOS data page
#1 [0000006000 - 0000008000] TRAMPOLINE
#2 [0000200000 - 000085ab54] TEXT DATA BSS
#3 [0037d2c000 - 0037fef770] RAMDISK
#4 [000009ac00 - 0000100000] BIOS reserved
#5 [0000008000 - 000000b000] PGTABLE
#6 [000000b000 - 0000037000] PGTABLE
#7 [0000037000 - 00000371c0] MEMNODEMAP
found SMP MP-table at [ffff88000009ad40] 0009ad40
[ffffe2000b280000-ffffe2000b3fffff] potential offnode page_structs
[ffffe20015700000-ffffe200157fffff] potential offnode page_structs
[ffffe2001fb80000-ffffe2001fbfffff] potential offnode page_structs
Zone PFN ranges:
DMA 0x00000000 -> 0x00001000
DMA32 0x00001000 -> 0x00100000
Normal 0x00100000 -> 0x00c00000
Movable zone start PFN for each node
early_node_map[6] active PFN ranges
0: 0x00000000 -> 0x0000009a
0: 0x00000100 -> 0x000bff4b
0: 0x00100000 -> 0x00330000
1: 0x00330000 -> 0x00620000
2: 0x00620000 -> 0x00910000
3: 0x00910000 -> 0x00c00000
ACPI: PM-Timer IO Port: 0x9c
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x06] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x07] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x10] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x11] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x16] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x17] enabled)
ACPI: LAPIC (acpi_id[0x10] lapic_id[0x20] enabled)
ACPI: LAPIC (acpi_id[0x11] lapic_id[0x21] enabled)
ACPI: LAPIC (acpi_id[0x12] lapic_id[0x26] enabled)
ACPI: LAPIC (acpi_id[0x13] lapic_id[0x27] enabled)
ACPI: LAPIC (acpi_id[0x14] lapic_id[0x30] enabled)
ACPI: LAPIC (acpi_id[0x15] lapic_id[0x31] enabled)
ACPI: LAPIC (acpi_id[0x16] lapic_id[0x36] enabled)
ACPI: LAPIC (acpi_id[0x17] lapic_id[0x37] enabled)
ACPI: LAPIC (acpi_id[0x20] lapic_id[0x40] enabled)
ACPI: LAPIC (acpi_id[0x21] lapic_id[0x41] enabled)
ACPI: LAPIC (acpi_id[0x22] lapic_id[0x46] enabled)
ACPI: LAPIC (acpi_id[0x23] lapic_id[0x47] enabled)
ACPI: LAPIC (acpi_id[0x24] lapic_id[0x50] enabled)
ACPI: LAPIC (acpi_id[0x25] lapic_id[0x51] enabled)
ACPI: LAPIC (acpi_id[0x26] lapic_id[0x56] enabled)
ACPI: LAPIC (acpi_id[0x27] lapic_id[0x57] enabled)
ACPI: LAPIC (acpi_id[0x30] lapic_id[0x60] enabled)
ACPI: LAPIC (acpi_id[0x31] lapic_id[0x61] enabled)
ACPI: LAPIC (acpi_id[0x32] lapic_id[0x66] enabled)
ACPI: LAPIC (acpi_id[0x33] lapic_id[0x67] enabled)
ACPI: LAPIC (acpi_id[0x34] lapic_id[0x70] enabled)
ACPI: LAPIC (acpi_id[0x35] lapic_id[0x71] enabled)
ACPI: LAPIC (acpi_id[0x36] lapic_id[0x76] enabled)
ACPI: LAPIC (acpi_id[0x37] lapic_id[0x77] enabled)
ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x10] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x11] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x12] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x13] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x14] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x15] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x16] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x17] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x20] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x21] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x22] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x23] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x24] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x25] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x26] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x27] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x30] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x31] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x32] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x33] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x34] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x35] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x36] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x37] dfl dfl lint[0x1])
ACPI: IOAPIC (id[0x0f] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 15, version 0, address 0xfec00000, GSI 0-35
ACPI: IOAPIC (id[0x0e] address[0xfec01000] gsi_base[36])
IOAPIC[1]: apic_id 14, version 0, address 0xfec01000, GSI 36-71
ACPI: IOAPIC (id[0x0d] address[0xfec02000] gsi_base[72])
IOAPIC[2]: apic_id 13, version 0, address 0xfec02000, GSI 72-107
ACPI: IOAPIC (id[0x0c] address[0xfec03000] gsi_base[108])
IOAPIC[3]: apic_id 12, version 0, address 0xfec03000, GSI 108-143
ACPI: IOAPIC (id[0x0b] address[0xfec04000] gsi_base[144])
IOAPIC[4]: apic_id 11, version 0, address 0xfec04000, GSI 144-179
ACPI: IOAPIC (id[0x0a] address[0xfec05000] gsi_base[180])
IOAPIC[5]: apic_id 10, version 0, address 0xfec05000, GSI 180-215
ACPI: IOAPIC (id[0x09] address[0xfec06000] gsi_base[216])
IOAPIC[6]: apic_id 9, version 0, address 0xfec06000, GSI 216-251
ACPI: IOAPIC (id[0x08] address[0xfec07000] gsi_base[252])
IOAPIC[7]: apic_id 8, version 0, address 0xfec07000, GSI 252-287
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 8 global_irq 8 low edge)
ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 low edge)
Setting APIC routing to physical flat
ACPI: HPET id: 0x10142001 base: 0xfde84000
Using ACPI (MADT) for SMP configuration information
SMP: Allowing 32 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at d4000000 (gap: d0000000:2ec00000)
PERCPU: Allocating 41400 bytes of per cpu data
Built 4 zonelists in Zone order, mobility grouping on. Total pages: 12146674
Policy zone: Normal
Kernel command line: vga=791 ip=9.47.67.239:9.47.67.50:9.47.67.1:255.255.255.0 resume=/dev/sdb1 showopts earlyprintk=serial,ttyS0,57600 console=tty0 console=ttyS0,57600 autobench_args: root=/dev/sda2 ABAT:1217345031
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 32768 bytes)
TSC calibrated against PM_TIMER
Detected 2835.488 MHz processor.
Marking TSC unstable due to TSCs unsynchronized
Console: colour dummy device 80x25
console [tty0] enabled
Linux version 2.6.27-rc1-autokern1 (root@elm3b239) (gcc version 4.1.0 (SUSE Linux)) #1 SMP Tue Jul 29 15:23:01 UTC 2008
Command line: vga=791 ip=9.47.67.239:9.47.67.50:9.47.67.1:255.255.255.0 resume=/dev/sdb1 showopts earlyprintk=serial,ttyS0,57600 console=tty0 console=ttyS0,57600 autobench_args: root=/dev/sda2 ABAT:1217345031
KERNEL supported cpus:
Intel GenuineIntel
AMD AuthenticAMD
Centaur CentaurHauls
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009ac00 (usable)
BIOS-e820: 000000000009ac00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000bff4bf00 (usable)
BIOS-e820: 00000000bff4bf00 - 00000000bff76380 (ACPI data)
BIOS-e820: 00000000bff76380 - 00000000d0000000 (reserved)
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000c00000000 (usable)
console [earlyser0] enabled
last_pfn = 0xc00000 max_arch_pfn = 0x3ffffffff
last_pfn = 0xbff4b max_arch_pfn = 0x3ffffffff
init_memory_mapping
last_map_addr: bff4b000 end: bff4b000
init_memory_mapping
last_map_addr: c00000000 end: c00000000
RAMDISK: 37d2c000 - 37fef770
DMI 2.4 present.
ACPI: RSDP 000FDCF0, 0014 (r0 IBM )
ACPI: RSDT BFF76300, 0044 (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: FACP BFF76280, 0074 (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: DSDT BFF4BF00, 2073 (r1 IBM EXA01ZEU 1000 INTL 20041203)
ACPI: FACS BFF75C80, 0040
ACPI: APIC BFF76000, 026A (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: SRAT BFF75D00, 02F8 (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: HPET BFF75CC0, 0038 (r1 IBM EXA01ZEU 1000 IBM 45444F43)
ACPI: SSDT BFF6BD40, 9E7C (r1 IBM VIGSSDT0 1000 INTL 20041203)
ACPI: SSDT BFF61E00, 9E7C (r1 IBM VIGSSDT1 1000 INTL 20041203)
ACPI: SSDT BFF57EC0, 9E7C (r1 IBM VIGSSDT2 1000 INTL 20041203)
ACPI: SSDT BFF4DF80, 9E7C (r1 IBM VIGSSDT3 1000 INTL 20041203)
SRAT: PXM 0 -> APIC 0 -> Node 0
SRAT: PXM 0 -> APIC 1 -> Node 0
SRAT: PXM 0 -> APIC 6 -> Node 0
SRAT: PXM 0 -> APIC 7 -> Node 0
SRAT: PXM 0 -> APIC 16 -> Node 0
SRAT: PXM 0 -> APIC 17 -> Node 0
SRAT: PXM 0 -> APIC 22 -> Node 0
SRAT: PXM 0 -> APIC 23 -> Node 0
SRAT: PXM 1 -> APIC 32 -> Node 1
SRAT: PXM 1 -> APIC 33 -> Node 1
SRAT: PXM 1 -> APIC 38 -> Node 1
SRAT: PXM 1 -> APIC 39 -> Node 1
SRAT: PXM 1 -> APIC 48 -> Node 1
SRAT: PXM 1 -> APIC 49 -> Node 1
SRAT: PXM 1 -> APIC 54 -> Node 1
SRAT: PXM 1 -> APIC 55 -> Node 1
SRAT: PXM 2 -> APIC 64 -> Node 2
SRAT: PXM 2 -> APIC 65 -> Node 2
SRAT: PXM 2 -> APIC 70 -> Node 2
SRAT: PXM 2 -> APIC 71 -> Node 2
SRAT: PXM 2 -> APIC 80 -> Node 2
SRAT: PXM 2 -> APIC 81 -> Node 2
SRAT: PXM 2 -> APIC 86 -> Node 2
SRAT: PXM 2 -> APIC 87 -> Node 2
SRAT: PXM 3 -> APIC 96 -> Node 3
SRAT: PXM 3 -> APIC 97 -> Node 3
SRAT: PXM 3 -> APIC 102 -> Node 3
SRAT: PXM 3 -> APIC 103 -> Node 3
SRAT: PXM 3 -> APIC 112 -> Node 3
SRAT: PXM 3 -> APIC 113 -> Node 3
SRAT: PXM 3 -> APIC 118 -> Node 3
SRAT: PXM 3 -> APIC 119 -> Node 3
SRAT: Node 0 PXM 0 0-c0000000
SRAT: Node 0 PXM 0 100000000-330000000
SRAT: Node 1 PXM 1 330000000-620000000
SRAT: Node 2 PXM 2 620000000-910000000
SRAT: Node 3 PXM 3 910000000-c00000000
Bootmem setup node 0 0000000000000000-0000000330000000
NODE_DATA [0000000000001000 - 0000000000005fff]
bootmap [0000000000100000 - 0000000000165fff] pages 66
(8 early reservations) ==> bootmem [0000000000 - 0330000000]
#0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000]
#1 [0000006000 - 0000008000] TRAMPOLINE ==> [0000006000 - 0000008000]
#2 [0000200000 - 000085ab54] TEXT DATA BSS ==> [0000200000 - 000085ab54]
#3 [0037d2c000 - 0037fef770] RAMDISK ==> [0037d2c000 - 0037fef770]
#4 [000009ac00 - 0000100000] BIOS reserved ==> [000009ac00 - 0000100000]
#5 [0000008000 - 000000b000] PGTABLE ==> [0000008000 - 000000b000]
#6 [000000b000 - 0000037000] PGTABLE ==> [000000b000 - 0000037000]
#7 [0000037000 - 00000371c0] MEMNODEMAP ==> [0000037000 - 00000371c0]
Bootmem setup node 1 0000000330000000-0000000620000000
NODE_DATA [0000000330000000 - 0000000330004fff]
bootmap [0000000330005000 - 0000000330062fff] pages 5e
(8 early reservations) ==> bootmem [0330000000 - 0620000000]
#0 [0000000000 - 0000001000] BIOS data page
#1 [0000006000 - 0000008000] TRAMPOLINE
#2 [0000200000 - 000085ab54] TEXT DATA BSS
#3 [0037d2c000 - 0037fef770] RAMDISK
#4 [000009ac00 - 0000100000] BIOS reserved
#5 [0000008000 - 000000b000] PGTABLE
#6 [000000b000 - 0000037000] PGTABLE
#7 [0000037000 - 00000371c0] MEMNODEMAP
Bootmem setup node 2 0000000620000000-0000000910000000
NODE_DATA [0000000620000000 - 0000000620004fff]
bootmap [0000000620005000 - 0000000620062fff] pages 5e
(8 early reservations) ==> bootmem [0620000000 - 0910000000]
#0 [0000000000 - 0000001000] BIOS data page
#1 [0000006000 - 0000008000] TRAMPOLINE
#2 [0000200000 - 000085ab54] TEXT DATA BSS
#3 [0037d2c000 - 0037fef770] RAMDISK
#4 [000009ac00 - 0000100000] BIOS reserved
#5 [0000008000 - 000000b000] PGTABLE
#6 [000000b000 - 0000037000] PGTABLE
#7 [0000037000 - 00000371c0] MEMNODEMAP
Bootmem setup node 3 0000000910000000-0000000c00000000
NODE_DATA [0000000910000000 - 0000000910004fff]
bootmap [0000000910005000 - 0000000910062fff] pages 5e
(8 early reservations) ==> bootmem [0910000000 - 0c00000000]
#0 [0000000000 - 0000001000] BIOS data page
#1 [0000006000 - 0000008000] TRAMPOLINE
#2 [0000200000 - 000085ab54] TEXT DATA BSS
#3 [0037d2c000 - 0037fef770] RAMDISK
#4 [000009ac00 - 0000100000] BIOS reserved
#5 [0000008000 - 000000b000] PGTABLE
#6 [000000b000 - 0000037000] PGTABLE
#7 [0000037000 - 00000371c0] MEMNODEMAP
found SMP MP-table at [ffff88000009ad40] 0009ad40
[ffffe2000b280000-ffffe2000b3fffff] potential offnode page_structs
[ffffe20015700000-ffffe200157fffff] potential offnode page_structs
[ffffe2001fb80000-ffffe2001fbfffff] potential offnode page_structs
Zone PFN ranges:
DMA 0x00000000 -> 0x00001000
DMA32 0x00001000 -> 0x00100000
Normal 0x00100000 -> 0x00c00000
Movable zone start PFN for each node
early_node_map[6] active PFN ranges
0: 0x00000000 -> 0x0000009a
0: 0x00000100 -> 0x000bff4b
0: 0x00100000 -> 0x00330000
1: 0x00330000 -> 0x00620000
2: 0x00620000 -> 0x00910000
3: 0x00910000 -> 0x00c00000
ACPI: PM-Timer IO Port: 0x9c
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x06] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x07] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x10] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x11] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x16] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x17] enabled)
ACPI: LAPIC (acpi_id[0x10] lapic_id[0x20] enabled)
ACPI: LAPIC (acpi_id[0x11] lapic_id[0x21] enabled)
ACPI: LAPIC (acpi_id[0x12] lapic_id[0x26] enabled)
ACPI: LAPIC (acpi_id[0x13] lapic_id[0x27] enabled)
ACPI: LAPIC (acpi_id[0x14] lapic_id[0x30] enabled)
ACPI: LAPIC (acpi_id[0x15] lapic_id[0x31] enabled)
ACPI: LAPIC (acpi_id[0x16] lapic_id[0x36] enabled)
ACPI: LAPIC (acpi_id[0x17] lapic_id[0x37] enabled)
ACPI: LAPIC (acpi_id[0x20] lapic_id[0x40] enabled)
ACPI: LAPIC (acpi_id[0x21] lapic_id[0x41] enabled)
ACPI: LAPIC (acpi_id[0x22] lapic_id[0x46] enabled)
ACPI: LAPIC (acpi_id[0x23] lapic_id[0x47] enabled)
ACPI: LAPIC (acpi_id[0x24] lapic_id[0x50] enabled)
ACPI: LAPIC (acpi_id[0x25] lapic_id[0x51] enabled)
ACPI: LAPIC (acpi_id[0x26] lapic_id[0x56] enabled)
ACPI: LAPIC (acpi_id[0x27] lapic_id[0x57] enabled)
ACPI: LAPIC (acpi_id[0x30] lapic_id[0x60] enabled)
ACPI: LAPIC (acpi_id[0x31] lapic_id[0x61] enabled)
ACPI: LAPIC (acpi_id[0x32] lapic_id[0x66] enabled)
ACPI: LAPIC (acpi_id[0x33] lapic_id[0x67] enabled)
ACPI: LAPIC (acpi_id[0x34] lapic_id[0x70] enabled)
ACPI: LAPIC (acpi_id[0x35] lapic_id[0x71] enabled)
ACPI: LAPIC (acpi_id[0x36] lapic_id[0x76] enabled)
ACPI: LAPIC (acpi_id[0x37] lapic_id[0x77] enabled)
ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x10] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x11] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x12] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x13] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x14] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x15] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x16] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x17] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x20] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x21] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x22] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x23] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x24] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x25] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x26] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x27] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x30] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x31] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x32] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x33] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x34] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x35] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x36] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x37] dfl dfl lint[0x1])
ACPI: IOAPIC (id[0x0f] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 15, version 0, address 0xfec00000, GSI 0-35
ACPI: IOAPIC (id[0x0e] address[0xfec01000] gsi_base[36])
IOAPIC[1]: apic_id 14, version 0, address 0xfec01000, GSI 36-71
ACPI: IOAPIC (id[0x0d] address[0xfec02000] gsi_base[72])
IOAPIC[2]: apic_id 13, version 0, address 0xfec02000, GSI 72-107
ACPI: IOAPIC (id[0x0c] address[0xfec03000] gsi_base[108])
IOAPIC[3]: apic_id 12, version 0, address 0xfec03000, GSI 108-143
ACPI: IOAPIC (id[0x0b] address[0xfec04000] gsi_base[144])
IOAPIC[4]: apic_id 11, version 0, address 0xfec04000, GSI 144-179
ACPI: IOAPIC (id[0x0a] address[0xfec05000] gsi_base[180])
IOAPIC[5]: apic_id 10, version 0, address 0xfec05000, GSI 180-215
ACPI: IOAPIC (id[0x09] address[0xfec06000] gsi_base[216])
IOAPIC[6]: apic_id 9, version 0, address 0xfec06000, GSI 216-251
ACPI: IOAPIC (id[0x08] address[0xfec07000] gsi_base[252])
IOAPIC[7]: apic_id 8, version 0, address 0xfec07000, GSI 252-287
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 8 global_irq 8 low edge)
ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 low edge)
Setting APIC routing to physical flat
ACPI: HPET id: 0x10142001 base: 0xfde84000
Using ACPI (MADT) for SMP configuration information
SMP: Allowing 32 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at d4000000 (gap: d0000000:2ec00000)
PERCPU: Allocating 41400 bytes of per cpu data
Built 4 zonelists in Zone order, mobility grouping on. Total pages: 12146674
Policy zone: Normal
Kernel command line: vga=791 ip=9.47.67.239:9.47.67.50:9.47.67.1:255.255.255.0 resume=/dev/sdb1 showopts earlyprintk=serial,ttyS0,57600 console=tty0 console=ttyS0,57600 autobench_args: root=/dev/sda2 ABAT:1217345031
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 32768 bytes)
TSC calibrated against PM_TIMER
Detected 2835.488 MHz processor.
Marking TSC unstable due to TSCs unsynchronized
Console: colour dummy device 80x25
console [tty0] enabled
console handover: boot [earlyser0] -> real [ttyS0]
Checking aperture...
No AGP bridge found
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Placing software IO TLB between 0x20000000 - 0x24000000
Memory: 48530568k/50331648k available (3017k kernel code, 751372k reserved, 1697k data, 440k init)
Calibrating delay loop (skipped), value calculated using timer frequency.. <6>5670.97 BogoMIPS (lpj=11341952)
Dentry cache hash table entries: 8388608 (order: 14, 67108864 bytes)
Inode-cache hash table entries: 4194304 (order: 13, 33554432 bytes)
Mount-cache hash table entries: 256
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 0/0 -> Node 0
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
CPU0: Thermal monitoring enabled (TM1)
using mwait in idle threads.
ACPI: Core revision 20080609
irq is 1
irq is 0
irq is 3
irq is 4
irq is 5
irq is 6
irq is 7
irq is 8
irq is 9
irq is 10
irq is 11
irq is 12
irq is 13
irq is 14
irq is 15
..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
..MP-BIOS bug: 8254 timer not connected to IO-APIC
...trying to set up timer (IRQ0) through the 8259A ...
..... (found apic 0 pin 2) ...
....... failed.
...trying to set up timer as Virtual Wire IRQ...
..... works.
CPU0: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Using local APIC timer interrupts.
Detected 10.424 MHz APIC timer.
Booting processor 1/1 ip 6000
Initializing CPU#1
Calibrating delay using timer specific routine.. <6>5671.06 BogoMIPS (lpj=11342126)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 1/1 -> Node 0
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
CPU1: Thermal monitoring enabled (TM1)
CPU1: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 2/6 ip 6000
Initializing CPU#2
Calibrating delay using timer specific routine.. <6>5671.26 BogoMIPS (lpj=11342529)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 2/6 -> Node 0
CPU: Physical Processor ID: 3
CPU: Processor Core ID: 0
CPU2: Thermal monitoring enabled (TM1)
CPU2: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 3/7 ip 6000
Initializing CPU#3
Calibrating delay using timer specific routine.. <6>5671.24 BogoMIPS (lpj=11342482)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 3/7 -> Node 0
CPU: Physical Processor ID: 3
CPU: Processor Core ID: 0
CPU3: Thermal monitoring enabled (TM1)
CPU3: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 4/16 ip 6000
Initializing CPU#4
Calibrating delay using timer specific routine.. <6>5671.26 BogoMIPS (lpj=11342528)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 4/10 -> Node 0
CPU: Physical Processor ID: 8
CPU: Processor Core ID: 0
CPU4: Thermal monitoring enabled (TM1)
CPU4: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 5/17 ip 6000
Initializing CPU#5
Calibrating delay using timer specific routine.. <6>5671.27 BogoMIPS (lpj=11342548)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 5/11 -> Node 0
CPU: Physical Processor ID: 8
CPU: Processor Core ID: 0
CPU5: Thermal monitoring enabled (TM1)
CPU5: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 6/22 ip 6000
Initializing CPU#6
Calibrating delay using timer specific routine.. <6>5671.27 BogoMIPS (lpj=11342555)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 6/16 -> Node 0
CPU: Physical Processor ID: 11
CPU: Processor Core ID: 0
CPU6: Thermal monitoring enabled (TM1)
CPU6: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 7/23 ip 6000
Initializing CPU#7
Calibrating delay using timer specific routine.. <6>5671.28 BogoMIPS (lpj=11342569)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 7/17 -> Node 0
CPU: Physical Processor ID: 11
CPU: Processor Core ID: 0
CPU7: Thermal monitoring enabled (TM1)
CPU7: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 8/32 ip 6000
Initializing CPU#8
Calibrating delay using timer specific routine.. <6>5671.51 BogoMIPS (lpj=11343027)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 8/20 -> Node 1
CPU: Physical Processor ID: 16
CPU: Processor Core ID: 0
CPU8: Thermal monitoring enabled (TM1)
CPU8: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 9/33 ip 6000
Initializing CPU#9
Calibrating delay using timer specific routine.. <6>5671.54 BogoMIPS (lpj=11343090)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 9/21 -> Node 1
CPU: Physical Processor ID: 16
CPU: Processor Core ID: 0
CPU9: Thermal monitoring enabled (TM1)
CPU9: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 10/38 ip 6000
Initializing CPU#10
Calibrating delay using timer specific routine.. <6>5671.55 BogoMIPS (lpj=11343113)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 10/26 -> Node 1
CPU: Physical Processor ID: 19
CPU: Processor Core ID: 0
CPU10: Thermal monitoring enabled (TM1)
CPU10: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 11/39 ip 6000
Initializing CPU#11
Calibrating delay using timer specific routine.. <6>5671.62 BogoMIPS (lpj=11343241)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 11/27 -> Node 1
CPU: Physical Processor ID: 19
CPU: Processor Core ID: 0
CPU11: Thermal monitoring enabled (TM1)
CPU11: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 12/48 ip 6000
Initializing CPU#12
Calibrating delay using timer specific routine.. <6>5671.64 BogoMIPS (lpj=11343299)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 12/30 -> Node 1
CPU: Physical Processor ID: 24
CPU: Processor Core ID: 0
CPU12: Thermal monitoring enabled (TM1)
CPU12: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 13/49 ip 6000
Initializing CPU#13
Calibrating delay using timer specific routine.. <6>5671.57 BogoMIPS (lpj=11343142)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 13/31 -> Node 1
CPU: Physical Processor ID: 24
CPU: Processor Core ID: 0
CPU13: Thermal monitoring enabled (TM1)
CPU13: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 14/54 ip 6000
Initializing CPU#14
Calibrating delay using timer specific routine.. <6>5671.51 BogoMIPS (lpj=11343024)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 14/36 -> Node 1
CPU: Physical Processor ID: 27
CPU: Processor Core ID: 0
CPU14: Thermal monitoring enabled (TM1)
CPU14: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 15/55 ip 6000
Initializing CPU#15
Calibrating delay using timer specific routine.. <6>5671.54 BogoMIPS (lpj=11343094)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 15/37 -> Node 1
CPU: Physical Processor ID: 27
CPU: Processor Core ID: 0
CPU15: Thermal monitoring enabled (TM1)
CPU15: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 16/64 ip 6000
Initializing CPU#16
Calibrating delay using timer specific routine.. <6>5671.74 BogoMIPS (lpj=11343496)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 16/40 -> Node 2
CPU: Physical Processor ID: 32
CPU: Processor Core ID: 0
CPU16: Thermal monitoring enabled (TM1)
CPU16: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 17/65 ip 6000
Initializing CPU#17
Calibrating delay using timer specific routine.. <6>5671.74 BogoMIPS (lpj=11343493)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 17/41 -> Node 2
CPU: Physical Processor ID: 32
CPU: Processor Core ID: 0
CPU17: Thermal monitoring enabled (TM1)
CPU17: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 18/70 ip 6000
Initializing CPU#18
Calibrating delay using timer specific routine.. <6>5671.72 BogoMIPS (lpj=11343453)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 18/46 -> Node 2
CPU: Physical Processor ID: 35
CPU: Processor Core ID: 0
CPU18: Thermal monitoring enabled (TM1)
CPU18: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 19/71 ip 6000
Initializing CPU#19
Calibrating delay using timer specific routine.. <6>5671.76 BogoMIPS (lpj=11343526)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 19/47 -> Node 2
CPU: Physical Processor ID: 35
CPU: Processor Core ID: 0
CPU19: Thermal monitoring enabled (TM1)
CPU19: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 20/80 ip 6000
Initializing CPU#20
Calibrating delay using timer specific routine.. <6>5671.83 BogoMIPS (lpj=11343666)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 20/50 -> Node 2
CPU: Physical Processor ID: 40
CPU: Processor Core ID: 0
CPU20: Thermal monitoring enabled (TM1)
CPU20: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 21/81 ip 6000
Initializing CPU#21
Calibrating delay using timer specific routine.. <6>5671.64 BogoMIPS (lpj=11343295)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 21/51 -> Node 2
CPU: Physical Processor ID: 40
CPU: Processor Core ID: 0
CPU21: Thermal monitoring enabled (TM1)
CPU21: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 22/86 ip 6000
Initializing CPU#22
Calibrating delay using timer specific routine.. <6>5671.75 BogoMIPS (lpj=11343510)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 22/56 -> Node 2
CPU: Physical Processor ID: 43
CPU: Processor Core ID: 0
CPU22: Thermal monitoring enabled (TM1)
CPU22: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 23/87 ip 6000
Initializing CPU#23
Calibrating delay using timer specific routine.. <6>5671.80 BogoMIPS (lpj=11343611)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 23/57 -> Node 2
CPU: Physical Processor ID: 43
CPU: Processor Core ID: 0
CPU23: Thermal monitoring enabled (TM1)
CPU23: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 24/96 ip 6000
Initializing CPU#24
Calibrating delay using timer specific routine.. <6>5671.67 BogoMIPS (lpj=11343347)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 24/60 -> Node 3
CPU: Physical Processor ID: 48
CPU: Processor Core ID: 0
CPU24: Thermal monitoring enabled (TM1)
CPU24: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 25/97 ip 6000
Initializing CPU#25
Calibrating delay using timer specific routine.. <6>5671.65 BogoMIPS (lpj=11343308)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 25/61 -> Node 3
CPU: Physical Processor ID: 48
CPU: Processor Core ID: 0
CPU25: Thermal monitoring enabled (TM1)
CPU25: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 26/102 ip 6000
Initializing CPU#26
Calibrating delay using timer specific routine.. <6>5671.72 BogoMIPS (lpj=11343440)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 26/66 -> Node 3
CPU: Physical Processor ID: 51
CPU: Processor Core ID: 0
CPU26: Thermal monitoring enabled (TM1)
CPU26: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 27/103 ip 6000
Initializing CPU#27
Calibrating delay using timer specific routine.. <6>5671.72 BogoMIPS (lpj=11343449)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 27/67 -> Node 3
CPU: Physical Processor ID: 51
CPU: Processor Core ID: 0
CPU27: Thermal monitoring enabled (TM1)
CPU27: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 28/112 ip 6000
Initializing CPU#28
Calibrating delay using timer specific routine.. <6>5671.70 BogoMIPS (lpj=11343401)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 28/70 -> Node 3
CPU: Physical Processor ID: 56
CPU: Processor Core ID: 0
CPU28: Thermal monitoring enabled (TM1)
CPU28: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 29/113 ip 6000
Initializing CPU#29
Calibrating delay using timer specific routine.. <6>5671.69 BogoMIPS (lpj=11343384)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 29/71 -> Node 3
CPU: Physical Processor ID: 56
CPU: Processor Core ID: 0
CPU29: Thermal monitoring enabled (TM1)
CPU29: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 30/118 ip 6000
Initializing CPU#30
Calibrating delay using timer specific routine.. <6>5671.60 BogoMIPS (lpj=11343210)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 30/76 -> Node 3
CPU: Physical Processor ID: 59
CPU: Processor Core ID: 0
CPU30: Thermal monitoring enabled (TM1)
CPU30: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Booting processor 31/119 ip 6000
Initializing CPU#31
Calibrating delay using timer specific routine.. <6>5671.63 BogoMIPS (lpj=11343279)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: L3 cache: 4096K
CPU 31/77 -> Node 3
CPU: Physical Processor ID: 59
CPU: Processor Core ID: 0
CPU31: Thermal monitoring enabled (TM1)
CPU31: Intel(R) Xeon(TM) MP CPU 2.83GHz stepping 01
Brought up 32 CPUs
Total of 32 processors activated (181489.59 BogoMIPS).
net_namespace: 552 bytes
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: Using configuration type 1 for base access
PCI: IBM System x3950 detected, can skip ISA alignment
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [VP00] (0000:00)
pci 0000:00:03.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:03.0: PME# disabled
pci 0000:00:03.1: PME# supported from D0 D1 D2 D3hot
pci 0000:00:03.1: PME# disabled
pci 0000:00:03.2: PME# supported from D0 D1 D2 D3hot
pci 0000:00:03.2: PME# disabled
ACPI: PCI Root Bridge [VP01] (0000:01)
pci 0000:01:01.0: PME# supported from D3hot D3cold
pci 0000:01:01.0: PME# disabled
pci 0000:01:01.1: PME# supported from D3hot D3cold
pci 0000:01:01.1: PME# disabled
ACPI: PCI Root Bridge [VP02] (0000:02)
ACPI: PCI Root Bridge [VP03] (0000:04)
ACPI: PCI Root Bridge [VP04] (0000:06)
ACPI: PCI Root Bridge [VP05] (0000:08)
ACPI: PCI Root Bridge [VP06] (0000:0a)
ACPI: PCI Root Bridge [VP07] (0000:0c)
ACPI: PCI Root Bridge [VP10] (0000:0e)
pci 0000:0e:03.0: PME# supported from D0 D1 D2 D3hot
pci 0000:0e:03.0: PME# disabled
pci 0000:0e:03.1: PME# supported from D0 D1 D2 D3hot
pci 0000:0e:03.1: PME# disabled
pci 0000:0e:03.2: PME# supported from D0 D1 D2 D3hot
pci 0000:0e:03.2: PME# disabled
ACPI: PCI Root Bridge [VP11] (0000:0f)
pci 0000:0f:01.0: PME# supported from D3hot D3cold
pci 0000:0f:01.0: PME# disabled
pci 0000:0f:01.1: PME# supported from D3hot D3cold
pci 0000:0f:01.1: PME# disabled
ACPI: PCI Root Bridge [VP12] (0000:10)
ACPI: PCI Root Bridge [VP13] (0000:12)
ACPI: PCI Root Bridge [VP14] (0000:14)
ACPI: PCI Root Bridge [VP15] (0000:16)
ACPI: PCI Root Bridge [VP16] (0000:18)
ACPI: PCI Root Bridge [VP17] (0000:1a)
ACPI: PCI Root Bridge [VP20] (0000:1c)
pci 0000:1c:03.0: PME# supported from D0 D1 D2 D3hot
pci 0000:1c:03.0: PME# disabled
pci 0000:1c:03.1: PME# supported from D0 D1 D2 D3hot
pci 0000:1c:03.1: PME# disabled
pci 0000:1c:03.2: PME# supported from D0 D1 D2 D3hot
pci 0000:1c:03.2: PME# disabled
ACPI: PCI Root Bridge [VP21] (0000:1d)
pci 0000:1d:01.0: PME# supported from D3hot D3cold
pci 0000:1d:01.0: PME# disabled
pci 0000:1d:01.1: PME# supported from D3hot D3cold
pci 0000:1d:01.1: PME# disabled
ACPI: PCI Root Bridge [VP22] (0000:1e)
ACPI: PCI Root Bridge [VP23] (0000:20)
ACPI: PCI Root Bridge [VP24] (0000:22)
ACPI: PCI Root Bridge [VP25] (0000:24)
ACPI: PCI Root Bridge [VP26] (0000:26)
ACPI: PCI Root Bridge [VP27] (0000:28)
ACPI: PCI Root Bridge [VP30] (0000:2a)
pci 0000:2a:03.0: PME# supported from D0 D1 D2 D3hot
pci 0000:2a:03.0: PME# disabled
pci 0000:2a:03.1: PME# supported from D0 D1 D2 D3hot
pci 0000:2a:03.1: PME# disabled
pci 0000:2a:03.2: PME# supported from D0 D1 D2 D3hot
pci 0000:2a:03.2: PME# disabled
ACPI: PCI Root Bridge [VP31] (0000:2b)
pci 0000:2b:01.0: PME# supported from D3hot D3cold
pci 0000:2b:01.0: PME# disabled
pci 0000:2b:01.1: PME# supported from D3hot D3cold
pci 0000:2b:01.1: PME# disabled
ACPI: PCI Root Bridge [VP32] (0000:2c)
ACPI: PCI Root Bridge [VP33] (0000:2e)
ACPI: PCI Root Bridge [VP34] (0000:30)
ACPI: PCI Root Bridge [VP35] (0000:32)
ACPI: PCI Root Bridge [VP36] (0000:34)
ACPI: PCI Root Bridge [VP37] (0000:36)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp 00:07: IRQ 8 override to edge, low
pnp 00:0c: mem resource (0x400-0x4ff) overlaps 0000:00:01.0 BAR 6 (0x0-0x1ffff), disabling
pnp 00:0c: mem resource (0x400-0x4ff) overlaps 0000:01:02.0 BAR 6 (0x0-0x7fff), disabling
pnp 00:0c: mem resource (0x400-0x4ff) overlaps 0000:0f:02.0 BAR 6 (0x0-0x7ffff), disabling
pnp 00:0c: mem resource (0x400-0x4ff) overlaps 0000:1d:02.0 BAR 6 (0x0-0x7ffff), disabling
pnp 00:0c: mem resource (0x400-0x4ff) overlaps 0000:2b:02.0 BAR 6 (0x0-0x7ffff), disabling
pnp: PnP ACPI: found 52 devices
ACPI: ACPI bus type pnp unregistered
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
PCI-GART: No AMD northbridge found.
hpet0: at MMIO 0xfde84000, IRQs 2, 8, 0
hpet0: 3 64-bit timers, 3707069 Hz
system 00:0a: ioport range 0x400-0x47f has been reserved
system 00:0a: ioport range 0x480-0x4ff has been reserved
system 00:0a: ioport range 0x500-0x55f has been reserved
system 00:0a: ioport range 0x600-0x600 has been reserved
system 00:0a: ioport range 0x800-0x803 has been reserved
system 00:0a: ioport range 0xc00-0xc8f has been reserved
system 00:0a: ioport range 0xc90-0xc9f has been reserved
system 00:0a: ioport range 0xca0-0xca7 has been reserved
system 00:0a: ioport range 0xca9-0xcab has been reserved
system 00:0a: ioport range 0xcad-0xcaf has been reserved
system 00:0a: ioport range 0xcb0-0xcdf has been reserved
system 00:0a: ioport range 0xf50-0xf5f has been reserved
system 00:0b: ioport range 0xca8-0xca8 has been reserved
system 00:0b: ioport range 0xcac-0xcac has been reserved
system 00:0d: iomem range 0xfde84000-0xfde843ff has been reserved
system 00:18: ioport range 0x80a8-0x80a8 has been reserved
system 00:18: ioport range 0x80ac-0x80ac has been reserved
system 00:22: ioport range 0xf0a8-0xf0a8 has been reserved
system 00:22: ioport range 0xf0ac-0xf0ac has been reserved
system 00:2c: ioport range 0xf8a8-0xf8a8 has been reserved
system 00:2c: ioport range 0xf8ac-0xf8ac has been reserved
NET: Registered protocol family 2
IP route cache hash table entries: 2097152 (order: 12, 16777216 bytes)
TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP reno registered
NET: Registered protocol family 1
Unpacking initramfs... done
Freeing initrd memory: 2829k freed
HugeTLB registered 2 MB page size, pre-allocated 0 pages
msgmni has been set to 32768
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Linux agpgart interface v0.103
Serial: 8250/16550 driver4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:03: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:04: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Intel(R) PRO/1000 Network Driver - version 7.3.20-k3-NAPI
Copyright (c) 1999-2006 Intel Corporation.
tg3.c:v3.93 (May 22, 2008)
irq is 24
tg3 0000:01:01.0: PCI INT A -> GSI 24 (level, low) -> IRQ 24
eth0: Tigon3 [partno(BCM95704A6) rev 2100 PHY(5704)] (PCIX:66MHz:64-bit) 10/100/1000Base-T Ethernet 00:0d:60:98:63:54
eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] WireSpeed[1] TSOcap[0]
eth0: dma_rwctrl[769f0000] dma_mask[64-bit]
irq is 28
tg3 0000:01:01.1: PCI INT B -> GSI 28 (level, low) -> IRQ 28
eth1: Tigon3 [partno(BCM95704A6) rev 2100 PHY(5704)] (PCIX:66MHz:64-bit) 10/100/1000Base-T Ethernet 00:0d:60:98:63:55
eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[1]
eth1: dma_rwctrl[769f0000] dma_mask[64-bit]
irq is 96
tg3 0000:0f:01.0: PCI INT A -> GSI 96 (level, low) -> IRQ 96
eth2: Tigon3 [partno(BCM95704A6) rev 2100 PHY(5704)] (PCIX:66MHz:64-bit) 10/100/1000Base-T Ethernet 00:14:5e:1c:45:0c
eth2: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] WireSpeed[1] TSOcap[0]
eth2: dma_rwctrl[769f0000] dma_mask[64-bit]
irq is 100
tg3 0000:0f:01.1: PCI INT B -> GSI 100 (level, low) -> IRQ 100
eth3: Tigon3 [partno(BCM95704A6) rev 2100 PHY(5704)] (PCIX:66MHz:64-bit) 10/100/1000Base-T Ethernet 00:14:5e:1c:45:0d
eth3: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[1]
eth3: dma_rwctrl[769f0000] dma_mask[64-bit]
irq is 168
tg3 0000:1d:01.0: PCI INT A -> GSI 168 (level, low) -> IRQ 168
eth4: Tigon3 [partno(BCM95704A6) rev 2100 PHY(5704)] (PCIX:66MHz:64-bit) 10/100/1000Base-T Ethernet 00:14:5e:1c:45:6c
eth4: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] WireSpeed[1] TSOcap[0]
eth4: dma_rwctrl[769f0000] dma_mask[64-bit]
irq is 172
tg3 0000:1d:01.1: PCI INT B -> GSI 172 (level, low) -> IRQ 172
eth5: Tigon3 [partno(BCM95704A6) rev 2100 PHY(5704)] (PCIX:66MHz:64-bit) 10/100/1000Base-T Ethernet 00:14:5e:1c:45:6d
eth5: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[1]
eth5: dma_rwctrl[769f0000] dma_mask[64-bit]
irq is 240
------------[ cut here ]------------
kernel BUG at arch/x86/kernel/io_apic_64.c:357!
invalid opcode: 0000 [1] SMP
CPU 24
Modules linked in:
Pid: 1, comm: swapper Not tainted 2.6.27-rc1-autokern1 #1
RIP: 0010:[<ffffffff8021bb2e>] [<ffffffff8021bb2e>] add_pin_to_irq+0x8e/0xa0
RSP: 0018:ffff88032e4b9b30 EFLAGS: 00010216
RAX: 00000000000000f0 RBX: 00000000000000f0 RCX: 0000000000000000
RDX: 000000000000afaf RSI: 0000000000000046 RDI: ffffffff80738234
RBP: 0000000000000006 R08: 0000000000000000 R09: ffff8800280992c0
R10: 0000000000000000 R11: ffffffff80372060 R12: 0000000000000018
R13: 0000000000000001 R14: 0000000000000018 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff880bfe733540(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 0000000000201000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 1, threadinfo ffff88032e4b8000, task ffff880bfe4ca050)
Stack: 00000000000000f0 0000000000000006 0000000000000001 ffffffff8021bbbe
00000000000000f0 0000000000000001 0000000000000000 ffff88032e4b9c0c
00000000000000f0 ffffffff80218d81 00000000000000f0 0000000000000000
Call Trace:
[<ffffffff8021bbbe>] ? io_apic_set_pci_routing+0x7e/0xa0
[<ffffffff80218d81>] ? mp_register_gsi+0xb1/0xd0
[<ffffffff80218e0c>] ? acpi_register_gsi+0x6c/0x70
[<ffffffff80392f30>] ? acpi_pci_irq_enable+0x178/0x260
[<ffffffff80392cdd>] ? acpi_pci_allocate_irq+0x0/0x4c
[<ffffffff80370657>] ? pci_enable_resources+0x27/0x160
[<ffffffff8036be6a>] ? do_pci_enable_device+0x4a/0x70
[<ffffffff8036bee1>] ? __pci_enable_device_flags+0x51/0x60
[<ffffffff804e01e8>] ? tg3_init_one+0x58/0x1640
[<ffffffff8022a980>] ? default_wake_function+0x0/0x10
[<ffffffff8022efd8>] ? set_cpus_allowed_ptr+0xe8/0x110
[<ffffffff8036e28f>] ? pci_device_probe+0xdf/0x130
[<ffffffff803c2416>] ? driver_probe_device+0x96/0x1a0
[<ffffffff803c25a9>] ? __driver_attach+0x89/0x90
[<ffffffff803c2520>] ? __driver_attach+0x0/0x90
[<ffffffff803c1a8d>] ? bus_for_each_dev+0x4d/0x80
[<ffffffff8028e168>] ? kmem_cache_alloc+0xc8/0xf0
[<ffffffff803c1f7e>] ? bus_add_driver+0xae/0x220
[<ffffffff803c2836>] ? driver_register+0x56/0x130
[<ffffffff8036e548>] ? __pci_register_driver+0x68/0xb0
[<ffffffff806cf8e0>] ? tg3_init+0x0/0x20
[<ffffffff806b15b1>] ? do_one_initcall+0x41/0x180
[<ffffffff802d8a08>] ? create_proc_entry+0x58/0xa0
[<ffffffff80261cc4>] ? register_irq_proc+0xd4/0xf0
[<ffffffff806b1b53>] ? kernel_init+0x133/0x190
[<ffffffff8020c529>] ? child_rip+0xa/0x11
[<ffffffff806b1a20>] ? kernel_init+0x0/0x190
[<ffffffff8020c51f>] ? child_rip+0x0/0x11
Code: 89 05 2b 54 42 00 7f 27 48 0f bf c1 48 8d 14 00 48 c1 e0 03 48 29 d0 48 8d 90 c0 5e 73 80 66 89 2a 66 44 89 62 02 5b 5d 41 5c c3 <0f> 0b eb fe 48 c7 c7 c8 db 5c 80 31 c0 e8 60 7e 01 00 48 83 ec
RIP [<ffffffff8021bb2e>] add_pin_to_irq+0x8e/0xa0
RSP <ffff88032e4b9b30>
---[ end trace 3fb0f344137669fa ]---
Kernel panic - not syncing: Attempted to kill init!
-- 0:conmux-control -- time-stamp -- Jul/29/08 8:31:21 --
-- 0:conmux-control -- time-stamp -- Jul/29/08 8:34:53 --
(user:dhavalgiani@in.ibm.com) disconnected
-- 0:conmux-control -- time-stamp -- Jul/29/08 8:36:53 --
-- 0:conmux-control -- time-stamp -- Jul/29/08 8:44:01 --
(bot:conmon-payload) disconnected
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 16:09 kernel BUG at arch/x86/kernel/io_apic_64.c:357! Dhaval Giani
@ 2008-07-29 18:35 ` Yinghai Lu
2008-07-29 19:20 ` Yinghai Lu
0 siblings, 1 reply; 17+ messages in thread
From: Yinghai Lu @ 2008-07-29 18:35 UTC (permalink / raw)
To: Dhaval Giani; +Cc: Thomas Gleixner, Ingo Molnar, lkml
On Tue, Jul 29, 2008 at 9:09 AM, Dhaval Giani <dhaval@linux.vnet.ibm.com> wrote:
> Hi Ingo, Thomas,
>
> Hit this on 2.6.27-rc1
>
> (The kernel bug is at line 356 (Its 357 as I applied a debug patch to
> print out the irq) (Full dmesg and .config attached)
can you boot with "debug apic=verbose pci=routeirq"?
YH
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 18:35 ` Yinghai Lu
@ 2008-07-29 19:20 ` Yinghai Lu
2008-07-29 20:14 ` Eric W. Biederman
2008-07-29 20:21 ` Dhaval Giani
0 siblings, 2 replies; 17+ messages in thread
From: Yinghai Lu @ 2008-07-29 19:20 UTC (permalink / raw)
To: Dhaval Giani
Cc: Thomas Gleixner, Ingo Molnar, lkml, Eric W. Biederman,
Mike Travis
[-- Attachment #1: Type: text/plain, Size: 428 bytes --]
On Tue, Jul 29, 2008 at 11:35 AM, Yinghai Lu <yhlu.kernel@gmail.com> wrote:
> On Tue, Jul 29, 2008 at 9:09 AM, Dhaval Giani <dhaval@linux.vnet.ibm.com> wrote:
>> Hi Ingo, Thomas,
>>
>> Hit this on 2.6.27-rc1
>>
>> (The kernel bug is at line 356 (Its 357 as I applied a debug patch to
>> print out the irq) (Full dmesg and .config attached)
>
> can you boot with "debug apic=verbose pci=routeirq"?
please try attached patch
YH
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: nr_irqs.patch --]
[-- Type: text/x-patch; name=nr_irqs.patch, Size: 1437 bytes --]
[PATCH] x86: 64bit support more than 256 irq
because 64bit allow same vector for different cpu to serve different irq
also change next in irq_pin_list from short to next. because for 4096 NR_IRQS
is 2^(5+12)+224.
need to create that array dynamically later
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
---
arch/x86/kernel/io_apic_64.c | 3 ++-
include/asm-x86/irq_vectors.h | 6 +++++-
2 files changed, 7 insertions(+), 2 deletions(-)
Index: linux-2.6/include/asm-x86/irq_vectors.h
===================================================================
--- linux-2.6.orig/include/asm-x86/irq_vectors.h
+++ linux-2.6/include/asm-x86/irq_vectors.h
@@ -113,9 +113,13 @@
# if defined(CONFIG_X86_IO_APIC) || defined(CONFIG_PARAVIRT) || defined(CONFIG_X86_VISWS)
+#ifdef CONFIG_X86_64
+# define NR_IRQS (32 * NR_CPUS + 224)
+#else
# define NR_IRQS 224
+#endif
-# if (224 >= 32 * NR_CPUS)
+# if (NR_IRQS >= 32 * NR_CPUS)
# define NR_IRQ_VECTORS NR_IRQS
# else
# define NR_IRQ_VECTORS (32 * NR_CPUS)
Index: linux-2.6/arch/x86/kernel/io_apic_64.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/io_apic_64.c
+++ linux-2.6/arch/x86/kernel/io_apic_64.c
@@ -140,7 +140,8 @@ DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BU
*/
static struct irq_pin_list {
- short apic, pin, next;
+ short apic, pin;
+ int next;
} irq_2_pin[PIN_MAP_SIZE];
struct io_apic {
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 19:20 ` Yinghai Lu
@ 2008-07-29 20:14 ` Eric W. Biederman
2008-07-29 20:37 ` Yinghai Lu
2008-07-29 22:17 ` Mike Travis
2008-07-29 20:21 ` Dhaval Giani
1 sibling, 2 replies; 17+ messages in thread
From: Eric W. Biederman @ 2008-07-29 20:14 UTC (permalink / raw)
To: Yinghai Lu; +Cc: Dhaval Giani, Thomas Gleixner, Ingo Molnar, lkml, Mike Travis
"Yinghai Lu" <yhlu.kernel@gmail.com> writes:
> On Tue, Jul 29, 2008 at 11:35 AM, Yinghai Lu <yhlu.kernel@gmail.com> wrote:
>> On Tue, Jul 29, 2008 at 9:09 AM, Dhaval Giani <dhaval@linux.vnet.ibm.com>
> wrote:
>>> Hi Ingo, Thomas,
>>>
>>> Hit this on 2.6.27-rc1
>>>
>>> (The kernel bug is at line 356 (Its 357 as I applied a debug patch to
>>> print out the irq) (Full dmesg and .config attached)
>>
>> can you boot with "debug apic=verbose pci=routeirq"?
>
> please try attached patch
Ugh. Yuck bleh nasty gag.
Yes please try the YH's patch that should fix the worst of the
problem.
YH I think you have hit the root cause of the bug with NR_IRQS being
defined a ridiculously low value on x86_64. At first glance your
patch looks reasonable, I had to stop and look why it was needed. At
second glance it looks like it doesn't go far enough.
The commit that unified interrupt vector defines appears substantially
fumbled. YH your description of why your patch is needed is not
especially useful.
To be perfectly clear. The maximum number of interrupts we can handle is:
NR_CPUS*NR_VECTORS. Defining NR_IRQS to a lower value is essentially a
hack to allows us to use less memory as we seldom push that limit.
Further the only valid definition of NR_IRQ_VECTORS is NR_IRQS
as we index it by irq. Which really means now that we are unifying
the code we should simply kill NR_IRQ_VECTORS.
I expect there is a lot more in that mess that can be cleaned up.
Right now irq_vectors.h reads like nonsense to me. I will see if
I can find some time soon to look into what we should be doing.
Increasing the size of the next field in the irq_pin_list is a good
idea. Frankly I think we never use the next field (especially on
x86_64 and should just remove it) but I have not been brave enough
to try.
commit 9b7dc567d03d74a1fbae84e88949b6a60d922d82
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Fri May 2 20:10:09 2008 +0200
x86: unify interrupt vector defines
The interrupt vector defines are copied 4 times around with minimal
differences. Move them all into asm-x86/irq_vectors.h
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
> [PATCH] x86: 64bit support more than 256 irq
>
> because 64bit allow same vector for different cpu to serve different irq
>
> also change next in irq_pin_list from short to next. because for 4096 NR_IRQS
> is 2^(5+12)+224.
>
> need to create that array dynamically later
>
> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
>
> ---
> arch/x86/kernel/io_apic_64.c | 3 ++-
> include/asm-x86/irq_vectors.h | 6 +++++-
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> Index: linux-2.6/include/asm-x86/irq_vectors.h
> ===================================================================
> --- linux-2.6.orig/include/asm-x86/irq_vectors.h
> +++ linux-2.6/include/asm-x86/irq_vectors.h
> @@ -113,9 +113,13 @@
>
> # if defined(CONFIG_X86_IO_APIC) || defined(CONFIG_PARAVIRT) ||
> defined(CONFIG_X86_VISWS)/include/asm-x86/irq_vectors.h
>
> +#ifdef CONFIG_X86_64
> +# define NR_IRQS (32 * NR_CPUS + 224)
> +#else
> # define NR_IRQS 224
> +#endif
>
> -# if (224 >= 32 * NR_CPUS)
> +# if (NR_IRQS >= 32 * NR_CPUS)
> # define NR_IRQ_VECTORS NR_IRQS
> # else
> # define NR_IRQ_VECTORS (32 * NR_CPUS)
> Index: linux-2.6/arch/x86/kernel/io_apic_64.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/kernel/io_apic_64.c
> +++ linux-2.6/arch/x86/kernel/io_apic_64.c
> @@ -140,7 +140,8 @@ DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BU
> */
>
> static struct irq_pin_list {
> - short apic, pin, next;
> + short apic, pin;
> + int next;
> } irq_2_pin[PIN_MAP_SIZE];
>
> struct io_apic {
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 19:20 ` Yinghai Lu
2008-07-29 20:14 ` Eric W. Biederman
@ 2008-07-29 20:21 ` Dhaval Giani
1 sibling, 0 replies; 17+ messages in thread
From: Dhaval Giani @ 2008-07-29 20:21 UTC (permalink / raw)
To: Yinghai Lu
Cc: Thomas Gleixner, Ingo Molnar, lkml, Eric W. Biederman,
Mike Travis
On Tue, Jul 29, 2008 at 12:20:01PM -0700, Yinghai Lu wrote:
> On Tue, Jul 29, 2008 at 11:35 AM, Yinghai Lu <yhlu.kernel@gmail.com> wrote:
> > On Tue, Jul 29, 2008 at 9:09 AM, Dhaval Giani <dhaval@linux.vnet.ibm.com> wrote:
> >> Hi Ingo, Thomas,
> >>
> >> Hit this on 2.6.27-rc1
> >>
> >> (The kernel bug is at line 356 (Its 357 as I applied a debug patch to
> >> print out the irq) (Full dmesg and .config attached)
> >
> > can you boot with "debug apic=verbose pci=routeirq"?
>
> please try attached patch
>
Thanks. The patch gets my system to boot.
--
regards,
Dhaval
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 20:14 ` Eric W. Biederman
@ 2008-07-29 20:37 ` Yinghai Lu
2008-07-29 22:17 ` Mike Travis
1 sibling, 0 replies; 17+ messages in thread
From: Yinghai Lu @ 2008-07-29 20:37 UTC (permalink / raw)
To: Eric W. Biederman
Cc: Dhaval Giani, Thomas Gleixner, Ingo Molnar, lkml, Mike Travis
On Tue, Jul 29, 2008 at 1:14 PM, Eric W. Biederman
<ebiederm@xmission.com> wrote:
> "Yinghai Lu" <yhlu.kernel@gmail.com> writes:
>
>> On Tue, Jul 29, 2008 at 11:35 AM, Yinghai Lu <yhlu.kernel@gmail.com> wrote:
>>> On Tue, Jul 29, 2008 at 9:09 AM, Dhaval Giani <dhaval@linux.vnet.ibm.com>
>> wrote:
>>>> Hi Ingo, Thomas,
>>>>
>>>> Hit this on 2.6.27-rc1
>>>>
>>>> (The kernel bug is at line 356 (Its 357 as I applied a debug patch to
>>>> print out the irq) (Full dmesg and .config attached)
>>>
>>> can you boot with "debug apic=verbose pci=routeirq"?
>>
>> please try attached patch
>
> Ugh. Yuck bleh nasty gag.
>
> Yes please try the YH's patch that should fix the worst of the
> problem.
>
> YH I think you have hit the root cause of the bug with NR_IRQS being
> defined a ridiculously low value on x86_64. At first glance your
> patch looks reasonable, I had to stop and look why it was needed. At
> second glance it looks like it doesn't go far enough.
x3950 has 8 ioapic
ACPI: IOAPIC (id[0x0f] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 15, version 0, address 0xfec00000, GSI 0-35
ACPI: IOAPIC (id[0x0e] address[0xfec01000] gsi_base[36])
IOAPIC[1]: apic_id 14, version 0, address 0xfec01000, GSI 36-71
ACPI: IOAPIC (id[0x0d] address[0xfec02000] gsi_base[72])
IOAPIC[2]: apic_id 13, version 0, address 0xfec02000, GSI 72-107
ACPI: IOAPIC (id[0x0c] address[0xfec03000] gsi_base[108])
IOAPIC[3]: apic_id 12, version 0, address 0xfec03000, GSI 108-143
ACPI: IOAPIC (id[0x0b] address[0xfec04000] gsi_base[144])
IOAPIC[4]: apic_id 11, version 0, address 0xfec04000, GSI 144-179
ACPI: IOAPIC (id[0x0a] address[0xfec05000] gsi_base[180])
IOAPIC[5]: apic_id 10, version 0, address 0xfec05000, GSI 180-215
ACPI: IOAPIC (id[0x09] address[0xfec06000] gsi_base[216])
IOAPIC[6]: apic_id 9, version 0, address 0xfec06000, GSI 216-251
ACPI: IOAPIC (id[0x08] address[0xfec07000] gsi_base[252])
IOAPIC[7]: apic_id 8, version 0, address 0xfec07000, GSI 252-287
that is crazy. I only played that kind of layout in SimNow.
>
> The commit that unified interrupt vector defines appears substantially
> fumbled. YH your description of why your patch is needed is not
> especially useful.
>
> To be perfectly clear. The maximum number of interrupts we can handle is:
> NR_CPUS*NR_VECTORS. Defining NR_IRQS to a lower value is essentially a
> hack to allows us to use less memory as we seldom push that limit.
>
> Further the only valid definition of NR_IRQ_VECTORS is NR_IRQS
> as we index it by irq. Which really means now that we are unifying
> the code we should simply kill NR_IRQ_VECTORS.
>
> I expect there is a lot more in that mess that can be cleaned up.
> Right now irq_vectors.h reads like nonsense to me. I will see if
> I can find some time soon to look into what we should be doing.
good.
wonder if you can make 32bit support same vector on different cpu
support different irq.
or not needed.
also we should dump the irq balance on 32 bit kernel.
YH
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 20:14 ` Eric W. Biederman
2008-07-29 20:37 ` Yinghai Lu
@ 2008-07-29 22:17 ` Mike Travis
2008-07-29 22:21 ` Yinghai Lu
2008-07-29 23:12 ` Eric W. Biederman
1 sibling, 2 replies; 17+ messages in thread
From: Mike Travis @ 2008-07-29 22:17 UTC (permalink / raw)
To: Eric W. Biederman
Cc: Yinghai Lu, Dhaval Giani, Thomas Gleixner, Ingo Molnar, lkml,
Jack Steiner, Alan Mayer, Cliff Wickman
Eric W. Biederman wrote:
> "Yinghai Lu" <yhlu.kernel@gmail.com> writes:
>
>> On Tue, Jul 29, 2008 at 11:35 AM, Yinghai Lu <yhlu.kernel@gmail.com> wrote:
>>> On Tue, Jul 29, 2008 at 9:09 AM, Dhaval Giani <dhaval@linux.vnet.ibm.com>
>> wrote:
>>>> Hi Ingo, Thomas,
>>>>
>>>> Hit this on 2.6.27-rc1
>>>>
>>>> (The kernel bug is at line 356 (Its 357 as I applied a debug patch to
>>>> print out the irq) (Full dmesg and .config attached)
>>> can you boot with "debug apic=verbose pci=routeirq"?
>> please try attached patch
I didn't follow this from the start but one reason why NR_IRQS based on
NR_CPUS is a bad idea, is the huge (nearly 300Mb) increase in memory usage
(that's mostly wasted.) I believe there's another patch coming real soon
now to make irq allocations dynamic. (I had also hoped to look closer at
your irq abstraction patch you sent a while back. Does that also address
this issue?)
But this would be a show stopper for SGI being able to ship systems if the
distros do not want to waste this much memory and won't set NR_CPUS=4096.
Thanks,
Mike
====== Data (-l 500)
1 - 4k-defconfig
2 - 4k-defconfig-tmp (has this patch)
.1. .2. ..final..
258048 +150994944 151252992 +58514% irq_desc(.data.cacheline_aligned)
231168 +135266304 135497472 +58514% irq_cfg(.data.read_mostly)
3584 +2097152 2100736 +58514% irq_lists(.bss)
2688 +2098048 2100736 +78052% irq_2_pin(.bss)
1792 +1048576 1050368 +58514% irq_timer_state(.bss)
968 +524288 525256 +54161% per_cpu__kstat(.data.percpu)
498248 +292029312 292527560 +58611% Totals
====== Sections (-l 500)
1 - 4k-defconfig
2 - 4k-defconfig-tmp
.1. .2. ..final..
10379571 +292028228 302407799 +2813% Total
1118924 +5242880 6361804 +468% .bss
742016 +150994944 151736960 +20349% .data.cacheline_aligned
274416 +135266304 135540720 +49292% .data.read_mostly
44928 +524288 569216 +1166% .data.percpu
12559855 +584056644 596616499 +4650% Totals
====== Text/Data ()
1 - 4k-defconfig
2 - 4k-defconfig-tmp
.1. .2. ..final..
1118208 +5242880 6361088 +468% BssSize
1232896 +524288 1757184 +42% InitSize
45056 +524288 569344 +1163% PerCPU
1077248 +286261248 287338496 +26573% OtherSize
3473408 +292552704 296026112 +8422% Totals
>
> Ugh. Yuck bleh nasty gag.
>
> Yes please try the YH's patch that should fix the worst of the
> problem.
>
> YH I think you have hit the root cause of the bug with NR_IRQS being
> defined a ridiculously low value on x86_64. At first glance your
> patch looks reasonable, I had to stop and look why it was needed. At
> second glance it looks like it doesn't go far enough.
>
> The commit that unified interrupt vector defines appears substantially
> fumbled. YH your description of why your patch is needed is not
> especially useful.
>
> To be perfectly clear. The maximum number of interrupts we can handle is:
> NR_CPUS*NR_VECTORS. Defining NR_IRQS to a lower value is essentially a
> hack to allows us to use less memory as we seldom push that limit.
>
> Further the only valid definition of NR_IRQ_VECTORS is NR_IRQS
> as we index it by irq. Which really means now that we are unifying
> the code we should simply kill NR_IRQ_VECTORS.
>
> I expect there is a lot more in that mess that can be cleaned up.
> Right now irq_vectors.h reads like nonsense to me. I will see if
> I can find some time soon to look into what we should be doing.
>
> Increasing the size of the next field in the irq_pin_list is a good
> idea. Frankly I think we never use the next field (especially on
> x86_64 and should just remove it) but I have not been brave enough
> to try.
>
> commit 9b7dc567d03d74a1fbae84e88949b6a60d922d82
> Author: Thomas Gleixner <tglx@linutronix.de>
> Date: Fri May 2 20:10:09 2008 +0200
>
> x86: unify interrupt vector defines
>
> The interrupt vector defines are copied 4 times around with minimal
> differences. Move them all into asm-x86/irq_vectors.h
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
>
>> [PATCH] x86: 64bit support more than 256 irq
>>
>> because 64bit allow same vector for different cpu to serve different irq
>>
>> also change next in irq_pin_list from short to next. because for 4096 NR_IRQS
>> is 2^(5+12)+224.
>>
>> need to create that array dynamically later
>>
>> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
>>
>> ---
>> arch/x86/kernel/io_apic_64.c | 3 ++-
>> include/asm-x86/irq_vectors.h | 6 +++++-
>> 2 files changed, 7 insertions(+), 2 deletions(-)
>>
>> Index: linux-2.6/include/asm-x86/irq_vectors.h
>> ===================================================================
>> --- linux-2.6.orig/include/asm-x86/irq_vectors.h
>> +++ linux-2.6/include/asm-x86/irq_vectors.h
>> @@ -113,9 +113,13 @@
>>
>> # if defined(CONFIG_X86_IO_APIC) || defined(CONFIG_PARAVIRT) ||
>> defined(CONFIG_X86_VISWS)/include/asm-x86/irq_vectors.h
>>
>> +#ifdef CONFIG_X86_64
>> +# define NR_IRQS (32 * NR_CPUS + 224)
>> +#else
>> # define NR_IRQS 224
>> +#endif
>>
>> -# if (224 >= 32 * NR_CPUS)
>> +# if (NR_IRQS >= 32 * NR_CPUS)
>> # define NR_IRQ_VECTORS NR_IRQS
>> # else
>> # define NR_IRQ_VECTORS (32 * NR_CPUS)
>> Index: linux-2.6/arch/x86/kernel/io_apic_64.c
>> ===================================================================
>> --- linux-2.6.orig/arch/x86/kernel/io_apic_64.c
>> +++ linux-2.6/arch/x86/kernel/io_apic_64.c
>> @@ -140,7 +140,8 @@ DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BU
>> */
>>
>> static struct irq_pin_list {
>> - short apic, pin, next;
>> + short apic, pin;
>> + int next;
>> } irq_2_pin[PIN_MAP_SIZE];
>>
>> struct io_apic {
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 22:17 ` Mike Travis
@ 2008-07-29 22:21 ` Yinghai Lu
2008-07-29 23:12 ` Eric W. Biederman
2008-07-29 23:12 ` Eric W. Biederman
1 sibling, 1 reply; 17+ messages in thread
From: Yinghai Lu @ 2008-07-29 22:21 UTC (permalink / raw)
To: Mike Travis
Cc: Eric W. Biederman, Dhaval Giani, Thomas Gleixner, Ingo Molnar,
lkml, Jack Steiner, Alan Mayer, Cliff Wickman
On Tue, Jul 29, 2008 at 3:17 PM, Mike Travis <travis@sgi.com> wrote:
> Eric W. Biederman wrote:
>> "Yinghai Lu" <yhlu.kernel@gmail.com> writes:
>>
>>> On Tue, Jul 29, 2008 at 11:35 AM, Yinghai Lu <yhlu.kernel@gmail.com> wrote:
>>>> On Tue, Jul 29, 2008 at 9:09 AM, Dhaval Giani <dhaval@linux.vnet.ibm.com>
>>> wrote:
>>>>> Hi Ingo, Thomas,
>>>>>
>>>>> Hit this on 2.6.27-rc1
>>>>>
>>>>> (The kernel bug is at line 356 (Its 357 as I applied a debug patch to
>>>>> print out the irq) (Full dmesg and .config attached)
>>>> can you boot with "debug apic=verbose pci=routeirq"?
>>> please try attached patch
>
> I didn't follow this from the start but one reason why NR_IRQS based on
> NR_CPUS is a bad idea, is the huge (nearly 300Mb) increase in memory usage
> (that's mostly wasted.) I believe there's another patch coming real soon
> now to make irq allocations dynamic. (I had also hoped to look closer at
> your irq abstraction patch you sent a while back. Does that also address
> this issue?)
Yes.
>
> But this would be a show stopper for SGI being able to ship systems if the
> distros do not want to waste this much memory and won't set NR_CPUS=4096.
wonder if nr_irqs need to be probed dynamically too.
YH
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 22:17 ` Mike Travis
2008-07-29 22:21 ` Yinghai Lu
@ 2008-07-29 23:12 ` Eric W. Biederman
2008-07-29 23:42 ` Jeremy Fitzhardinge
1 sibling, 1 reply; 17+ messages in thread
From: Eric W. Biederman @ 2008-07-29 23:12 UTC (permalink / raw)
To: Mike Travis
Cc: Yinghai Lu, Dhaval Giani, Thomas Gleixner, Ingo Molnar, lkml,
Jack Steiner, Alan Mayer, Cliff Wickman
Mike Travis <travis@sgi.com> writes:
> I didn't follow this from the start but one reason why NR_IRQS based on
> NR_CPUS is a bad idea, is the huge (nearly 300Mb) increase in memory usage
> (that's mostly wasted.) I believe there's another patch coming real soon
> now to make irq allocations dynamic. (I had also hoped to look closer at
> your irq abstraction patch you sent a while back. Does that also address
> this issue?)
The patch I sent out earlier is one of the key patches needed for killing
NR_IRQS usage in generic code. Which is part of what we need to make this
dynamic.
In systems where the I/O is well balanced with the compute the typical
usage is usually within 16 irqs per core, and at worst 32. That is an old
rule of thumb observation and that makes for reasonable allocations.
I don't have a problem at all with your code that updated the heuristic to
be based on the NR_IOAPICS.
My problem is with Thomas's patch that totally threw out all of our tuned
heuristics and made NR_IRQS=256. Which is ludicrous. Even on 32bit systems
there are cases where 1024 irq sources needed to be supported.
Which is what NR_IRQ_VECTORS is. I goofed slightly in my comments.
irq_vector only needs to be NR_IRQS in size. I think ACPI still needs
NR_IRQ_VECTORS to know how many GSI the kernel can support. The fact they
are not mapped 1-1 right now in the 32bit kernel is unfortunate.
> But this would be a show stopper for SGI being able to ship systems if the
> distros do not want to waste this much memory and won't set NR_CPUS=4096.
Yes. We absolutely need to dynamically allocate the irq data structures. Then
we can use the irq numbers sparsely and not have problems.
I just have problems with the code setting NR_IRQS at 256 when we have single
potentially common hardware devices talking about having that many irqs on
a single device.
We really need to be able to scale to an unreasonable number of IRQs when we
have the hardware plugged into the system that will use them. Just like
we need to scale to an unreasonable number of cpus when you plug them into
a system.
I expect irqs to actually grow faster then cpus while all of the devices are
learning how to accommodate hardware virtualization. It would not surprise
me in the slightest if I can plug in the right hardware and exceed
NR_CPUS*32 irqs in an sgi machine in the next year or so.
The only problem with NR_IRQS=NR_CPUS*32 is that we pay the price on lower
end machines when we compile to support a higher cpu count.
Eric
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 22:21 ` Yinghai Lu
@ 2008-07-29 23:12 ` Eric W. Biederman
2008-07-30 0:00 ` Alan Cox
0 siblings, 1 reply; 17+ messages in thread
From: Eric W. Biederman @ 2008-07-29 23:12 UTC (permalink / raw)
To: Yinghai Lu
Cc: Mike Travis, Eric W. Biederman, Dhaval Giani, Thomas Gleixner,
Ingo Molnar, lkml, Jack Steiner, Alan Mayer, Cliff Wickman
"Yinghai Lu" <yhlu.kernel@gmail.com> writes:
>> But this would be a show stopper for SGI being able to ship systems if the
>> distros do not want to waste this much memory and won't set NR_CPUS=4096.
>
> wonder if nr_irqs need to be probed dynamically too.
NR_IRQS simply needs to die.
Eric
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 23:12 ` Eric W. Biederman
@ 2008-07-29 23:42 ` Jeremy Fitzhardinge
2008-07-30 0:01 ` Eric W. Biederman
0 siblings, 1 reply; 17+ messages in thread
From: Jeremy Fitzhardinge @ 2008-07-29 23:42 UTC (permalink / raw)
To: Eric W. Biederman
Cc: Mike Travis, Yinghai Lu, Dhaval Giani, Thomas Gleixner,
Ingo Molnar, lkml, Jack Steiner, Alan Mayer, Cliff Wickman
Eric W. Biederman wrote:
> Mike Travis <travis@sgi.com> writes:
>
>
>> I didn't follow this from the start but one reason why NR_IRQS based on
>> NR_CPUS is a bad idea, is the huge (nearly 300Mb) increase in memory usage
>> (that's mostly wasted.) I believe there's another patch coming real soon
>> now to make irq allocations dynamic. (I had also hoped to look closer at
>> your irq abstraction patch you sent a while back. Does that also address
>> this issue?)
>>
>
> The patch I sent out earlier is one of the key patches needed for killing
> NR_IRQS usage in generic code. Which is part of what we need to make this
> dynamic.
>
> In systems where the I/O is well balanced with the compute the typical
> usage is usually within 16 irqs per core, and at worst 32. That is an old
> rule of thumb observation and that makes for reasonable allocations.
>
> I don't have a problem at all with your code that updated the heuristic to
> be based on the NR_IOAPICS.
>
> My problem is with Thomas's patch that totally threw out all of our tuned
> heuristics and made NR_IRQS=256. Which is ludicrous. Even on 32bit systems
> there are cases where 1024 irq sources needed to be supported.
>
> Which is what NR_IRQ_VECTORS is. I goofed slightly in my comments.
> irq_vector only needs to be NR_IRQS in size. I think ACPI still needs
> NR_IRQ_VECTORS to know how many GSI the kernel can support. The fact they
> are not mapped 1-1 right now in the 32bit kernel is unfortunate.
>
I'm still interested in making Xen's event channel-based interrupts fit
better into the rest of the interrupt handling scheme. In particular,
event channels map very closely to the x86-64 notion of a vector.
There's 1024 of them per domain, and each is bound to a cpu. At the
moment, I map them to irqs, which means that I need to allocate around
5-6 irqs per cpu, which makes everything very cluttered. I'd like to
map event channels to vectors, and then map vectors to (irq,cpu) tuples.
From what I've seen this is exactly how x86-64 currently has things set
up, and I'm interested in making sure that 32-bit does the same thing.
I'm also interested in having vectors being sourced from multiple
interrupt controllers. So, some vectors would be sourced from APICs,
and other are sourced from event channels. This would be useful for Xen
domains which have direct access to hardware (ie, the dom0 control
domain in the short term, and disaggregated driver domains later on),
and fully emulated domains which have paravirtual drivers.
I haven't studied the current code to see if this notion already exists
or not.
While the APIC interrupt model is the most architecturally important for
the x86 platform, I'd like to make sure we don't build in the assumption
that it's the *only* interrupt model.
J
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 23:12 ` Eric W. Biederman
@ 2008-07-30 0:00 ` Alan Cox
2008-07-30 1:29 ` Eric W. Biederman
0 siblings, 1 reply; 17+ messages in thread
From: Alan Cox @ 2008-07-30 0:00 UTC (permalink / raw)
To: Eric W. Biederman
Cc: Yinghai Lu, Mike Travis, Eric W. Biederman, Dhaval Giani,
Thomas Gleixner, Ingo Molnar, lkml, Jack Steiner, Alan Mayer,
Cliff Wickman
On Tue, 29 Jul 2008 16:12:50 -0700
ebiederm@xmission.com (Eric W. Biederman) wrote:
> "Yinghai Lu" <yhlu.kernel@gmail.com> writes:
>
> >> But this would be a show stopper for SGI being able to ship systems if the
> >> distros do not want to waste this much memory and won't set NR_CPUS=4096.
> >
> > wonder if nr_irqs need to be probed dynamically too.
>
> NR_IRQS simply needs to die.
Agreed - it would also be nice to bite the bullet at the same time and
stop using dev->irq as an integer in an increasingly fake and imaginary
numberspace and instead make it an object with a description and other
properties. That would make "no IRQ" NULL, let us display meaningful IRQ
strings and the like as well as ensuring nobody tries to abuse NR_IRQ and
hardcoded similar knowledge for arrays
Alan
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-29 23:42 ` Jeremy Fitzhardinge
@ 2008-07-30 0:01 ` Eric W. Biederman
2008-07-30 0:50 ` Jeremy Fitzhardinge
0 siblings, 1 reply; 17+ messages in thread
From: Eric W. Biederman @ 2008-07-30 0:01 UTC (permalink / raw)
To: Jeremy Fitzhardinge
Cc: Mike Travis, Yinghai Lu, Dhaval Giani, Thomas Gleixner,
Ingo Molnar, lkml, Jack Steiner, Alan Mayer, Cliff Wickman
Jeremy Fitzhardinge <jeremy@goop.org> writes:
> I'm still interested in making Xen's event channel-based interrupts fit better
> into the rest of the interrupt handling scheme. In particular, event channels
> map very closely to the x86-64 notion of a vector. There's 1024 of them per
> domain, and each is bound to a cpu. At the moment, I map them to irqs, which
> means that I need to allocate around 5-6 irqs per cpu, which makes everything
> very cluttered. I'd like to map event channels to vectors, and then map vectors
> to (irq,cpu) tuples.
Uh.... I'm not certain this applies.
> From what I've seen this is exactly how x86-64 currently has things set up, and
> I'm interested in making sure that 32-bit does the same thing.
Yes. x86_32 needs work to get cleaned up.
The architecture on x86_64 is as follows.
We have interrupt sources: GSIs in the case of acpi.
We have linux interupts: something with an irq number.
Vectors are an internal implementation detail.
I don't know if your event channels more closely resemble interrupt sources or internal
implementation details. If they are an implementation detail that interrupt sources
just flow through we should hide them like we do vectors. If event channels actually are
the sources of interrupts we should do something different.
> I'm also interested in having vectors being sourced from multiple interrupt
> controllers. So, some vectors would be sourced from APICs, and other are
> sourced from event channels. This would be useful for Xen domains which have
> direct access to hardware (ie, the dom0 control domain in the short term, and
> disaggregated driver domains later on), and fully emulated domains which have
> paravirtual drivers.
Generally easy except for the disparate methods of catching interrupts.
> I haven't studied the current code to see if this notion already exists or not.
>
> While the APIC interrupt model is the most architecturally important for the x86
> platform, I'd like to make sure we don't build in the assumption that it's the
> *only* interrupt model.
Well with iommus starting to show up in our irq paths it looks we are going to get
a lot of diversity.
Eric
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-30 0:01 ` Eric W. Biederman
@ 2008-07-30 0:50 ` Jeremy Fitzhardinge
2008-07-30 1:36 ` Eric W. Biederman
0 siblings, 1 reply; 17+ messages in thread
From: Jeremy Fitzhardinge @ 2008-07-30 0:50 UTC (permalink / raw)
To: Eric W. Biederman
Cc: Mike Travis, Yinghai Lu, Dhaval Giani, Thomas Gleixner,
Ingo Molnar, lkml, Jack Steiner, Alan Mayer, Cliff Wickman
Eric W. Biederman wrote:
>> I'm still interested in making Xen's event channel-based interrupts fit better
>> into the rest of the interrupt handling scheme. In particular, event channels
>> map very closely to the x86-64 notion of a vector. There's 1024 of them per
>> domain, and each is bound to a cpu. At the moment, I map them to irqs, which
>> means that I need to allocate around 5-6 irqs per cpu, which makes everything
>> very cluttered. I'd like to map event channels to vectors, and then map vectors
>> to (irq,cpu) tuples.
>>
>
> Uh.... I'm not certain this applies.
>
No, but, hey, it's a hook.
>> From what I've seen this is exactly how x86-64 currently has things set up, and
>> I'm interested in making sure that 32-bit does the same thing.
>>
>
> Yes. x86_32 needs work to get cleaned up.
>
> The architecture on x86_64 is as follows.
>
> We have interrupt sources: GSIs in the case of acpi.
> We have linux interupts: something with an irq number.
>
> Vectors are an internal implementation detail.
>
> I don't know if your event channels more closely resemble interrupt sources or internal
> implementation details. If they are an implementation detail that interrupt sources
> just flow through we should hide them like we do vectors. If event channels actually are
> the sources of interrupts we should do something different.
>
They're an interrupt source, I guess. They need to be behind some layer
of indirection because they can be reassigned at arbitrary times (like
suspend/resume, or if the backend driver just decided to disconnect
itself), and so they need to get rebound to at least the same irq.
>> I'm also interested in having vectors being sourced from multiple interrupt
>> controllers. So, some vectors would be sourced from APICs, and other are
>> sourced from event channels. This would be useful for Xen domains which have
>> direct access to hardware (ie, the dom0 control domain in the short term, and
>> disaggregated driver domains later on), and fully emulated domains which have
>> paravirtual drivers.
>>
>
> Generally easy except for the disparate methods of catching interrupts.
>
Catching in what sense? I assume the interrupt gets raised in some
source-specific way, and then passed into a generic layer where it
eventually gets matched with an appropriate handler. I'm sure there's
some subtlety I'm missing.
>> I haven't studied the current code to see if this notion already exists or not.
>>
>> While the APIC interrupt model is the most architecturally important for the x86
>> platform, I'd like to make sure we don't build in the assumption that it's the
>> *only* interrupt model.
>>
>
> Well with iommus starting to show up in our irq paths it looks we are going to get
> a lot of diversity.
>
> Eric
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-30 0:00 ` Alan Cox
@ 2008-07-30 1:29 ` Eric W. Biederman
0 siblings, 0 replies; 17+ messages in thread
From: Eric W. Biederman @ 2008-07-30 1:29 UTC (permalink / raw)
To: Alan Cox
Cc: Yinghai Lu, Mike Travis, Dhaval Giani, Thomas Gleixner,
Ingo Molnar, lkml, Jack Steiner, Alan Mayer, Cliff Wickman
Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
> On Tue, 29 Jul 2008 16:12:50 -0700
> ebiederm@xmission.com (Eric W. Biederman) wrote:
>
>> "Yinghai Lu" <yhlu.kernel@gmail.com> writes:
>>
>> >> But this would be a show stopper for SGI being able to ship systems if the
>> >> distros do not want to waste this much memory and won't set NR_CPUS=4096.
>> >
>> > wonder if nr_irqs need to be probed dynamically too.
>>
>> NR_IRQS simply needs to die.
>
> Agreed - it would also be nice to bite the bullet at the same time and
> stop using dev->irq as an integer in an increasingly fake and imaginary
> numberspace and instead make it an object with a description and other
> properties. That would make "no IRQ" NULL, let us display meaningful IRQ
> strings and the like as well as ensuring nobody tries to abuse NR_IRQ and
> hardcoded similar knowledge for arrays
Unfortunately that is extremely expensive and hard. Plus with NR_IRQs
going away the irq number space becomes sparse enough that the irq
numbers can become stable between boots, and as meaningful as they
have ever been. At least for userspace an irq number is part of the
ABI so we will need one for the forseeable future.
We really need to change architecture specific code/generic irq code
first, preserving the number based interface to the drivers. Then if
it looks useful change the drivers.
I would like nothing better then to change fields from "int irq" to
"struct irq_desc *irq" but unless we want to do a 2.7 we need a migration
path. So we can change drivers slowly. Which means providing both
interfaces in parallel for a while.
So it makes most sense to me to change everything beneath interfaces still
taking irq numbers (because that is where we get the performance and the
scalability improvements). Then push forward with driver level changes.
Eric
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-30 0:50 ` Jeremy Fitzhardinge
@ 2008-07-30 1:36 ` Eric W. Biederman
2008-08-01 17:48 ` Jeremy Fitzhardinge
0 siblings, 1 reply; 17+ messages in thread
From: Eric W. Biederman @ 2008-07-30 1:36 UTC (permalink / raw)
To: Jeremy Fitzhardinge
Cc: Mike Travis, Yinghai Lu, Dhaval Giani, Thomas Gleixner,
Ingo Molnar, lkml, Jack Steiner, Alan Mayer, Cliff Wickman
Jeremy Fitzhardinge <jeremy@goop.org> writes:
>> Generally easy except for the disparate methods of catching interrupts.
>>
>
> Catching in what sense? I assume the interrupt gets raised in some
> source-specific way, and then passed into a generic layer where it eventually
> gets matched with an appropriate handler. I'm sure there's some subtlety I'm
> missing.
Sorry. Probably too much context in my head.
The model I use is irq sources throw interrupts and then the cpus catch them.
Sometimes those in flight irqs go through several transformations.
Given that the event channels that logical irq are bound to change over time
I would say they appear to be not irq sources. Those are the physical
lines coming out of hardware devices (if physical), and the equivalent
parts of the hardware when the irqs are sent message based.
So it does sound like the event channels function much like vectors. Which
are the token thrown from ioapics to cpus to tell them which irq has happened
but have nothing to do with it.
The sources and the linux irq numbers should be stable if you don't unplug
anything. The rest are implementation details the architecture should hide.
In that case I don't see any reason we could not be receiving irqs with the
cpus catching vectors and with events showing up in event channels. Having
both running at the same time is a little odd but doable.
Eric
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: kernel BUG at arch/x86/kernel/io_apic_64.c:357!
2008-07-30 1:36 ` Eric W. Biederman
@ 2008-08-01 17:48 ` Jeremy Fitzhardinge
0 siblings, 0 replies; 17+ messages in thread
From: Jeremy Fitzhardinge @ 2008-08-01 17:48 UTC (permalink / raw)
To: Eric W. Biederman
Cc: Mike Travis, Yinghai Lu, Dhaval Giani, Thomas Gleixner,
Ingo Molnar, lkml, Jack Steiner, Alan Mayer, Cliff Wickman
Eric W. Biederman wrote:
> Sorry. Probably too much context in my head.
> The model I use is irq sources throw interrupts and then the cpus catch them.
> Sometimes those in flight irqs go through several transformations.
>
OK, that's more or less my mental model too.
> Given that the event channels that logical irq are bound to change over time
> I would say they appear to be not irq sources. Those are the physical
> lines coming out of hardware devices (if physical), and the equivalent
> parts of the hardware when the irqs are sent message based.
>
> So it does sound like the event channels function much like vectors. Which
> are the token thrown from ioapics to cpus to tell them which irq has happened
> but have nothing to do with it.
>
Yes and no. The event channels are similar to the actual interrupt
wires coming out of a PCI card, but they generally connect to virtual
devices, and so are a lot more dynamic than physical devices. The event
channel remapping scenario I described is pretty much exactly analogous
to having a hotplug PCI device being pulled and then replugged into a
different slot with a different interrupt line.
> The sources and the linux irq numbers should be stable if you don't unplug
> anything. The rest are implementation details the architecture should hide.
>
Yeah, plugging can happen as a quite regular thing.
> In that case I don't see any reason we could not be receiving irqs with the
> cpus catching vectors and with events showing up in event channels. Having
> both running at the same time is a little odd but doable.
>
Yes, it's a bit odd, but there are two distinct configurations where
it's a useful thing to have, where the system is running in a hybrid
Xen/native environment.
J
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2008-08-01 17:48 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-29 16:09 kernel BUG at arch/x86/kernel/io_apic_64.c:357! Dhaval Giani
2008-07-29 18:35 ` Yinghai Lu
2008-07-29 19:20 ` Yinghai Lu
2008-07-29 20:14 ` Eric W. Biederman
2008-07-29 20:37 ` Yinghai Lu
2008-07-29 22:17 ` Mike Travis
2008-07-29 22:21 ` Yinghai Lu
2008-07-29 23:12 ` Eric W. Biederman
2008-07-30 0:00 ` Alan Cox
2008-07-30 1:29 ` Eric W. Biederman
2008-07-29 23:12 ` Eric W. Biederman
2008-07-29 23:42 ` Jeremy Fitzhardinge
2008-07-30 0:01 ` Eric W. Biederman
2008-07-30 0:50 ` Jeremy Fitzhardinge
2008-07-30 1:36 ` Eric W. Biederman
2008-08-01 17:48 ` Jeremy Fitzhardinge
2008-07-29 20:21 ` Dhaval Giani
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox