From: Andrew Morton on

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
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


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
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
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/
 |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8 9 10 11
Prev: ES Oil and Gas Ltd !!
Next: SATA hangs...