|
Prev: ES Oil and Gas Ltd !!
Next: SATA hangs...
From: Andrew Morton on 1 Jun 2006 04:50 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc5/2.6.17-rc5-mm2/ - A cfq bug was fixed in mainline, so the git-cfq tree has been restored. - Various lock-validator and genirq fixes have been added. Should be slightly less oopsy than 2.6.17-rc5-mm1. - I just realised that I've been accidentally not updating the PCI tree for a while. Will be restored in next -mm. - Has been booted and has passed various stress-tests on quad x86_64, quad ancient-Xeon, quad power4, quad ia64, dual old-PIII and a modern pentium-M laptop. So if it breaks, it's your fault. Boilerplate: - See the `hot-fixes' directory for any important updates to this patchset. - To fetch an -mm tree using git, use (for example) git fetch git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git v2.6.16-rc2-mm1 - -mm kernel commit activity can be reviewed by subscribing to the mm-commits mailing list. echo "subscribe mm-commits" | mail majordomo(a)vger.kernel.org - If you hit a bug in -mm and it is not obvious which patch caused it, it is most valuable if you can perform a bisection search to identify which patch introduced the bug. Instructions for this process are at http://www.zip.com.au/~akpm/linux/patches/stuff/bisecting-mm-trees.txt But beware that this process takes some time (around ten rebuilds and reboots), so consider reporting the bug first and if we cannot immediately identify the faulty patch, then perform the bisection search. - When reporting bugs, please try to Cc: the relevant maintainer and mailing list on any email. Changes since 2.6.17-rc5-mm1: origin.patch git-acpi.patch git-agpgart.patch git-alsa.patch git-audit-master.patch git-block.patch git-cfq.patch git-cifs.patch git-cpufreq.patch git-dvb.patch git-gfs2.patch git-ia64.patch git-infiniband.patch git-intelfb.patch git-klibc.patch git-hdrcleanup.patch git-hdrinstall.patch git-libata-all.patch git-mips.patch git-mtd.patch git-netdev-all.patch git-net.patch git-nfs.patch git-powerpc.patch git-rbtree.patch git-sas.patch git-pcmcia.patch git-scsi-rc-fixes.patch git-scsi-target.patch git-supertrak.patch git-watchdog.patch git-cryptodev.patch got trees -ext3-resize-fix-double-unlock_super.patch -fbcon-fix-scrollback-with-logo-issue-immediately-after-boot.patch -spanned_pages-is-not-updated-at-a-case-of-memory-hot-add.patch -tpm-bios-log-parsing-fixes.patch -tpm-more-bios-log-parsing-fixes.patch -tpm-more-bios-log-parsing-fixes-tidy.patch -ipmi-reserve-i-o-ports-separately.patch -revert-swsusp-add-check-for-suspension-of-x-controlled-devices.patch -hrtimer-export-symbols.patch -scsi-properly-count-the-number-of-pages-in-scsi_req_map_sg.patch -x86_64-fix-stack-mmap-randomization-for-compat.patch -x86_64-fix-no-iommu-warning-in-pci-gart-driver.patch -i386-apic=-command-line-option-should-always-be.patch -x86_64-fix-last_tsc-calculation-of-pm-timer.patch -x86_64-handle-empty-node-zero.patch -x86_64-fix-off-by-one-in-bad_addr-checking-in.patch -x86_64-dont-do-syscall-exit-tracing-twice.patch -powerpc-fix-boot-on-emac.patch -au1100fb-fix-compilation.patch -maxinefb-fix-compilation-error.patch -sgiioc4-use-mmio-ops-instead-of-port-io.patch -md-fix-badness-in-sysfs_notify-caused-by-md_new_event.patch -firmware_class-s-semaphores-mutexes.patch -fix-mem-leak-in-sidewinder-driver.patch -git-mtd-ya-build-fix.patch -pcmcia-irq-debugging.patch -ti-pcixx12-cardbus-controller-support.patch -pcmcia-missing-pcmcia_get_socket-result-check.patch -imm-no-need-for-unchecked_isa_dma.patch -git-scsi-target-fixup.patch -usb-gadget-update-inodec-to-support-full-speed-only.patch -usb-gadget-update-pxa2xx_udcc-and-arch-dependent-files.patch -usb-gadget-update-pxa2xx_udcc-driver-to-fully-support.patch -usb-gadget-clean-udch.patch -usb-gadget-dont-build-small-version-if-usbgadgetfs.patch -driver-for-apple-cinema-display.patch -driver-for-apple-cinema-display-tweaks.patch -usb-wifi-zd1201-cleanups.patch -x86_64-mm-acpi-blacklist-xw9300.patch -fix-x86_64-mm-reliable-stack-trace-support-i386-entrys.patch -x86_64-mm-reliable-stack-trace-support-non-x86-fix.patch -x86_64-mm-reliable-stack-trace-support-non-x86-fix-fix.patch Merged into mainline or a subsystem tree +nmclan_cs-dereferencing-skb-after-netif_rx.patch +s390-irb-memcpy-argument-swap.patch +s390-cio-non-unique-path-group-ids.patch +nbd-endian-annotations.patch +sparsemem-build-fix.patch +selinux-fix-sb_lock-sb_security_lock-nesting-was.patch 2.6.17 queue. +s390-cleanup-bitopsh.patch s390 cleanup +blktrace_apih-endian-annotations.patch Add endianness annotations. +cifs-build-fix.patch +git-cifs-kconfig-fix.patch The CIFS tree was updated. Fix it. +git-cpufreq-fixup.patch Fix reject in git-cpufreq.patch +gregkh-driver-firmware_class-s-semaphores-mutexes.patch Driver tree update +input-move-fixp-arithh-to-drivers-input.patch +input-fix-accuracy-of-fixp-arithh.patch +input-new-force-feedback-interface.patch +input-new-force-feedback-interface-fix.patch +input-adapt-hid-force-feedback-drivers-for-the-new-interface.patch +input-adapt-uinput-for-the-new-force-feedback-interface.patch +input-adapt-iforce-driver-for-the-new-force-feedback-interface.patch +input-force-feedback-driver-for-pid-devices.patch +input-force-feedback-driver-for-zeroplus-devices.patch +input-update-documentation-of-force-feedback.patch +input-drop-the-remains-of-the-old-ff-interface.patch +input-drop-the-old-pid-driver.patch +input-use-enospc-instead-of-enomem-in-iforce-when-device-full.patch Input layer rework, force-feedback driver enhancements. +libata-add-missing-data_xfer-for-pata_pdc2027x-and-pdc_adma.patch Fix git-libata-all.patch. +pppoe-missing-result-check-in-__pppoe_xmit.patch pppoe fix +pmf_register_irq_client-gives-sleep-with-locks-held-warning.patch Powermac driver fix +pci-dont-move-ioapics-below-pci-bridge.patch io-apic handling fix +scsi-properly-count-the-number-of-pages-in-scsi_req_map_sg-fix.patch Fix akpm screwup. +gregkh-usb-usb-new-cp2101-device.patch +gregkh-usb-gadgetfs-fix-aio-interface-bugs.patch +gregkh-usb-gadgetfs-fix-memory-leaks.patch +gregkh-usb-usbtest-report-errors-in-iso-tests.patch +gregkh-usb-usb-io_edgeport-cleanup-to-unicode-handling.patch +gregkh-usb-usb-serial-encapsulate-schedule_work-remove-double-calling.patch +gregkh-usb-usb-improve-kconfig-comment-for-mct_u232.patch +gregkh-usb-usb-syntax-cleanup-for-pl2303.patch +gregkh-usb-usb-storage-get-rid-of-the-timer-during-urb-submission.patch +gregkh-usb-improved-tt-scheduling-for-ehci.patch +gregkh-usb-usb-rmmod-pl2303-after-28.patch +gregkh-usb-ub-atomic-add_disk.patch +gregkh-usb-ub-random-cleanups.patch +gregkh-usb-usb-more-pegasus-log-spamming-removed.patch +gregkh-usb-usb-print-message-when-device-is-rejected-due-to-insufficient-power.patch +gregkh-usb-usbcore-fix-broken-rndis-config-selection.patch +gregkh-usb-usbhid-remove-unneeded-blacklist-entries.patch +gregkh-usb-usb-ftdi_sio-add-support-for-yost-engineering-servocenter3.1.patch +gregkh-usb-usb-zd1201-cleanups.patch +gregkh-usb-driver-for-apple-cinema-display.patch +gregkh-usb-airprime_major_update.patch USB tree updates +usb-add-sierra-wireless-mc5720-id-to-airprimec.patch +usb-negative-index-in-drivers-usb-host-isp116x-hcdc.patch More USB additions +x86_64-mm-i386-move-vm86-config.patch x86_64 tree update -node-hotplug-fixes-callres-of-register_cpu.patch -node-hotplug-fixes-callres-of-register_cpu-powerpc-warning-fix.patch -node-hotplug-register_node-fix.patch Folxed into node-hotplug-register-cpu-remove-node-struct.patch +node-hotplug-register-cpu-remove-node-struct-alpha-fix.patch Fix it some more. +lsm-add-task_setioprio-hook.patch LSM hook for sys_setioprio(). +i386-dont-try-kprobes-for-v8086-mode.patch x86 fix +alpha-generic-hweight-build-fix.patch Alpha build fix +emu10k1-mark-midi_spinlock-as-used.patch OSS driver fix +add-max6902-rtc-support.patch +add-max6902-rtc-support-tidy.patch +rtc-small-documentation-update.patch RTC udpates +make-ext2_debug-work-again.patch ext3 fixes +ecryptfs-file-operations-fix-premature-release-of-file_info-memory.patch ecryptfs update +namespaces-utsname-use-init_utsname-when-appropriate-cifs-update.patch Fix namespaces-utsname-use-init_utsname-when-appropriate.patch for recent CIFS changes. +readahead-state-based-method-readahead-state-based-method-stand-alone-size-limit-code.patch +readahead-context-based-method-apply-stream_shift-size-limits-to-contexta-method.patch +readahead-context-based-method-fix-remain-counting.patch +readahead-backward-prefetching-method-add-use-case-comment.patch Update readahead patches in -mm. +reiser4-fix-trivial-tyops-which-were-hard-to-hit.patch reiser4 fixes +dm-table-get_target-fix-last-index.patch device mapper fix. +md-md-kconfig-speeling-feex.patch +md-fix-kconfig-error.patch +md-fix-bug-that-stops-raid5-resync-from-happening.patch +md-allow-re-add-to-work-on-array-without-bitmaps.patch +md-dont-write-dirty-clean-update-to-spares-leave-them-alone.patch +md-set-get-state-of-array-via-sysfs.patch +md-allow-rdev-state-to-be-set-via-sysfs.patch +md-allow-raid-layout-to-be-read-and-set-via-sysfs.patch +md-allow-resync_start-to-be-set-and-queried-via-sysfs.patch +md-allow-the-write_mostly-flag-to-be-set-via-sysfs.patch RAID updates. +statistics-infrastructure-make-printk_clock-a-generic-kernel-wide-nsec-resolution.patch +statistics-infrastructure-update-2.patch +statistics-infrastructure-update-3.patch Fix the statistics-infrastructure patches. +genirq-cleanup-remove-irq_descp-fix.patch Fix genirq handling of MSI interrupts. +genirq-add-chip-eoi-fastack-fasteoi.patch More genirq work. +lock-validator-stacktrace-fix-on-x86_64.patch +lock-validator-irqtrace-entrys-fix.patch +lock-validator-irqtrace-core-remove-softirqc-warn_on.patch +lock-validator-prove-mutex-locking-correctness-fix-null-type-name-bug.patch +lock-validator-disable-nmi-watchdog-if-config_lockdep-i386.patch +lock-validator-disable-nmi-watchdog-if-config_lockdep-x86_64.patch +lock-validator-special-locking-net-ipv4-igmpcpatch.patch +lock-validator-special-locking-net-ipv4-igmpc-2.patch +lock-validator-special-locking-sb-s_umount-2-fix.patch +lockdep-annotate-rpc_populate-for.patch +lock-validator-special-locking-sound-core-seq-seq_devicec.patch +lock-validator-special-locking-sound-core-seq-seq_devicec-fix.patch +lock-validator-fix-rt_hash_lock_sz.patch +lock-validator-introduce-irq__lockdep.patch +locking-validator-special-rule-8390c-disable_irq.patch +locking-validator-special-rule-3c59xc-disable_irq.patch -lock-validator-enable-lock-validator-in-kconfig-x86-only.patch +lock-validator-enable-lock-validator-in-kconfig-require-trace_irqflags_support.patch +lock-validator-irqtrace-support-non-x86-architectures.patch +lock-validator-disable-oprofile-if-lockdep=y.patch +lock-validator-select-kallsyms_all.patch Locking validator work. -profile-likely-unlikely-macros-tidy.patch -profile-likely-unlikely-macros-fix.patch -profile-likely-unlikely-macros-fix-2.patch -fix-gcc-3x-w-likely-profiling.patch Folded into profile-likely-unlikely-macros.patch All 1265 patches: ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc5/2.6.17-rc5-mm2/patch-list - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Mike Galbraith on 1 Jun 2006 05:30 On Thu, 2006-06-01 at 01:48 -0700, Andrew Morton wrote: > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc5/2.6.17-rc5-mm2/ > > > - A cfq bug was fixed in mainline, so the git-cfq tree has been restored. I put the fix for slab corruption into mm1, and it did indeed cure that. However, if I add git-cfq.patch, my box still explodes. -Mike - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Reuben Farrelly on 1 Jun 2006 05:40 On 1/06/2006 8:48 p.m., Andrew Morton wrote: > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc5/2.6.17-rc5-mm2/ > > > - A cfq bug was fixed in mainline, so the git-cfq tree has been restored. > > - Various lock-validator and genirq fixes have been added. Should be > slightly less oopsy than 2.6.17-rc5-mm1. > > - I just realised that I've been accidentally not updating the PCI tree for > a while. Will be restored in next -mm. > > - Has been booted and has passed various stress-tests on quad x86_64, > quad ancient-Xeon, quad power4, quad ia64, dual old-PIII and a modern > pentium-M laptop. So if it breaks, it's your fault. What an optimist if ever I've seen one ;) Bootdata ok (command line is ro root=/dev/md0 panic=60 console=ttyS0,57600 single) Linux version 2.6.17-rc5-mm2 (root(a)tornado.reub.net) (gcc version 4.1.1 20060525 (Red Hat 4.1.1-1)) #2 SMP Thu Jun 1 21:17:50 NZST 2006 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003f670000 (usable) BIOS-e820: 000000003f670000 - 000000003f6e9000 (ACPI NVS) BIOS-e820: 000000003f6e9000 - 000000003f6ec000 (usable) BIOS-e820: 000000003f6ec000 - 000000003f6ff000 (ACPI data) BIOS-e820: 000000003f6ff000 - 000000003f700000 (usable) DMI 2.3 present. ACPI: PM-Timer IO Port: 0x408 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:4 APIC version 20 ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) Processor #1 15:4 APIC version 20 ACPI: LAPIC (acpi_id[0x03] lapic_id[0x82] disabled) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled) ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) Setting APIC routing to flat ACPI: HPET id: 0x8086a201 base: 0xfed00000 Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 40000000 (gap: 3f700000:c0900000) Built 1 zonelists Kernel command line: ro root=/dev/md0 panic=60 console=ttyS0,57600 single Initializing CPU#0 PID hash table entries: 4096 (order: 12, 32768 bytes) Console: colour VGA+ 80x25 Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar .... MAX_LOCKDEP_SUBTYPES: 8 .... MAX_LOCK_DEPTH: 30 .... MAX_LOCKDEP_KEYS: 2048 .... TYPEHASH_SIZE: 1024 .... MAX_LOCKDEP_ENTRIES: 8192 .... MAX_LOCKDEP_CHAINS: 8192 .... CHAINHASH_SIZE: 4096 memory used by lock dependency info: 1120 kB per task-struct memory footprint: 1440 bytes ------------------------ | Locking API testsuite: ---------------------------------------------------------------------------- | spin |wlock |rlock |mutex | wsem | rsem | -------------------------------------------------------------------------- A-A deadlock: ok | ok | ok | ok | ok | ok | A-B-B-A deadlock: ok | ok | ok | ok | ok | ok | A-B-B-C-C-A deadlock: ok | ok | ok | ok | ok | ok | A-B-C-A-B-C deadlock: ok | ok | ok | ok | ok | ok | A-B-B-C-C-D-D-A deadlock: ok | ok | ok | ok | ok | ok | A-B-C-D-B-D-D-A deadlock: ok | ok | ok | ok | ok | ok | A-B-C-D-B-C-D-A deadlock: ok | ok | ok | ok | ok | ok | double unlock: ok | ok | ok | ok | ok | ok | bad unlock order: ok | ok | ok | ok | ok | ok | -------------------------------------------------------------------------- recursive read-lock: | ok | | ok | -------------------------------------------------------------------------- non-nested unlock: ok | ok | ok | ok | ------------------------------------------------------------ hard-irqs-on + irq-safe-A/12: ok | ok | ok | soft-irqs-on + irq-safe-A/12: ok | ok | ok | hard-irqs-on + irq-safe-A/21: ok | ok | ok | soft-irqs-on + irq-safe-A/21: ok | ok | ok | sirq-safe-A => hirqs-on/12: ok | ok | ok | sirq-safe-A => hirqs-on/21: ok | ok | ok | hard-safe-A + irqs-on/12: ok | ok | ok | soft-safe-A + irqs-on/12: ok | ok | ok | hard-safe-A + irqs-on/21: ok | ok | ok | soft-safe-A + irqs-on/21: ok | ok | ok | hard-safe-A + unsafe-B #1/123: ok | ok | ok | soft-safe-A + unsafe-B #1/123: ok | ok | ok | hard-safe-A + unsafe-B #1/132: ok | ok | ok | soft-safe-A + unsafe-B #1/132: ok | ok | ok | hard-safe-A + unsafe-B #1/213: ok | ok | ok | soft-safe-A + unsafe-B #1/213: ok | ok | ok | hard-safe-A + unsafe-B #1/231: ok | ok | ok | soft-safe-A + unsafe-B #1/231: ok | ok | ok | hard-safe-A + unsafe-B #1/312: ok | ok | ok | soft-safe-A + unsafe-B #1/312: ok | ok | ok | hard-safe-A + unsafe-B #1/321: ok | ok | ok | soft-safe-A + unsafe-B #1/321: ok | ok | ok | hard-safe-A + unsafe-B #2/123: ok | ok | ok | soft-safe-A + unsafe-B #2/123: ok | ok | ok | hard-safe-A + unsafe-B #2/132: ok | ok | ok | soft-safe-A + unsafe-B #2/132: ok | ok | ok | hard-safe-A + unsafe-B #2/213: ok | ok | ok | soft-safe-A + unsafe-B #2/213: ok | ok | ok | hard-safe-A + unsafe-B #2/231: ok | ok | ok | soft-safe-A + unsafe-B #2/231: ok | ok | ok | hard-safe-A + unsafe-B #2/312: ok | ok | ok | soft-safe-A + unsafe-B #2/312: ok | ok | ok | hard-safe-A + unsafe-B #2/321: ok | ok | ok | soft-safe-A + unsafe-B #2/321: ok | ok | ok | hard-irq lock-inversion/123: ok | ok | ok | soft-irq lock-inversion/123: ok | ok | ok | hard-irq lock-inversion/132: ok | ok | ok | soft-irq lock-inversion/132: ok | ok | ok | hard-irq lock-inversion/213: ok | ok | ok | soft-irq lock-inversion/213: ok | ok | ok | hard-irq lock-inversion/231: ok | ok | ok | soft-irq lock-inversion/231: ok | ok | ok | hard-irq lock-inversion/312: ok | ok | ok | soft-irq lock-inversion/312: ok | ok | ok | hard-irq lock-inversion/321: ok | ok | ok | soft-irq lock-inversion/321: ok | ok | ok | hard-irq read-recursion/123: ok | soft-irq read-recursion/123: ok | hard-irq read-recursion/132: ok | soft-irq read-recursion/132: ok | hard-irq read-recursion/213: ok | soft-irq read-recursion/213: ok | hard-irq read-recursion/231: ok | soft-irq read-recursion/231: ok | hard-irq read-recursion/312: ok | soft-irq read-recursion/312: ok | hard-irq read-recursion/321: ok | soft-irq read-recursion/321: ok | ------------------------------------------------------- Good, all 210 testcases passed! | --------------------------------- Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) Checking aperture... Memory: 1012508k/1039360k available (2694k kernel code, 25420k reserved, 1766k data, 216k init) Calibrating delay using timer specific routine.. 6009.49 BogoMIPS (lpj=12018986) Security Framework v1.0.0 initialized SELinux: Initializing. SELinux: Starting in permissive mode selinux_register_security: Registering secondary module capability Capability LSM initialized as secondary Mount-cache hash table entries: 256 CPU: Trace cache: 12K uops, L1 D cache: 16K CPU: L2 cache: 2048K using mwait in idle threads. CPU: Physical Processor ID: 0 CPU0: Thermal monitoring enabled (TM1) Freeing SMP alternatives: 28k freed lockdep: disabled NMI watchdog. Using local APIC timer interrupts. result 12500192 Detected 12.500 MHz APIC timer. lockdep: not fixing up alternatives. Booting processor 1/2 APIC 0x1 Initializing CPU#1 lockdep: disabled NMI watchdog. Calibrating delay using timer specific routine.. 6000.27 BogoMIPS (lpj=12000551) CPU: Trace cache: 12K uops, L1 D cache: 16K CPU: L2 cache: 2048K CPU: Physical Processor ID: 0 CPU1: Thermal monitoring enabled (TM1) Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 03 Brought up 2 CPUs time.c: Using 14.318180 MHz WALL HPET GTOD HPET/TSC timer. time.c: Detected 3000.062 MHz processor. migration_cost=6 checking if image is initramfs... it is Freeing initrd memory: 876k freed NET: Registered protocol family 16 ACPI: bus type pci registered PCI: BIOS Bug: MCFG area is not E820-reserved PCI: Not using MMCONFIG. PCI: Using configuration type 1 ACPI: Subsystem revision 20060310 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) ACPI: Assume root bridge [\_SB_.PCI0] bus is 0 PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1 PCI: Transparent bridge - 0000:00:1e.0 ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 *11 12) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 9 10 *11 12) ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 *10 11 12) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 *9 10 11 12) Intel 82802 RNG detected SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report hpet0: at MMIO 0xfed00000 (virtual 0xffffffffff5fe000), IRQs 2, 8, 0 hpet0: 3 64-bit timers, 14318180 Hz PCI-GART: No AMD northbridge found. PCI: Ignore bogus resource 6 [0:0] of 0000:00:02.0 PCI: Bridge: 0000:00:1c.0 IO window: 2000-2fff MEM window: 48000000-480fffff PREFETCH window: disabled. PCI: Bridge: 0000:00:1c.2 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:1c.3 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:1c.4 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:1c.5 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:1e.0 IO window: 1000-1fff MEM window: disabled. PREFETCH window: disabled. ACPI (acpi_bus-0192): Device `PEX0]is not power manageable [20060310] GSI 16 sharing vector 0xA9 and IRQ 16 ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 17 (level, low) -> IRQ 169 ACPI (acpi_bus-0192): Device `PEX2]is not power manageable [20060310] GSI 17 sharing vector 0xB1 and IRQ 17 ACPI: PCI Interrupt 0000:00:1c.2[C] -> GSI 18 (level, low) -> IRQ 177 ACPI (acpi_bus-0192): Device `PEX3]is not power manageable [20060310] GSI 18 sharing vector 0xB9 and IRQ 18 ACPI: PCI Interrupt 0000:00:1c.3[D] -> GSI 19 (level, low) -> IRQ 185 ACPI (acpi_bus-0192): Device `PEX4]is not power manageable [20060310] ACPI: PCI Interrupt 0000:00:1c.4[A] -> GSI 17 (level, low) -> IRQ 169 ACPI (acpi_bus-0192): Device `PEX5]is not power manageable [20060310] GSI 19 sharing vector 0xC1 and IRQ 19 ACPI: PCI Interrupt 0000:00:1c.5[B] -> GSI 16 (level, low) -> IRQ 193 NET: Registered protocol family 2 IP route cache hash table entries: 32768 (order: 6, 262144 bytes) TCP established hash table entries: 32768 (order: 9, 3670016 bytes) TCP bind hash table entries: 16384 (order: 8, 1835008 bytes) TCP: Hash tables configured (established 32768 bind 16384) TCP reno registered audit: initializing netlink socket (disabled) audit(1149153727.584:1): initialized SELinux: Registering netfilter hooks Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered (default) ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 17 (level, low) -> IRQ 169 assign_interrupt_mode Found MSI capability ACPI: PCI Interrupt 0000:00:1c.2[C] -> GSI 18 (level, low) -> IRQ 177 assign_interrupt_mode Found MSI capability ACPI: PCI Interrupt 0000:00:1c.3[D] -> GSI 19 (level, low) -> IRQ 185 assign_interrupt_mode Found MSI capability ACPI: PCI Interrupt 0000:00:1c.4[A] -> GSI 17 (level, low) -> IRQ 169 assign_interrupt_mode Found MSI capability ACPI: PCI Interrupt 0000:00:1c.5[B] -> GSI 16 (level, low) -> IRQ 193 assign_interrupt_mode Found MSI capability ACPI: Power Button (FF) [PWRF] ACPI: Sleep Button (CM) [SLPB] ACPI Error (acpi_processor-0474): Getting cpuindex for acpiid 0x3 [20060310] ACPI Error (acpi_processor-0474): Getting cpuindex for acpiid 0x4 [20060310] Real Time Clock Driver v1.12ac Linux agpgart interface v0.101 (c) Dave Jones Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled ?serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ACPI: PCI Interrupt 0000:06:03.0[A] -> GSI 19 (level, low) -> IRQ 185 0000:06:03.0: ttyS1 at I/O 0x1000 (irq = 185) is a 16550A 0000:06:03.0: ttyS2 at I/O 0x1008 (irq = 185) is a 16550A isa bounce pool size: 16 pages Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 RAMDISK driver initialized: 4 RAM disks of 16384K size 1024 blocksize Intel(R) PRO/1000 Network Driver - version 7.0.38-k4-NAPI Copyright (c) 1999-2006 Intel Corporation. ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 193 e1000: 0000:01:00.0: e1000_probe: (PCI Express:2.5Gb/s:Width x1) 00:13:20:60:b4:23 e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx ICH7: IDE controller at PCI slot 0000:00:1f.1 ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 18 (level, low) -> IRQ 177 ICH7: chipset revision 1 ICH7: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x30b0-0x30b7, BIOS settings: hda:DMA, hdb:pio hda: PIONEER DVD-RW DVR-111D, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ACPI (acpi_bus-0192): Device `IDES]is not power manageable [20060310] ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 185 ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0xf impl SATA mode ahci 0000:00:1f.2: flags: 64bit ncq led clo pio slum part ata1: SATA max UDMA/133 cmd 0xFFFFC20000016100 ctl 0x0 bmdma 0x0 irq 58 ata2: SATA max UDMA/133 cmd 0xFFFFC20000016180 ctl 0x0 bmdma 0x0 irq 58 ata3: SATA max UDMA/133 cmd 0xFFFFC20000016200 ctl 0x0 bmdma 0x0 irq 58 ata4: SATA max UDMA/133 cmd 0xFFFFC20000016280 ctl 0x0 bmdma 0x0 irq 58 ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300) Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: [<0000000000000000>] PGD 0 Oops: 0010 [1] SMP last sysfs file: CPU 0 Modules linked in: Pid: 0, comm: idle Not tainted 2.6.17-rc5-mm2 #2 RIP: 0010:[<0000000000000000>] [<0000000000000000>] RSP: 0000:ffffffff80660f98 EFLAGS: 00010006 RAX: 0000000000003a00 RBX: ffffffff8090dec8 RCX: 0000000000000000 RDX: ffffffff8090dec8 RSI: ffffffff808fe100 RDI: 000000000000003a RBP: ffffffff80660fb0 R08: 0000000000000001 R09: ffffffff802676aa R10: 0000000000000000 R11: 0000000000000000 R12: 000000000000003a R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffffffff808fa000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000000000000000 CR3: 0000000000201000 CR4: 00000000000006e0 Process idle (pid: 0, threadinfo ffffffff8090c000, task ffffffff80593760) Stack: ffffffff80270132 ffffffff8025dbb1 ffffffff8094e084 ffffffff8090def0 ffffffff802641a9 <EOI> ff6500005d4be8fa 65c900000020250c 00000010250c8b48 f700001fd8e98148 7400000003582444 Call Trace: Code: Bad RIP value. RIP [<0000000000000000>] RSP <ffffffff80660f98> CR2: 0000000000000000 <0>Kernel panic - not syncing: Aiee, killing interrupt handler! BUG: warning at kernel/lockdep.c:1853/trace_hardirqs_on() Call Trace: [<ffffffff8026e6ed>] show_trace+0xad/0x225 [<ffffffff8026e87a>] dump_stack+0x15/0x1b [<ffffffff802a05da>] trace_hardirqs_on+0xa1/0x124 [<ffffffff80276fec>] smp_send_stop+0x4c/0x68 [<ffffffff8028a491>] panic+0xa7/0x220 [<ffffffff80216376>] do_exit+0x74/0x94f [<ffffffff8020b195>] do_page_fault+0x895/0x9c4 [<ffffffff802649dd>] error_exit+0x0/0x8e Rebooting in 60 seconds..BUG: warning at kernel/panic.c:114/panic() Call Trace: [<ffffffff8026e6ed>] show_trace+0xad/0x225 [<ffffffff8026e87a>] dump_stack+0x15/0x1b [<ffffffff8028a55e>] panic+0x174/0x220 [<ffffffff80216376>] do_exit+0x74/0x94f [<ffffffff8020b195>] do_page_fault+0x895/0x9c4 [<ffffffff802649dd>] error_exit+0x0/0x8e Hardware posted at http://www.reub.net/files/kernel/system-hardware Box has MSI capabilities and MSI compiled in. Reuben - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Jens Axboe on 1 Jun 2006 05:50 On Thu, Jun 01 2006, Mike Galbraith wrote: > On Thu, 2006-06-01 at 01:48 -0700, Andrew Morton wrote: > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc5/2.6.17-rc5-mm2/ > > > > > > - A cfq bug was fixed in mainline, so the git-cfq tree has been restored. > > I put the fix for slab corruption into mm1, and it did indeed cure that. > However, if I add git-cfq.patch, my box still explodes. Andrew, you probably want to leave out git-cfq for a few days as it'll throw rejects once Linus pulls the for-2.6.17 cfq urgent fixes. I'll fixup the branch and the apparently silly bug that crept in that branch and give you a ping about when to reenable it! -- Jens Axboe - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Andrew Morton on 1 Jun 2006 05:50
On Thu, 01 Jun 2006 11:30:33 +0200 Mike Galbraith <efault(a)gmx.de> wrote: > On Thu, 2006-06-01 at 01:48 -0700, Andrew Morton wrote: > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc5/2.6.17-rc5-mm2/ > > > > > > - A cfq bug was fixed in mainline, so the git-cfq tree has been restored. > > I put the fix for slab corruption into mm1, and it did indeed cure that. > However, if I add git-cfq.patch, my box still explodes. OK, thanks. I put a revert patch into the hot-fixes directory. --- devel/block/cfq-iosched.c~revert-git-cfq 2006-06-01 02:46:39.000000000 -0700 +++ devel-akpm/block/cfq-iosched.c 2006-06-01 02:46:39.000000000 -0700 @@ -103,9 +103,8 @@ struct cfq_data { * rr list of queues with requests and the count of them */ struct list_head rr_list[CFQ_PRIO_LISTS]; + struct list_head busy_rr; struct list_head cur_rr; - unsigned short cur_prio; - struct list_head idle_rr; unsigned int busy_queues; @@ -141,6 +140,7 @@ struct cfq_data { struct cfq_queue *active_queue; struct cfq_io_context *active_cic; + int cur_prio, cur_end_prio; unsigned int dispatch_slice; struct timer_list idle_class_timer; @@ -199,13 +199,8 @@ struct cfq_queue { int on_dispatch[2]; /* io prio of this group */ - unsigned short ioprio_class, ioprio; - - /* current dynamic stair priority */ - unsigned short dyn_ioprio; - - /* same as real ioprio, except if queue has been elevated */ - unsigned short org_ioprio_class, org_ioprio; + unsigned short ioprio, org_ioprio; + unsigned short ioprio_class, org_ioprio_class; /* various state flags, see below */ unsigned int flags; @@ -484,13 +479,25 @@ static void cfq_resort_rr_list(struct cf list = &cfqd->cur_rr; else if (cfq_class_idle(cfqq)) list = &cfqd->idle_rr; - else - list = &cfqd->rr_list[cfqq->dyn_ioprio]; + else { + /* + * if cfqq has requests in flight, don't allow it to be + * found in cfq_set_active_queue before it has finished them. + * this is done to increase fairness between a process that + * has lots of io pending vs one that only generates one + * sporadically or synchronously + */ + if (cfq_cfqq_dispatched(cfqq)) + list = &cfqd->busy_rr; + else + list = &cfqd->rr_list[cfqq->ioprio]; + } /* - * if queue was preempted, just add to front to be fair. + * if queue was preempted, just add to front to be fair. busy_rr + * isn't sorted. */ - if (preempted) { + if (preempted || list == &cfqd->busy_rr) { list_add(&cfqq->cfq_list, list); return; } @@ -502,8 +509,6 @@ static void cfq_resort_rr_list(struct cf while ((entry = entry->prev) != list) { struct cfq_queue *__cfqq = list_entry_cfqq(entry); - if (__cfqq->ioprio < cfqq->ioprio) - break; if (!__cfqq->service_last) break; if (time_before(__cfqq->service_last, cfqq->service_last)) @@ -729,49 +734,23 @@ cfq_merged_requests(request_queue_t *q, cfq_remove_request(next); } -/* - * Scale schedule slice based on io priority. Use the sync time slice only - * if a queue is marked sync and has sync io queued. A sync queue with async - * io only, should not get full sync slice length. - */ -static inline int -cfq_prio_to_slice(struct cfq_data *cfqd, struct cfq_queue *cfqq) -{ - const int base_slice = cfqd->cfq_slice[cfq_cfqq_sync(cfqq)]; - unsigned short prio = cfqq->dyn_ioprio; - - WARN_ON(prio >= IOPRIO_BE_NR); - - if (cfq_class_rt(cfqq)) - prio = 0; - - return base_slice + (base_slice / CFQ_SLICE_SCALE * (4 - prio)); -} - static inline void -cfq_set_prio_slice(struct cfq_data *cfqd, struct cfq_queue *cfqq) -{ - cfqq->slice_end = cfq_prio_to_slice(cfqd, cfqq) + jiffies; -} - -static inline int -cfq_prio_to_maxrq(struct cfq_data *cfqd, struct cfq_queue *cfqq) +__cfq_set_active_queue(struct cfq_data *cfqd, struct cfq_queue *cfqq) { - const int base_rq = cfqd->cfq_slice_async_rq; - unsigned short prio = cfqq->dyn_ioprio; - - WARN_ON(cfqq->dyn_ioprio >= IOPRIO_BE_NR); - - if (cfq_class_rt(cfqq)) - prio = 0; + if (cfqq) { + /* + * stop potential idle class queues waiting service + */ + del_timer(&cfqd->idle_class_timer); - return 2 * (base_rq + base_rq * (CFQ_PRIO_LISTS - 1 - prio)); -} + cfqq->slice_start = jiffies; + cfqq->slice_end = 0; + cfqq->slice_left = 0; + cfq_clear_cfqq_must_alloc_slice(cfqq); + cfq_clear_cfqq_fifo_expire(cfqq); + } -static inline void cfq_prio_inc(unsigned short *p, unsigned int low_p) -{ - if (++(*p) == CFQ_PRIO_LISTS) - *p = low_p; + cfqd->active_queue = cfqq; } /* @@ -803,8 +782,6 @@ __cfq_slice_expired(struct cfq_data *cfq else cfqq->slice_left = 0; - cfq_prio_inc(&cfqq->dyn_ioprio, cfqq->ioprio); - if (cfq_cfqq_on_rr(cfqq)) cfq_resort_rr_list(cfqq, preempted); @@ -827,58 +804,73 @@ static inline void cfq_slice_expired(str __cfq_slice_expired(cfqd, cfqq, preempted); } -static struct cfq_queue *cfq_get_next_cfqq(struct cfq_data *cfqd) +/* + * 0 + * 0,1 + * 0,1,2 + * 0,1,2,3 + * 0,1,2,3,4 + * 0,1,2,3,4,5 + * 0,1,2,3,4,5,6 + * 0,1,2,3,4,5,6,7 + */ +static int cfq_get_next_prio_level(struct cfq_data *cfqd) { - if (!cfqd->busy_queues) - return NULL; - - if (list_empty(&cfqd->cur_rr)) { - unsigned short prio = cfqd->cur_prio; + int prio, wrap; - do { - struct list_head *list = &cfqd->rr_list[prio]; + prio = -1; + wrap = 0; + do { + int p; - if (!list_empty(list)) { - list_splice_init(list, &cfqd->cur_rr); + for (p = cfqd->cur_prio; p <= cfqd->cur_end_prio; p++) { + if (!list_empty(&cfqd->rr_list[p])) { + prio = p; break; } + } - cfq_prio_inc(&prio, 0); - } while (prio != cfqd->cur_prio); + if (prio != -1) + break; + cfqd->cur_prio = 0; + if (++cfqd->cur_end_prio == CFQ_PRIO_LISTS) { + cfqd->cur_end_prio = 0; + if (wrap) + break; + wrap = 1; + } + } while (1); - cfq_prio_inc(&cfqd->cur_prio, 0); - } + if (unlikely(prio == -1)) + return -1; - if (!list_empty(&cfqd->cur_rr)); - return list_entry_cfqq(cfqd->cur_rr.next); + BUG_ON(prio >= CFQ_PRIO_LISTS); - return NULL; -} + list_splice_init(&cfqd->rr_list[prio], &cfqd->cur_rr); -static inline void -__cfq_set_active_queue(struct cfq_data *cfqd, struct cfq_queue *cfqq) -{ - if (cfqq) { - WARN_ON(RB_EMPTY(&cfqq->sort_list)); - - /* - * stop potential idle class queues waiting service - */ - del_timer(&cfqd->idle_class_timer); - - cfqq->slice_start = jiffies; - cfqq->slice_end = 0; - cfqq->slice_left = 0; - cfq_clear_cfqq_must_alloc_slice(cfqq); - cfq_clear_cfqq_fifo_expire(cfqq); + cfqd->cur_prio = prio + 1; + if (cfqd->cur_prio > cfqd->cur_end_prio) { + cfqd->cur_end_prio = cfqd->cur_prio; + cfqd->cur_prio = 0; + } + if (cfqd->cur_end_prio == CFQ_PRIO_LISTS) { + cfqd->cur_prio = 0; + cfqd->cur_end_prio = 0; } - cfqd->active_queue = cfqq; + return prio; } static struct cfq_queue *cfq_set_active_queue(struct cfq_data *cfqd) { - struct cfq_queue *cfqq = cfq_get_next_cfqq(cfqd); + struct cfq_queue *cfqq = NULL; + + /* + * if current list is non-empty, grab first entry. if it is empty, + * get next prio level and grab first entry then if any are spliced + */ + if (!list_empty(&cfqd->cur_rr) || cfq_get_next_prio_level(cfqd) != -1) + cfqq = list_entry_cfqq(cfqd->cur_rr.next); /* * if we have idle queues and no rt or be queues had pending @@ -976,6 +968,37 @@ static inline struct cfq_rq *cfq_check_f } /* + * Scale schedule slice based on io priority. Use the sync time slice only + * if a queue is marked sync and has sync io queued. A sync queue with async + * io only, should not get full sync slice length. + */ +static inline int +cfq_prio_to_slice(struct cfq_data *cfqd, struct cfq_queue *cfqq) +{ + const int base_slice = cfqd->cfq_slice[cfq_cfqq_sync(cfqq)]; + + WARN_ON(cfqq->ioprio >= IOPRIO_BE_NR); + + return base_slice + (base_slice/CFQ_SLICE_SCALE * (4 - cfqq->ioprio)); +} + +static inline void +cfq_set_prio_slice(struct cfq_data *cfqd, struct cfq_queue *cfqq) +{ + cfqq->slice_end = cfq_prio_to_slice(cfqd, cfqq) + jiffies; +} + +static inline int +cfq_prio_to_maxrq(struct cfq_data *cfqd, struct cfq_queue *cfqq) +{ + const int base_rq = cfqd->cfq_slice_async_rq; + + WARN_ON(cfqq->ioprio >= IOPRIO_BE_NR); + + return 2 * (base_rq + base_rq * (CFQ_PRIO_LISTS - 1 - cfqq->ioprio)); +} + +/* * get next queue for service */ static struct cfq_queue *cfq_select_queue(struct cfq_data *cfqd) @@ -1092,6 +1115,7 @@ cfq_forced_dispatch(struct cfq_data *cfq for (i = 0; i < CFQ_PRIO_LISTS; i++) dispatched += cfq_forced_dispatch_cfqqs(&cfqd->rr_list[i]); + dispatched += cfq_forced_dispatch_cfqqs(&cfqd->busy_rr); dispatched += cfq_forced_dispatch_cfqqs(&cfqd->cur_rr); dispatched += cfq_forced_dispatch_cfqqs(&cfqd->idle_rr); @@ -1331,11 +1355,6 @@ static void cfq_init_prio_data(struct cf cfqq->org_ioprio = cfqq->ioprio; cfqq->org_ioprio_class = cfqq->ioprio_class; - /* - * start priority - */ - cfqq->dyn_ioprio = cfqq->ioprio; - if (cfq_cfqq_on_rr(cfqq)) cfq_resort_rr_list(cfqq, 0); @@ -2210,6 +2229,7 @@ static int cfq_init_queue(request_queue_ for (i = 0; i < CFQ_PRIO_LISTS; i++) INIT_LIST_HEAD(&cfqd->rr_list[i]); + INIT_LIST_HEAD(&cfqd->busy_rr); INIT_LIST_HEAD(&cfqd->cur_rr); INIT_LIST_HEAD(&cfqd->idle_rr); INIT_LIST_HEAD(&cfqd->empty_list); _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |