login
Header Space

 
 

Linux: Merging In 2.6.17

March 27, 2006 - 7:58pm
Submitted by Jeremy on March 27, 2006 - 7:58pm.
Linux news

Andrew Morton [interview] offered a list of patches in his mm tree, summarizing for each his plans as to whether or not they will be pushed to Linus for inclusion in the upcoming 2.6.17 kernel. Comments on the patches range from the simple "will merge" to pushing them to others for review. One of the more entertaining comments followed a set of 33 patches where Andrew noted, "This is Oleg's romp through the core kernel. There's a ton of material here. I'll probably send it all to Linus and ask him to review it. (aka blame-shifting)." Later in the thread he explained, "it's just a whole lot of code in areas which are tricky and in which few people work and in which reviewing resources are slight."

One set of patches refused with the comment, "still don't have a compelling argument for this, IMO" was Con Kolivas [interview]' swap prefetching efforts [story]. The feature was discussed in a couple of follow up threads. In response to some concerns raised by Jens Axboe, Con explained the implementation a little further, "If the system is idle it doesn't cost anything to bring those pages in (laptop mode disables any prefetching if you're thinking about power consumption on laptops). And if the system wants the ram that has been filled with prefetched pages wrongly, the prefetched pages are at the tail end of the inactive LRU list with a copy on backing store so if they're not accessed they'll be the first thing dropped in preference to anything else, without any I/O."


From: Andrew Morton [email blocked]
To:  linux-kernel
Subject: -mm merge plans
Date:	Wed, 22 Mar 2006 20:53:05 -0800


A look at the -mm lineup for 2.6.17:


proc-fix-duplicate-line-in-proc-devices.patch
sys_alarm-unsigned-signed-conversion-fixup.patch
sys_alarm-unsigned-signed-conversion-fixup-fix.patch
validate-and-sanitze-itimer-timeval-from-userspace.patch
validate-and-sanitze-itimer-timeval-from-userspace-fix.patch
fix-scheduler-deadlock.patch
fix-bug-bio_rw_barrier-requests-to-md-raid1-hang.patch

  Will merge.  Will also submit for 2.6.16.1.

  The timer changes address back-incompatibilities with earlier kernels. 
  This means that 2.6.16's alarm() and setitimer() are, under
  unlikely-to-occur circumstances, incompatible with earlier kernels.  If
  merged into 2.6.16.1 these patches will fix that.

git-acpi-up-fix.patch
sem2mutex-drivers-acpi.patch
sem2mutex-acpi-acpi_link_lock.patch
pnpacpi-fix-non-memory-address-space-descriptor-handling.patch
pnpacpi-remove-some-code-duplication.patch
pnpacpi-whitespace-cleanup.patch
acpi-request-correct-fixed-hardware-resource-type-mmio-vs-i-o-port.patch
acpi-add-acpi-to-motherboard-resources-in-proc-iomemport.patch
acpi-update-asus_acpi-driver-registration.patch
acpi-fix-sonypi-acpi-driver-registration.patch
acpi-make-acpi_bus_register_driver-return-success-failure-not-device-count.patch
acpi-simplify-scanc-coding.patch
acpi-print-wakeup-device-list-on-same-line-as-label.patch
acpi-fix-memory-hotplug-range-length-handling.patch
hpet-fix-acpi-memory-range-length-handling.patch
acpi_os_acquire_object-gfp_kernel-called-with-irqs.patch
acpi-ia64-wake-on-lan-fix.patch
acpi-remove-__init-__exit-from-asus-add-remove-methods.patch
serial-remove-8250_acpi-replaced-by-8250_pnp-and-pnpacpi.patch
acpi-signedness-fix-2.patch
acpi-should-depend-on-not-select-pci.patch
acpi-ec-acpi-ecdt-uid-hack.patch
acpi-memory-hotplug-cannot-manage-_crs-with-plural-resoureces.patch

  To be processed by the ACPI team.

msi-k8t-neo2-fir-onboardsound-and-additional-soundcard.patch
fix-sequencer-missing-negative-bound-check.patch
pnp-adjust-pnp_register_card_driver-signature-ad1816a.patch
pnp-adjust-pnp_register_card_driver-signature-als100.patch
pnp-adjust-pnp_register_card_driver-signature-azt2320.patch
pnp-adjust-pnp_register_card_driver-signature-cmi8330.patch
pnp-adjust-pnp_register_card_driver-signature-dt019x.patch
pnp-adjust-pnp_register_card_driver-signature-es18xx.patch
pnp-adjust-pnp_register_card_driver-signature-es968.patch
pnp-adjust-pnp_register_card_driver-signature-interwave.patch
pnp-adjust-pnp_register_card_driver-signature-sb16.patch
pnp-adjust-pnp_register_card_driver-signature-sb_card.patch
pnp-adjust-pnp_register_card_driver-signature-sscape.patch
pnp-adjust-pnp_register_card_driver-signature-wavefront.patch

  Will send to the ALSA team.

blk_execute_rq_nowait-speedup.patch
block-layer-increase-size-of-disk-stat.patch

  Will be merged.

cpufreq-_ppc-frequency-change-issues-freq-already-lowered-by-bios.patch
powernow-remove-private-for_each_cpu_mask.patch
cpufreq_conservative-aligning-of-codebase-with-ondemand.patch
cpufreq_conservative-alter-default-responsiveness.patch
cpufreq_conservative-make-for_each_cpu-safe.patch
cpufreq_conservative-alternative-initialise-approach.patch

  Will send to the cpufreq team.

v4l-printk-warning-fixes.patch
saa7110-fix-array-overrun.patch
saa7111-prevent-array-overrun.patch
saa7114-fix-i2c-block-write.patch
adv7175-drop-unused-encoder-dump-command.patch
adv7175-drop-unused-register-cache.patch
zoran-use-i2c_master_send-when-possible.patch
bt856-spare-memory.patch
zoran-init-cleanups.patch
saa7111c-fix.patch
sem2mutex-zoran.patch

  Sent to the v4l team.

ia64-update-hp-csr-space-discovery-via-acpi.patch
ia64-sn_check_intr-use-ia64_get_irr.patch

  Sent to Tony.

sem2mutex-drivers-ieee1394.patch
ieee1394-speed-up-of-dma_region_sync_for_cpu.patch
drivers-ieee1394-ohci1394c-function-calls-without-effect.patch

  Sent to the ieee1394 team.

m25p80-printk-warning-fix.patch
sem2mutex-mtd-doc2000c.patch
sem2mutex-drivers-mtd.patch
drivers-mtd-small-cleanups.patch
mtd_nand_sharpsl-and-mtd_nand_nandsim-should-be-tristates.patch
drivers-mtd-use-array_size-macro.patch
mtd-cmdlinepart-allow-zero-offset-value.patch
fix-debug-statement-in-inftlcorec.patch
kill-ifdefs-in-mtdcorec.patch
dead-code-in-mtd-maps-pcic.patch
add-chip-used-in-collie-to-jedec_probe.patch

  Sent to the MTD team.

natsemi-support-oversized-eeproms.patch
tulip-natsemi-dp83840a-phy-fix.patch
natsemi-add-support-for-using-mii-port-with-no-phy.patch
fix-spidernet-build-issue.patch
add-a-pci-vendor-id-definition-for-aculab.patch
amd-au1xx0-fix-ethernet-tx-stats.patch
natsemi-add-quirks-for-aculab-e1-t1-pmxc-cpci-carrier-cards.patch
tulip-fix-for-64-bit-mips.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch

  Plugging away with unloved netdev patches.  We'll see.

nfs-make-2-functions-static.patch
fs-locksc-make-posix_locks_deadlock-static.patch
remove-needless-check-in-nfs_opendir.patch

  Sent to Trond.

optimise-d_find_alias.patch

  spose so.

gdth-add-execute-firmware-command-abstraction.patch

  That's up to Christoph

megaraid-unused-variable.patch
drivers-scsi-aic7xxx-possible-cleanups.patch
drivers-scsi-small-cleanups.patch
drivers-scsi-megaraidc-add-a-dummy-mega_create_proc_entry-for-proc_fs=y.patch
drivers-scsi-gdthc-make-__gdth_execute-static.patch
drivers-scsi-qla2xxx-make-some-functions-static.patch
drivers-scsi-aic7xxx-aic79xx_corec-make-ahd_done_with_status-static.patch
aacraid-fix-the-comparison-with-sizeof.patch
small-whitespace-cleanup-for-qlogic-driver.patch
scsi-megaraid-megaraid_mmc-fix-a-null-pointer-dereference.patch
remove-drivers-scsi-constantscscsi_print_req_sense.patch
link-scsi_debug-later.patch
drivers-scsi-aic7xxx-aic79xx_corec-make-ahd_match_scb-static.patch

  Will keep sending.

areca-raid-linux-scsi-driver.patch
areca-raid-linux-scsi-driver-update4.patch

  Would be nice.  Needs followup from the scsi team.

cirrus-ep93xx-watchdog-driver.patch
cirrus-ep93xx-watchdog-driver-tidy.patch

  Will merge

drivers-block-floppyc-dont-free_irq-from-irq-context.patch
drivers-block-floppyc-dont-free_irq-from-irq-context-fix.patch
warn-if-free_irq-is-called-from-irq-context.patch
protect-remove_proc_entry.patch

  Some of these are a bit dodgy.

slab-leaks.patch
slab-leaks3-locking-fix.patch
slab-leaks3-default-y.patch
slab-introduce-kmem_cache_zalloc-allocator.patch
slab-optimize-constant-size-kzalloc-calls.patch
mm-use-kmem_cache_zalloc.patch
slab-add-transfer_objects-function.patch
slab-add-transfer_objects-function-fix.patch
slab-bypass-free-lists-for-__drain_alien_cache.patch
alloc_kmemlist-some-cleanup-in-preparation-for-a-real-memory-leak-fix.patch
slab-fix-memory-leak-in-alloc_kmemlist.patch
slab-fix-memory-leak-in-alloc_kmemlist-fix.patch
add-api-for-flushing-anon-pages.patch
add-flush_kernel_dcache_page-api.patch
mm-make-page-migration-dependent-on-swap-and-numa.patch

  Will merge.

acx1xx-wireless-driver.patch

  Is up to John, Jeff and Denis.   Would be nice.

bug-fixes-and-cleanup-for-the-bsd-secure-levels-lsm.patch
bug-fixes-and-cleanup-for-the-bsd-secure-levels-lsm-update.patch
bug-fixes-and-cleanup-for-the-bsd-secure-levels-lsm-update-tidy.patch

  Will merge.

macintosh-cleanup-the-use-of-i2c-headers.patch
via-pmu-warning-fix.patch
powerpc-tidy-up-of_register_driver-driver_register-return-values.patch
macintosh-tidy-up-driver_register-return-values.patch

  Sent to paulus.

x86-cache-pollution-aware-__copy_from_user_ll.patch
i386-let-regparm-no-longer-depend-on-experimental.patch
make-config_regparm-enabled-by-default.patch
i386-multi-column-stack-backtraces.patch
x86-smp-alternatives.patch
i386-__devinit-should-be-__cpuinit.patch
i386-allow-disabling-x86_feature_sep-at-boot.patch
i386-add-a-temporary-to-make-put_user-more-type-safe.patch
i386-fall-back-to-sensible-cpu-model-name.patch
compilation-fix-for-es7000-when-no-acpi-is-specified-in-config-i386.patch
i386-remove-duplicate-declaration-of-mp_bus_id_to_pci_bus.patch
make-isoimage-support-fdinitrd=-support-minor-cleanups.patch
i386-traps-merge-printk-calls.patch
i386-dont-let-ptrace-set-the-nested-task-bit.patch
i386-let-signal-handlers-set-the-resume-flag.patch
x86-early-printk-handling-fixes.patch
x86-start-early_printk-at-sensible-screen-row.patch
x86-early-printk-remove-max_ypos-and-max_xpos-macros.patch
register-the-boot-cpu-in-the-cpu-maps-earlier.patch
register-the-boot-cpu-in-the-cpu-maps-earlier-fix.patch
i386-pass-proper-trap-numbers-to-die-chain-handlers.patch
i386-actively-synchronize-vmalloc-area-when-registering-certain-callbacks.patch
i386-actively-synchronize-vmalloc-area-when-registering-certain-callbacks-tidy.patch
i386-fix-uses-of-user_mode-vs-user_mode_vm.patch
i386-fix-singlestep-through-an-int80-syscall.patch
i386-more-vsyscall-documentation.patch
fix-implicit-declaration-of-get_apic_id-in-arch-i386-kernel-apicc.patch
fix-the-imlicit-declaration-of-mtrr_centaur_report_mcr-in-arch-i386-kernel-cpu-centaurc.patch
fix-the-imlicit-declaration-of-mtrr_centaur_report_mcr-in-arch-i386-kernel-cpu-centaurc-fix.patch
i386-cleanup-after-cpu_gdt_descr-conversion-to.patch
i386-fix-dump_stack.patch
x86-cpuid4-doesnt-need-cpu-level-5.patch
x86-deterine-xapic-using-apic-version.patch
i386-spinlocks-disable-interrupts-only-if-we-enabled.patch
x86-some-fixups-for-the-x86_numaq-dependencies.patch
x86-make-_syscallx-macros-compile-in-pic-mode.patch
x86-topology-dont-create-a-control-file-for-bsp-that-cannot-be-removed.patch
x86-make-config_hotplug_cpu-depend-on-x86_pc.patch

  Pending a one-at-a-time re-review: will merge.

remove-entries-in-sys-firmware-acpi-for-processor-also.patch
remove-unnecessary-lapic-definition-from-acpidefh.patch
support-physical-cpu-hotplug-for-x86_64.patch
support-physical-cpu-hotplug-for-x86_64-fix-2.patch
patch-to-limit-present-cpus-to-fake-cpu-hot-add-testing.patch
enable-sci_emulate-to-manually-simulate-physical-hotplug-testing.patch
enable-sci_emulate-to-manually-simulate-physical-hotplug-testing-fix.patch
drivers-acpi-busc-make-struct-acpi_sci_dir-static.patch

  Will send to the relevant maintainers

ia64-use-i386-dmi_scanc.patch
ia64-use-i386-dmi_scanc-fix.patch
efi-dev-mem-simplify-efi_mem_attribute_range.patch
ia64-ioremap-check-efi-for-valid-memory-attributes.patch
dmi-only-ioremap-stuff-we-actually-need.patch
efi-keep-physical-table-addresses-in-efi-structure.patch
efi-fixes.patch
acpi-clean-up-memory-attribute-checking-for-map-read-write.patch

  Will merge.

revert-swsusp-fix-breakage-with-swap-on-lvm.patch
swsusp-low-level-interface-rev-2.patch
swsusp-separate-swap-writing-reading-code-rev-2.patch
swsusp-separate-swap-writing-reading-code-rev-2-fix-writing-progress-meter.patch
mm-kernel-power-move-externs-to-header-files.patch
swsusp-documentation-updates.patch
swsusp-documentation-updates-update.patch
swsusp-documentation-updates-warn-about-filesystems-mounted-from-usb-devices.patch
swsusp-documentation-fix.patch
add-s2ram-pointer-to-suspend-documentation.patch
swsusp-userland-interface.patch
swsusp-userland-interface-fixes.patch
swsusp-userland-interface-fix-breakage-with-swap-on-lvm.patch
swsusp-freeze-user-space-processes-first.patch
suspend-make-progress-printing-prettier.patch
swsusp-finally-solve-mysqld-problem.patch
swsusp-drain-high-mem-pages.patch
swsusp-add-check-for-suspension-of-x-controlled-devices.patch
swsusp-let-userland-tools-switch-console-on-suspend.patch
swsusp-add-s2ram-ioctl-to-userland-interface.patch
remove-kernel-power-pmcpm_unregister.patch

  Will merge.

pm-print-name-of-failed-suspend-function.patch

  Will send to Greg.

m68k-rtc-driver-cleanup.patch

  Will merge.

s390-wrong-interrupt-delivered-for-hsch-or-csch.patch
s390-cio-documentation-update.patch
s390-channel-path-measurements.patch
s390-early-parameter-parsing.patch
s390-proc-sys-vm-cmm_-permission-bits.patch
s390-bug-warnings.patch
s390-cpu-up-retries.patch
s390-connector-support.patch
s390-use-normal-switch-statement-for-ioctls-in-dasd_ioctlc.patch
s390-use-normal-switch-statement-for-ioctls-in-dasd_ioctlc-2.patch
s390-merge-cmb-into-dasdc.patch
s390-remove-dynamic-dasd-ioctls.patch
s390-remove-old-history-whitespave-from-partition-code.patch
s390-remove-experimental-flag-from-dasd-diag.patch
s390-random-values-in-result-of-biodasdinfo2.patch
s390-dasd-extended-error-reporting.patch
s390-tape-retry-flooding-by-deferred-cc-in-interrupt.patch
s390-tape-operation-abortion-leads-to-panic.patch
s390-fix-endless-retry-loop-in-tape-driver.patch
s390-3590-tape-driver.patch
s390-remove-support-for-ttys-over-ctc-connections.patch
s390-cex2a-crt-message-length.patch
s390-kzalloc-conversion-in-arch-s390.patch
s390-kzalloc-conversion-in-drivers-s390.patch
arch-s390-makefile-remove-finline-limit=10000.patch
dasd-cleanup-dasd_ioctl-fix.patch

  Will merge (needs a little work yet).

oops-reporting-tool.patch

  Might drop this.  Is it useful?

reiser4-export-page_cache_readahead.patch
ext3_readdir-use-generic-readahead.patch

  Will merge.

reduce-nr-of-ptr-derefs-in-fs-jffs2-summaryc.patch
remove-fs-jffs2-ioctlc.patch

  Will keep sending to maintainer

reduce-size-of-bio-mempools.patch
shrinks-sizeoffiles_struct-and-better-layout.patch
avoid-taking-global-tasklist_lock-for-single-threadedprocess-at-getrusage.patch
cleanup-cdrom_ioctl.patch
kill-cdrom-dev_ioctl-method.patch
move-read_mostly-definition-to-asm-cacheh.patch
fix-oops-in-invalidate_dquots.patch
kernel-cpusetc-mutex-conversion.patch
convert-kernel-rcupdatecrcu_barrier_sema-to-mutex.patch
convert-fs-9p-to-mutexes-fix-locking-bugs.patch
sem2mutex-kcapic.patch
sem2mutex-drivers-raw-connector-dcdbas-ppp_generic.patch
sem2mutex-drivers-scsi-ide-scsic.patch
sem2mutex-kernel.patch
sem2mutex-fs.patch
sem2mutex-drivers-block-pktcdvdc.patch
sem2mutex-drivers-block-floppyc.patch
sem2mutex-drivers-char.patch
sem2mutex-misc-static-one-file-mutexes.patch
sem2mutex-blockdev-2.patch
sem2mutex-blockdev-2-git-blktrace-fix.patch
sem2mutex-quota.patch
sem2mutex-inotify.patch
sem2mutex-tty.patch
sem2mutex-eventpoll.patch
sem2mutex-vfs_rename_mutex.patch
sem2mutex-iprune.patch
sem2mutex-jbd-j_checkpoint_mutex.patch
sem2mutex-kprobes.patch
sem2mutex-ipc-idsem.patch
sem2mutex-ipc-idsem-fix.patch
sem2mutex-fs-libfsc.patch
sem2mutex-fs-seq_filec.patch
sem2mutex-drivers-block-loopc.patch
sem2mutex-drivers-block-nbdc.patch
sem2mutex-sound-oss.patch
sem2mutex-jffs.patch
sem2mutex-ntfs.patch
sem2mutex-netfilter-x_tablec.patch
sem2mutex-autofs4-wq_sem.patch
convert-the-semaphores-in-the-sisusb-driver-to-mutexes.patch
sem2mutex-hpfs.patch
convert-ext3s-truncate_sem-to-a-mutex.patch
sem2mutex-ncpfs.patch
sem2mutex-udf.patch
sem2mutex-serial-port_write_mutex.patch
sem2mutex-drivers-ide.patch
kernel-modulec-semaphore-to-mutex-conversion-for-module_mutex.patch
oss-semaphore-to-mutex-conversion.patch
work-around-ppc64-bootup-bug-by-making-mutex-debugging-save-restore-irqs.patch
kernel-kernel-cpuc-to-mutexes.patch
fat_lock-is-used-as-a-mutex-convert-it-to-using-the-new-mutex.patch
snsc-kmalloc2kzalloc.patch
sigprocmask-kill-unneeded-temp-var.patch
fs-ufs-filec-drop-insane-header-dependencies.patch
extract-inode_inc_count-inode_dec_count.patch
minix-switch-to-inode_inc_link_count-inode_dec_link_count.patch
sysv-switch-to-inode_inc_link_count-inode_dec_link_count.patch
ext2-switch-to-inode_inc_link_count-inode_dec_link_count.patch
ufs-switch-to-inode_inc_link_count-inode_dec_link_count.patch
make-bug-messages-more-consistent.patch
notifier-profileh-forward-decl.patch
kill-_inline_.patch
pause_on_oops-command-line-option.patch
pnpbios-missing-small_tag_enddep-tag.patch
build_lock_ops-cleanup-preempt_disable-usage.patch
devpts-use-lib-parserc-for-parsing-mount-options.patch
kernel-rcupdatec-make-two-structs-static.patch
fs-filec-drop-insane-header-dependencies.patch
atomic-add_unless-cmpxchg-optimise.patch
get_empty_filp-tweaks-inline-epoll_init_file.patch
only-allocate-percpu-data-for-possible-cpus.patch
more-for_each_cpu-conversions.patch
i386-instead-of-poisoning-init-zone-change-protection.patch
__generic_per_cpu-changes.patch
fs-use-array_size-macro.patch
remove-fs-jffs2-histoh.patch
remove-isa-legacy-functions-drivers-char-toshibac.patch
remove-isa-legacy-functions-drivers-scsi-g_ncr5380c.patch
remove-isa-legacy-functions-drivers-scsi-in2000c.patch
remove-isa-legacy-functions-drivers-net-hp-plusc.patch
remove-isa-legacy-functions-drivers-net-lancec.patch
remove-isa-legacy-functions-remove-the-helpers.patch
remove-isa-legacy-functions-remove-documentation.patch
bitmap-region-cleanup.patch
bitmap-region-multiword-spanning-support.patch
bitmap-region-restructuring.patch
free_uid-locking-improvement.patch
represent-dirty__centisecs-as-jiffies-internally.patch
represent-laptop_mode-as-jiffies-internally.patch
range-checking-in-do_proc_dointvec_userhz_jiffies_conv.patch
rcu_process_callbacks-dont-cli-while-testing-nxtlist.patch
fs-9p-possible-cleanups.patch
fs-ext2-proper-ext2_get_parent-prototype.patch
fs-coda-proper-prototypes.patch
tvec_bases-too-large-for-per-cpu-data.patch
remove-drivers-mca-mca-procc.patch
unify-pxm_to_node-id-ver2-generic-code.patch
unify-pxm_to_node-id-ver2-for-ia64.patch
unify-pxm_to_node-id-ver2-for-x86_64.patch
unify-pxm_to_node-id-ver2-for-i386.patch
extract-ikconfig-use-mktemp1.patch
extract-ikconfig-be-sure-binoffset-exists-before-extracting.patch
extract-ikconfig-dont-use-long-options.patch
kill-include-linux-platformh-default_idle-cleanup.patch
rcutorture-tag-success-failure-line-with-module-parameters.patch
cpusets-only-wakeup-kswapd-for-zones-in-the-current-cpuset.patch
cpuset-cleanup-not-not-operators.patch
cpuset-use-combined-atomic_inc_return-calls.patch
cpuset-memory-spread-basic-implementation.patch
cpuset-memory-spread-page-cache-implementation-and-hooks.patch
cpuset-memory-spread-slab-cache-filesys.patch
cpuset-memory-spread-slab-cache-format.patch
cpuset-memory-spread-slab-cache-implementation.patch
cpuset-memory-spread-slab-cache-optimizations.patch
cpuset-memory-spread-slab-cache-hooks.patch
cpuset-remove-unnecessary-null-check.patch
cpuset-remove-unnecessary-null-check-comment-fix.patch
cpuset-dont-need-to-mark-cpuset_mems_generation-atomic.patch
cpuset-memory_spread_slab-drop-useless-pf_spread_page-check.patch
cpuset-remove-useless-local-variable-initialization.patch
# awaiting PJ ack
add-gfp-flag-__gfp_policy-to-control-policies-and-cpusets-redirection.patch
remove-double-semicolons.patch
isofs-remove-unused-debugging-macros.patch
remove-ipmi-pm_power_off-redefinition.patch
fast-ext3_statfs.patch
fw-abstract-type-size-specification-for-assembly.patch
config_unwind_info.patch
filemap_fdata_write-api-fix-end-parameter.patch
fadvise-async-write-commands.patch
early_printk-cleanup-trailiing-whitespace.patch
sb_set_blocksize-cleanup.patch
shmdt-check-address-aligment.patch
block-floppy98-removal-really.patch
sound-remove-pc98-specific-opl3_hw_opl3_pc98.patch
net-remove-config_net_cbus-conditional-for-ns8390.patch
hotplug_cpu-avoid-hitting-too-many-cachelines-in-recalc_bh_state.patch
balance_dirty_pages_ratelimited-take-nr_pages-arg.patch
set_page_dirty-return-value-fixes.patch
msync-perform-dirty-page-levelling.patch
msync-ms_sync-dont-hold-mmap_sem-while-syncing.patch
msync-fix-return-value.patch
fsync-extract-internal-code.patch
msync-use-do_fsync.patch
secure-digital-host-controller-id-and-regs.patch
secure-digital-host-controller-id-and-regs-fix.patch
mmc-secure-digital-host-controller-interface-driver.patch
mmc-secure-digital-host-controller-interface-driver-fix.patch
mmc-sdhci-build-fix.patch
updated-documentation-nfsroottxt.patch
console_setup-depends-wrongly-on-config_printk.patch
conditionalize-compat_sys_newfstatat.patch
show-mcp-menu-only-on-arch_sa1100.patch
ide-allow-ide-interface-to-specify-its-not-capable-of-32-bit.patch
deprecate-the-kernel_thread-export.patch
fix-value-computed-not-used-warnings.patch
update-obsolete_oss_driver-schedule-and-dependencies.patch
update-obsolete_oss_driver-schedule-and-dependencies-update.patch
make-the-oss-sound_via82cxxx-option-available-again.patch
rio-more-header-cleanup.patch
rioboot-lindent.patch
rioboot-post-lindent.patch
rio-driver-rework-continued-1.patch
rio-driver-rework-continued-2.patch
rio-driver-rework-continued-3.patch
rio-driver-rework-continued-4.patch
rio-driver-rework-continued-5.patch
yet-more-rio-cleaning-1-of-2.patch
yet-more-rio-cleaning-2-of-2.patch
deprecate-the-tasklist_lock-export.patch
sys_setrlimit-cleanup.patch
rlimit_cpu-fix-handling-of-a-zero-limit.patch
rlimit_cpu-document-wrong-return-value.patch
ext3-properly-report-backup-block-present-in-a-group.patch
fix-module-refcount-leak-in-__set_personality.patch
# greg might have issues
timer-irq-driven-soft-watchdog-cleanups.patch
softlockup-detection-vs-cpu-hotplug.patch
timer-irq-driven-soft-watchdog-cleanups-update.patch
strndup_user.patch
strndup_user-convert-module.patch
strndup_user-convert-keyctl.patch
keys-fix-key-quota-management-on-key-allocation.patch
keys-replace-duplicate-non-updateable-keys-rather-than-failing.patch
jbd-embed-j_commit_timer-in-journal-struct.patch
jbd-convert-kjournald-to-kthread-api.patch
missed-error-checking-for-intents-filp-in-open_namei.patch
small-cleanup-in-quotah.patch
decrapify-asm-generic-localh.patch
fs-inodec-make-iprune_mutex-static.patch
reiserfs-fix-transaction-overflowing.patch
reiserfs-handle-trans_id-overflow.patch
reiserfs-reiserfs_file_write-will-lose-error-code-when-a-0-length-write-occurs-w-o_sync.patch
introduce-fmode_exec-file-flag.patch
add-lookup_instantiate_filp-usage-warning.patch
isdn-fix-copy_to_user-unused-result-warning-in-isdn_ppp.patch
constify-tty-flip-buffer-handling.patch
drivers-block-nbdc-dont-defer-compile-error-to-runtime.patch
hysdn-remove-custom-types.patch
remove-module_parm.patch
remove-module_parm-fix.patch
kernel-paramsc-make-param_array-static.patch
fix-edd-to-properly-ignore-signature-of-non-existing-drives.patch
fix-defined-but-not-used-warning-in-net-rxrpc-maincrxrpc_initialise.patch
sysrq-cleanup.patch
cache-align-futex-hash-buckets.patch
inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
inotify-lock-avoidance-with-parent-watch-status-in-dentry-fix-2.patch
ide-fix-section-mismatch-warning.patch
block-floppy-fix-section-mismatch-warnings.patch
move-pp_major-from-ppdevh-to-majorh.patch
# controversial:
mark-unwind-info-for-signal-trampolines-in-vdsos.patch
reiserfs-cleanups.patch
initcall-failure-reporting.patch
reiserfs-use-balance_dirty_pages_ratelimited_nr-in-reiserfs_file_write.patch
hp300-fix-driver_register-return-handling-remove-dio_module_init.patch
eisa-tidy-up-driver_register-return-value.patch
amiga-fix-driver_register-return-handling-remove-zorro_module_init.patch
kconfig-clarify-memory-debug-options.patch
v9fs-consolidate-trans_sock-into-trans_fd.patch
v9fs-rename-tids-to-tags-to-be-consistent-with-plan-9-documentation.patch
v9fs-print-9p-messages.patch
v9fs-print-9p-messages-fix.patch
v9fs-print-9p-messages-fix-2.patch
fs-9p-make-2-functions-static.patch
v9fs-print-9p-messages-fix-3.patch
v9fs-print-9p-messages-fix-4.patch
v9fs-add-extension-field-to-tcreate.patch
v9fs-fix-vfs_inode-dereference-before-null-check.patch
v9fs-update-license-boilerplate.patch
9p-fix-name-consistency-problems.patch
9p-update-documentation.patch
smbfs-fix-debug-logging-only-compilation-error.patch
adjust-dev-kmemmemport-write-handlers.patch
remove-maintainers-entry-for-rtlinux.patch
fix-hardcoded-values-in-collie-frontlight.patch
collie-fix-missing-pcmcia-bits.patch
tpm-sparc32-build-fix.patch
ads7846-build-fix.patch
irq-uninline-migration-functions.patch
irq-prevent-enabling-of-previously-disabled-interrupt.patch
pollrdhup-epollrdhup-handling-for-half-closed-devices.patch
add-a-proper-prototype-for-setup_arch.patch
refactor-capable-to-one-implementation-add-__capable-helper.patch
make-cap_ptrace-enforce-ptrace_tracme-checks.patch
fix-messages-in-fs-minix.patch
freeze_bdev-cleanup.patch
move-cond_resched-after-iput-in-sync_sb_inodes.patch
reduce-sched-latency-in-shrink_dcache_sb.patch
kallsyms-handle-malloc-failure.patch
per-cpufy-net-proto-structures-add-percpu_counter_modbh.patch
per-cpufy-net-proto-structures-add-percpu_counter_modbh-tidy.patch
percpu-counters-add-percpu_counter_exceeds.patch
percpu-counters-add-percpu_counter_exceeds-tidy.patch
per-cpufy-net-proto-structures-protomemory_allocated.patch
per-cpufy-net-proto-structures-protomemory_allocated-use-percpu_counter_exceeds.patch
per-cpufy-net-proto-structures-sockets_allocated.patch
per-cpufy-net-proto-structures-protoinuse.patch
per-cpufy-net-proto-structures-protoinuse-fix.patch
ext3-fix-debug-logging-only-compilation-error.patch
find_task_by_pid-needs-tasklist_lock.patch
blk_dev_initrd-do-not-require-blk_dev_ram=y.patch
reiserfs-xattr_aclcreiserfs_get_acl-make-size-an-int.patch
md-bitmapcbitmap_mask_state-fix-inconsequent-null-checking.patch
drivers-char-ipmi-ipmi_msghandlerc-fix-a-memory-leak.patch
removal-of-long-incorrect-address-for-jamie-lokier.patch
remove-dead-address-from-maintainers-list.patch
indirect_print_item-warning-fix.patch
update-some-vfs-documentation.patch
update-some-vfs-documentation-fix.patch
honour-aop_truncate_page-returns-in-page_symlink.patch
make-address_space_operations-sync_page-return-void.patch
make-address_space_operations-invalidatepage-return-void.patch
make-address_space_operations-invalidatepage-return-void-jbd-fix.patch
make-address_space_operations-invalidatepage-return-void-versus-git-nfs.patch
make-address_space_operations-invalidatepage-return-void-fix.patch
maintainers-remove-dead-url.patch
ext2-flags-shouldnt-report-nogrpid.patch
fix-backwards-meaning-of-ms_verbose.patch
no-need-to-protect-current-group_info-in-sys_getgroups.patch
roundup_pow_of_two-64-bit-fix.patch
fix-alloc_large_system_hash-roundup.patch
fix-a-race-condition-between-i_mapping-and-iput.patch
i2o_dump_hrt-output-cleanup.patch
compat_sys_nfsservctl-handle-errors-correctly.patch
radix-tree-documentation-cleanups.patch
i4l-isdn_ttyc-fix-a-check-after-use.patch
fix-sb_mixer-use-before-validation.patch
altix-rs422-support-for-ioc4-serial-driver.patch
altix-rs422-support-for-ioc4-serial-driver-fixes.patch
cpumask-uninline-first_cpu.patch
cpumask-uninline-next_cpu.patch
cpumask-uninline-highest_possible_processor_id.patch
cpumask-uninline-any_online_cpu.patch
oss-fix-leak-in-awe_wave-also-remove-pointless-cast.patch
fix-memory-leak-in-isapnp.patch
use-kzalloc-and-kcalloc-in-core-fs-code.patch
udf-fix-uid-gid-options-and-add-uid-gid=ignore-and-forget.patch
direct-io-bug-fix-in-dio-handling-write-error.patch
doc-more-serial-console-info.patch
check-if-cpu-can-be-onlined-before-calling-smp_prepare_cpu.patch
check-if-cpu-can-be-onlined-before-calling-smp_prepare_cpu-fix.patch
cleanup-smp_call_function-up-build.patch
use-unsigned-int-types-for-a-faster-bsearch.patch
eisa-ignore-generated-file-drivers-eisa-devlisth.patch
insert-identical-resources-above-existing-resources.patch
make-sure-nobodys-leaking-resources.patch
udf-remove-duplicate-definitions.patch
ipmi-add-generic-pci-handling.patch
ipmi-add-generic-pci-handling-tidy.patch
ipmi-add-full-sysfs-support.patch
ipmi-add-full-sysfs-support-fixes.patch
ipmi-add-full-sysfs-support-tidy.patch
ipmi-add-full-sysfs-support-tidy-2.patch
hpet-header-sanitization.patch
doc-fix-example-firmware-source-code.patch
use-__read_mostly-on-some-hot-fs-variables.patch
remove-needless-check-in-binfmt_elfc.patch
remove-needless-check-in-fs-read_writec.patch
add-sa_percpu_irq-flag-support.patch
kernel-timec-remove-unused-pps_-variables.patch
vfsfs-locksc-cleanup-locks_insert_block.patch
vfsfs-lockscnfsd4-add-race_free-posix_lock_file_conf.patch
vfsfs-lockscnfsd4-add-race_free-posix_lock_file_conf-tidy.patch
nfsd4-return-conflict-lock-without-races.patch

  Will merge, subject to re-review.

3c59x-use-mii_check_media.patch
3c59x-use-mii_check_media-tidy.patch
3c59x-decrease-polling-intervall.patch
3c59x-carriercheck-for-forced-media.patch
3c59x-use-ethtool_op_get_link.patch
3c59x-remove-per-driver-versioning.patch
3c59x-minor-cleanups.patch
3c59x-documentation-update.patch

  Will merge.

exec-allow-init-to-exec-from-any-thread.patch
simplify-exec-from-inits-subthread.patch
remove-dead-kill_sl-prototype-from-schedh.patch
do_tty_hangup-use-group_send_sig_info-not.patch
do_sak-dont-depend-on-session-id-0.patch
pidhash-kill-switch_exec_pids.patch
choose_new_parent-remove-unused-arg-sanitize-exit_state-check.patch
remove-add_parents-parent-argument.patch
dont-use-remove_links-set_links-for-reparenting.patch
kill-set_links-remove_links.patch
pidhash-dont-count-idle-threads.patch
pidhash-dont-use-zero-pids.patch
reparent_thread-use-remove_parent-add_parent.patch
wait_for_helper-trivial-style-cleanup.patch
release_task-replace-open-coded-ptrace_unlink.patch
convert-sighand_cache-to-use-slab_destroy_by_rcu.patch
introduce-lock_task_sighand-helper.patch
introduce-sig_needs_tasklist-helper.patch
copy_process-cleanup-bad_fork_cleanup_sighand.patch
copy_process-cleanup-bad_fork_cleanup_signal.patch
copy_process-cleanup-bad_fork_cleanup_signal-update.patch
cleanup-__exit_signal.patch
rename-__exit_sighand-to-cleanup_sighand.patch
move-__exit_signal-to-kernel-exitc.patch
revert-optimize-sys_times-for-a-single-thread-process.patch
do-__unhash_process-under-siglock.patch
sys_times-dont-take-tasklist_lock.patch
relax-sig_needs_tasklist.patch
do_signal_stop-dont-take-tasklist_lock.patch
do_group_exit-dont-take-tasklist_lock.patch
do_sigaction-dont-take-tasklist_lock.patch
pids-kill-pidtype_tgid.patch
make-fork-atomic-wrt-pgrp-session-signals.patch

  This is Oleg's romp through the core kernel.  There's a ton of material
  here.  I'll probably send it all to Linus and ask him to review it.  (aka
  blame-shifting).

mempool-add-page-allocator.patch
mempool-use-common-mempool-page-allocator.patch
mempool-add-kmalloc-allocator.patch
mempool-use-common-mempool-kmalloc-allocator.patch
mempool-add-kzalloc-allocator.patch
mempool-use-common-mempool-kzalloc-allocator.patch
mempool-add-mempool_create_slab_pool.patch
mempool-use-mempool_create_slab_pool.patch

  Will merge.

autofs4-lookup-white-space-cleanup.patch
autofs4-use-libfs-routines-for-readdir.patch
autofs4-cant-mount-due-to-mount-point-dir-not-empty.patch
autofs4-expire-code-readability-cleanup.patch
autofs4-simplify-expire-tree-traversal.patch
autofs4-fix-false-negative-return-from-expire.patch
autofs4-expire-mounts-that-hold-no-extra-references-only.patch
autofs4-remove-update_atime-unused-function.patch
autofs4-add-a-show-mount-options-for-proc-filesystem.patch
autofs4-white-space-cleanup-for-waitqc.patch
autofs4-rename-simple_empty_nolock-function.patch
autofs4-change-may_umount-functions-to-boolean.patch
autofs4-increase-module-version.patch
autofs4-nameidata-needs-to-be-up-to-date-for-follow_link.patch
autofs4-add-v5-follow_link-mount-trigger-method.patch
autofs4-add-v5-expire-logic.patch
autofs4-add-new-packet-type-for-v5-communications.patch
autofs4-add-new-packet-type-for-v5-communications-fix.patch
autofs4-change-autofs_typ_-autofs_type_.patch
remove-redundant-check-from-autofs4_put_super.patch
autofs4-follow_link-missing-funtionality.patch

  Will merge.

permit-dual-mit-gpl-licenses.patch
led-class-documentation.patch
led-add-led-class.patch
led-add-led-trigger-support.patch
led-add-led-timer-trigger.patch
led-add-sharp-charger-status-led-trigger.patch
led-add-led-device-support-for-the-zaurus-corgi-and.patch
led-add-led-device-support-for-locomo-devices.patch
led-add-led-device-support-for-ixp4xx-devices.patch
led-add-device-support-for-tosa.patch
led-add-nand-mtd-activity-led-trigger.patch
led-add-ide-disk-activity-led-trigger.patch
ensure-ide-taskfile-calls-any-driver-specific.patch

  Will merge.

2tb-files-st_blocks-is-invalid-when-calling-stat64.patch
2tb-files-add-blkcnt_t.patch
2tb-files-add-blkcnt_t-fixes.patch
2tb-files-change-type-of-kstatfs-entries.patch

  Will merge.

ext3-get-blocks-maping-multiple-blocks-at-a-once.patch
ext3-get-blocks-maping-multiple-blocks-at-a-once-vs-ext3_readdir-use-generic-readahead.patch
ext3-get-blocks-maping-multiple-blocks-at-a-once-get-block-chain-confliction-fix.patch
ext3-get-blocks-maping-multiple-blocks-at-a-once-journal-reentry-fix.patch
ext3-get-blocks-multiple-block-allocation.patch
ext3-get-blocks-support-multiple-blocks-allocation-in.patch
ext3-get-blocks-adjust-accounting-info-in.patch
ext3-get-blocks-adjust-accounting-info-in-fix.patch
ext3-get-blocks-adjust-reservation-window-size-for.patch

  Will merge.

change-buffer_headb_size-to-size_t.patch
pass-b_size-to-get_block.patch
pass-b_size-to-get_block-speedup.patch
pass-b_size-to-get_block-remove-unneeded-assignments.patch
map-multiple-blocks-for-mpage_readpages.patch
map-multiple-blocks-for-mpage_readpages-tidy.patch
map-multiple-blocks-for-mpage_readpages-use-buffer_mapped.patch
remove-get_blocks-support.patch
ext3-cleanups-and-warn_on.patch
ext3-multi-block-get_block.patch

  Will probably merge.

ext3-add-o-bh-option.patch
ext3-add-o-bh-option-fix.patch
ext3-nobh-writeback-support-for-filesystems-blocksize.patch

  Will less probably merge.

mutex-subsystem-add-include-asm-arm-mutexh-fix.patch

  Will send to rmk.

hrtimer-optimize-softirq-runqueues.patch
pass-current-time-to-hrtimer_forward.patch
posix-timer-cleanup-common_timer_get.patch
posix-timer-cleanup-common_timer_get-fix.patch
hrtimer-simplify-nanosleep.patch
hrtimer-remove-state-field.patch
hrtimer-remove-state-field-fix.patch
remove-it_real_value-calculation-from-proc-stat.patch
remove-define_ktime-and-ktime_to_clock_t.patch
remove-nsec_t-typedef.patch
hrtimers-remove-data-field.patch

  Will merge.

time-clocksource-infrastructure.patch
time-use-clocksource-infrastructure-for-update_wall_time.patch
time-let-user-request-precision-from-current_tick_length.patch
time-use-clocksource-abstraction-for-ntp-adjustments.patch
time-introduce-arch-generic-time-accessors.patch
time-i386-conversion-part-1-move-timer_pitc-to-i8253c.patch
time-i386-conversion-part-2-rework-tsc-support.patch
time-i386-conversion-part-3-enable-generic-timekeeping.patch
time-i386-conversion-part-4-remove-old-timer_opts-code.patch
time-i386-clocksource-drivers.patch

  This has just been reissued.  Doesn't compile yet.  It's doubtful for
  2.6.17 - we'll see.

kprobes-clean-up-resume_execute.patch
x86-kprobes-booster.patch
x86-kprobes-booster-fix.patch
kretprobe-kretprobe-booster.patch
kretprobe-kretprobe-booster-spinlock-recursive-remove.patch
kretprobe-instance-recycled-by-parent-process.patch
kretprobe-instance-recycled-by-parent-process-tidy.patch
kretprobe-instance-recycled-by-parent-process-fix.patch
kprobe-handler-discard-user-space-trap.patch
kprobe-handler-discard-user-space-trap-fix.patch
kprobe-handler-discard-user-space-trap-fix-2.patch
kprobe-handler-discard-user-space-trap-fix-3.patch
kprobes-fix-broken-fault-handling-for-i386.patch
kprobes-fix-broken-fault-handling-for-x86_64.patch
kprobes-fix-broken-fault-handling-for-powerpc64.patch
kprobes-fix-broken-fault-handling-for-ia64.patch
kprobes-fix-broken-fault-handling-for-sparc64.patch
kprobes-fix-broken-fault-handling-for-sparc64-fix.patch

  Will merge.

dlm-core-locking.patch
dlm-core-locking-resend-lookups.patch
dlm-lockspaces-callbacks-directory.patch
dlm-communication.patch
dlm-recovery.patch
dlm-recovery-clear-new_master-flag.patch
dlm-recovery-remove-true-false-defines.patch
dlm-configuration.patch
dlm-device-interface.patch
dlm-device-interface-fix-device-refcount.patch
dlm-device-interface-dlm-force-unlock.patch
dlm-device-interface-missing-variable.patch
dlm-device-interface-check-allocation.patch
dlm-device-interface-fix-unlock-race.patch
dlm-device-interface-use-kzalloc.patch
dlm-debug-fs.patch
dlm-build.patch
dlm-node-weights.patch
dlm-rsb-flag-ops-with-inlined-functions.patch
dlm-rework-recovery-control.patch
dlm-better-handling-of-first-lock.patch
dlm-no-directory-option.patch
dlm-release-list-of-root-rsbs.patch
dlm-return-error-in-status-reply.patch
configfs-export-config_group_find_obj.patch
dlm-use-configfs.patch
dlm-remove-file.patch
dlm-use-jhash.patch
dlm-maintainer.patch
drivers-dlm-fix-up-schedule_timeout-usage.patch
dlm-cleanup-unused-functions.patch
dlm-include-own-headers.patch
dlm-sem2mutex.patch

  Will continue to baby-sit these in -mm.

isdn4linux-siemens-gigaset-drivers-kconfigs-and-makefiles.patch
isdn4linux-siemens-gigaset-drivers-common-module.patch
isdn4linux-siemens-gigaset-drivers-event-layer.patch
isdn4linux-siemens-gigaset-drivers-isdn4linux-interface.patch
isdn4linux-siemens-gigaset-drivers-tty-interface.patch
isdn4linux-siemens-gigaset-drivers-procfs-interface.patch
isdn4linux-siemens-gigaset-drivers-direct-usb-connection.patch
isdn4linux-siemens-gigaset-drivers-isochronous-data-handler.patch
isdn4linux-siemens-gigaset-drivers-m105-usb-dect-adapter.patch
dead-code-in-drivers-isdn-avm-avmcardh.patch

  Will ping Karsten.

edac-switch-to-kthread_-api.patch
edac-switch-to-kthread_-api-tidy.patch
edac-printk-cleanup.patch
edac-name-cleanup.patch
edac-amd76x-pci_dev_get-pci_dev_put-fixes.patch
edac-e752x-cleanup.patch
edac-i82860-cleanup.patch
edac-i82875p-cleanup.patch
edac-e7xxx-fix-minor-logic-bug.patch
edac-cleanup-code-for-clearing-initial-errors.patch
edac-edac_mc_add_mc-fix-1.patch
edac-edac_mc_add_mc-fix-2.patch
edac-kobject_init-kobject_put-fixes.patch
edac-kobject-sysfs-fixes.patch
edac-protect-memory-controller-list.patch
edac-kconfig-dependency-changes.patch
edac-reorder-export_symbol-macros.patch
edac-formatting-cleanup.patch
edac-documentation-spelling-fixes.patch
edac-use-sysbus_message-in-e752x-code.patch
edac-use-sysbus_message-in-e752x-code-fix.patch
edac-add-maintainers-for-chipset-drivers.patch
edac-use-export_symbol_gpl.patch

  Will merge.

knfsd-change-the-store-of-auth_domains-to-not-be-a-cache.patch
knfsd-change-the-store-of-auth_domains-to-not-be-a-cache-fix.patch
knfsd-change-the-store-of-auth_domains-to-not-be-a-cache-fix-2.patch
knfsd-change-the-store-of-auth_domains-to-not-be-a-cache-fix-3.patch
knfsd-change-the-store-of-auth_domains-to-not-be-a-cache-fix-3-fix.patch
knfsd-break-the-hard-linkage-from-svc_expkey-to-svc_export.patch
knfsd-get-rid-of-inplace-sunrpc-caches.patch
knfsd-create-cache_lookup-function-instead-of-using-a-macro-to-declare-one.patch
knfsd-convert-ip_map-cache-to-use-the-new-lookup-routine.patch
knfsd-use-new-cache_lookup-for-svc_export.patch
knfsd-use-new-cache_lookup-for-svc_expkey-cache.patch
knfsd-use-new-sunrpc-cache-for-rsi-cache.patch
knfsd-use-new-cache-code-for-rsc-cache.patch
knfsd-use-new-cache-code-for-name-id-lookup-caches.patch
knfsd-an-assortment-of-little-fixes-to-the-sunrpc-cache-code.patch
knfsd-remove-definecachelookup.patch
knfsd-unexport-cache_fresh-and-fix-a-small-race.patch
knfsd-convert-sunrpc_cache-to-use-krefs.patch
knfsd-convert-sunrpc_cache-to-use-krefs-fix.patch
fs-nfsd-exportcnet-sunrpc-cachec-make-needlessly-global-code-static.patch

  Will merge after confirmation from Neil.

sched-fix-task-interactivity-calculation.patch
small-schedule-microoptimization.patch
#
sched-implement-smpnice.patch
sched-smpnice-apply-review-suggestions.patch
sched-smpnice-fix-average-load-per-run-queue-calculations.patch
sched-store-weighted-load-on-up.patch
sched-add-discrete-weighted-cpu-load-function.patch
sched-add-above-background-load-function.patch
# Suresh had problems
# con:
sched-cleanup_task_activated.patch
sched-make_task_noninteractive_use_sleep_type.patch
sched-dont_decrease_idle_sleep_avg.patch
sched-include_noninteractive_sleep_in_idle_detect.patch
sched-remove-on-runqueue-requeueing.patch
sched-activate-sched-batch-expired.patch
sched-reduce-overhead-of-calc_load.patch
#
sched-fix-interactive-task-starvation.patch
#
# "strange load balancing problems": [email blocked]
sched-new-sched-domain-for-representing-multi-core.patch
sched-fix-group-power-for-allnodes_domains.patch
x86-dont-use-cpuid2-to-determine-cache-info-if-cpuid4-is-supported.patch

  Will mostly-merge.  We'll see.

mm-implement-swap-prefetching.patch
mm-implement-swap-prefetching-fix.patch
mm-implement-swap-prefetching-tweaks.patch

  Still don't have a compelling argument for this, IMO.

cmpci-dont-use-generig_hweight32.patch
frv-remove-unnecessary-ampersand.patch
function-typo-fixes.patch
um-fix-undefined-reference-to-hweight32.patch
arm-fix-undefined-reference-to-generic_fls.patch
oss-sonicvibesc-defines-its-own-hweight32.patch
bitops-alpha-use-config-options-instead-of-__alpha_fix__-and-__alpha_cix__.patch
bitops-ia64-use-cpu_set-instead-of-__set_bit.patch
bitops-parisc-add-pair-in-__ffz-macro.patch
bitops-cris-remove-unnecessary-local_irq_restore.patch
bitops-use-non-atomic-operations-for-minix__bit-and-ext2__bit.patch
bitops-generic-test_and_setclearchange_bit.patch
bitops-generic-test_and_setclearchange_bit-fix.patch
bitops-generic-__test_and_setclearchange_bit-and-test_bit.patch
bitops-generic-__ffs.patch
bitops-generic-ffz.patch
bitops-generic-fls.patch
bitops-generic-fls64.patch
bitops-generic-find_nextfirst_zero_bit.patch
bitops-generic-sched_find_first_bit.patch
bitops-generic-ffs.patch
bitops-generic-hweight6432168.patch
bitops-generic-hweight6432168-fix.patch
bitops-generic-ext2_setcleartestfind_first_zerofind_next_zero_bit.patch
bitops-generic-ext2_setclear_bit_atomic.patch
bitops-generic-minix_testsettest_and_cleartestfind_first_zero_bit.patch
bitops-alpha-use-generic-bitops.patch
bitops-arm-use-generic-bitops.patch
bitops-arm26-use-generic-bitops.patch
bitops-cris-use-generic-bitops.patch
bitops-frv-use-generic-bitops.patch
bitops-h8300-use-generic-bitops.patch
bitops-i386-use-generic-bitops.patch
bitops-ia64-use-generic-bitops.patch
bitops-m32r-use-generic-bitops.patch
bitops-m68k-use-generic-bitops.patch
bitops-m68k-use-generic-bitops-fix.patch
bitops-ppc-use-generic-bitops.patch
bitops-m68knommu-use-generic-bitops.patch
bitops-mips-use-generic-bitops.patch
bitops-parisc-use-generic-bitops.patch
bitops-powerpc-use-generic-bitops.patch
bitops-s390-use-generic-bitops.patch
bitops-sh-use-generic-bitops.patch
bitops-sh64-use-generic-bitops.patch
bitops-sparc-use-generic-bitops.patch
bitops-sparc64-use-generic-bitops.patch
bitops-v850-use-generic-bitops.patch
bitops-x86_64-use-generic-bitops.patch
bitops-xtensa-use-generic-bitops.patch
bitops-update-include-asm-generic-bitopsh.patch
bitops-make-thread_infoflags-an-unsigned-long.patch
bitops-ia64-make-partial_pagebitmap-an-unsigned-long.patch
bitops-ntfs-remove-generic_ffs.patch
bitops-remove-unused-generic-bitops-in-include-linux-bitopsh.patch
bitops-hweight-related-cleanup.patch
bitops-hweight-speedup.patch

  Will merge

unify-pfn_to_page-generic-functions.patch
unify-pfn_to_page-sparc64-pfn_to_page.patch
unify-pfn_to_page-i386-pfn_to_page.patch
unify-pfn_to_page-x86_64-pfn_to_page.patch
unify-pfn_to_page-powerpc-pfn_to_page.patch
unify-pfn_to_page-alpha-pfn_to_page.patch
unify-pfn_to_page-arm-pfn_to_page.patch
unify-pfn_to_page-arm26-pfn_to_page.patch
unify-pfn_to_page-cris-pfn_to_page.patch
unify-pfn_to_page-frv-pfn_to_page.patch
unify-pfn_to_page-h8300-pfn_to_page.patch
unify-pfn_to_page-m32r-pfn_to_page.patch
unify-pfn_to_page-mips-pfn_to_page.patch
unify-pfn_to_page-parisc-pfn_to_page.patch
unify-pfn_to_page-ppc-pfn_to_page.patch
unify-pfn_to_page-s390-pfn_to_page.patch
unify-pfn_to_page-sh-pfn_to_page.patch
unify-pfn_to_page-sh64-pfn_to_page.patch
unify-pfn_to_page-sparc-pfn_to_page.patch
unify-pfn_to_page-uml-pfn_to_page.patch
unify-pfn_to_page-v850-pfn_to_page.patch
unify-pfn_to_page-xtensa-pfn_to_page.patch
unify-pfn_to_page-ia64-pfn_to_page.patch
remove-zone_mem_map.patch
for_each_online_pgdat-take2-define.patch
for_each_online_pgdat-take2-for_each_bootmem.patch
for_each_online_pgdat-take2-for_each_bootmem-fix.patch
for_each_online_pgdat-take2-renaming.patch
for_each_online_pgdat-take2-remove-sorting-pgdat.patch
for_each_online_pgdat-take2-remove-pgdat_list.patch
uninline-zone-helpers.patch
uninline-zone-helpers-fix.patch

  Will merge.

ia64-add-ptr-to-compatpatch.patch
s390-add-ptr-compatpatch.patch
parisc-add-ptr-compatpatch.patch
mips-add-ptr-compatpatch.patch
lightweight-robust-futexes-arch-defaults.patch
lightweight-robust-futexes-arch-defaults-fix.patch
lightweight-robust-futexes-core.patch
lightweight-robust-futexes-docs.patch
lightweight-robust-futexes-docs-update.patch
lightweight-robust-futexes-compat.patch
lightweight-robust-futexes-i386.patch
lightweight-robust-futexes-i386-fix.patch
lightweight-robust-futexes-x86_64.patch
lightweight-robust-futexes-x86_64-fix.patch

  Will merge.

notifier-chain-update-api-changes.patch
notifier-chain-update-api-changes-register-atomic_notifiers-in-atomic-context.patch
notifier-chain-update-api-changes-export-new-notifier-chain-routines-as-gpl.patch
notifier-chain-update-api-changes-avoid-calling-down_read-and-down_write-during-startup.patch
notifier-chain-update-simple-definition-changes.patch
notifier-chain-update-remove-unneeded-protection.patch
notifier-chain-update-remove-unneeded-protection-the-idle-notifier-chain-should-be-atomic.patch
notifier-chain-update-die_chain-changes.patch
notifier-chain-update-dont-unregister-yourself.patch
notifier-chain-update-dont-unregister-yourself-fix.patch
notifier-chain-update-changes-to-dcdbasc.patch
notifier-chain-update-update-usb_notify.patch
notifier-chain-update-remaining-changes-for-new-api.patch
notifier-chain-initialization.patch

  Will merge.  (Not my favouritest-ever patches, but they do fix bugs).

mips-fixed-collision-of-rtc-function-name.patch
rtc-subsystem-library-functions.patch
rtc-subsystem-library-functions-fix.patch
rtc-subsystem-arm-cleanup.patch
rtc-subsystem-arm-integrator-cleanup.patch
rtc-subsystem-class.patch
rtc-subsystem-i2c-cleanup.patch
rtc-subsystem-i2c-driver-ids.patch
rtc-subsystem-sysfs-interface.patch
rtc-subsystem-proc-interface.patch
rtc-subsystem-dev-interface.patch
rtc-subsystem-x1205-driver.patch
rtc-subsystem-test-device-driver.patch
rtc-subsystem-ds1672-driver.patch
rtc-subsystem-pcf8563-driver.patch
rtc-subsystem-rs5c372-driver.patch
rtc-subsystem-ep93xx-driver.patch
rtc-subsystem-sa1100-pxa2xx-driver.patch
rtc-subsystem-m48t86-driver.patch

  Will merge.

rtc-remove-rtc-uip-synchronization-on-x86.patch
rtc-remove-rtc-uip-synchronization-on-x86_64.patch
rtc-remove-rtc-uip-synchronization-on-x86_64-fix.patch
rtc-remove-rtc-uip-synchronization-on-sparc64.patch
rtc-remove-rtc-uip-synchronization-on-ppc-chrp-arch-ppc.patch
rtc-remove-rtc-uip-synchronization-on-chrp-arch-powerpc.patch
rtc-remove-rtc-uip-synchronization-on-ppc-maple.patch
rtc-remove-rtc-uip-synchronization-on-arm.patch
rtc-remove-rtc-uip-synchronization-on-mips-mc146818.patch
rtc-remove-rtc-uip-synchronization-on-mips-based-dec.patch
rtc-remove-rtc-uip-synchronization-on-sh03.patch
rtc-remove-rtc-uip-synchronization-on-sh-mpc1211.patch
rtc-remove-rtc-uip-synchronization-on-alpha.patch
rtc-fix-up-some-rtc-whitespace-and-style.patch
rtc-remove-some-duplicate-bcd-definitions.patch

  Will probably merge.

trivial-cleanup-to-proc_check_chroot.patch
resurrect-__put_task_struct.patch
task-rcu-protect-task-usage.patch
task-make-task-list-manipulations-rcu-safe.patch
make-setsid-more-robust.patch
proc-fix-the-inode-number-on-proc-pid-fd.patch
proc-remove-useless-bkl-in-proc_pid_readlink.patch
proc-remove-unnecessary-and-misleading-assignments.patch
proc-simplify-the-ownership-rules-for-proc.patch
proc-replace-proc_inodetype-with-proc_inodefd.patch
proc-remove-bogus-proc_task_permission.patch
proc-kill-proc_mem_inode_operations.patch
proc-properly-filter-out-files-that-are-not-visible.patch
proc-fix-the-link-count-for-proc-pid-task.patch
proc-move-proc_maps_operations-into-task_mmuc.patch
dcache-add-helper-d_hash_and_lookup.patch
proc-rewrite-the-proc-dentry-flush-on-exit.patch
proc-close-the-race-of-a-process-dying-durning.patch
proc-refactor-reading-directories-of-tasks.patch
proc-refactor-reading-directories-of-tasks-dont-assume-pid_aliveinit_task-==-false.patch
proc-remove-tasklist_lock-from-proc_pid_readdir.patch
proc-remove-tasklist_lock-from-proc_pid_lookup-and.patch
proc-remove-tasklist_lock-from-proc_pid_readdir-simply-fix-first_tgid.patch
proc-remove-tasklist_lock-from-proc_pid_readdir-simply-fix-first_tgid-fix.patch
#
pidhash-refactor-the-pid-hash-table.patch
pidhash-refactor-the-pid-hash-table-fixes.patch
#
proc-make-proc_numbuf-the-buffer-size-for-holding-a.patch
proc-dont-lock-task_structs-indefinitely.patch
proc-dont-lock-task_structs-indefinitely-git-nfs-fix.patch
proc-dont-lock-task_structs-indefinitely-cpuset-fix-2.patch
proc-dont-lock-task_structs-indefinitely-mem_read-fix.patch
proc-dont-lock-task_structs-indefinitely-task_mmu-bug-fix.patch
proc-dont-lock-task_structs-indefinitely-kill-init_tref.patch
proc-dont-lock-task_structs-indefinitely-kill-init_tref-inode.patch
proc-dont-lock-task_structs-indefinitely-tref-ensure-the-references-is-always-on-the-first-task.patch
proc-dont-lock-task_structs-indefinitely-always-drop-the-reference-count-in-tid_fd_revalidate.patch
proc-dont-lock-task_structs-indefinitely-fix-the-locking-when-reading-the-number-of-threads-in.patch
proc-dont-lock-task_structs-indefinitely-fix-the-locking-when-reading-the-number-of-threads-in-nitpick.patch
proc-dont-lock-task_structs-indefinitely-fix-stat-on-proc-pid.patch
proc-use-struct-pid-not-struct-task_ref.patch
proc-optimize-proc_check_dentry_visible.patch
proc-use-sane-permission-checks-on-the-proc-pid-fd.patch
proc-use-sane-permission-checks-on-the-proc-pid-fd-fix.patch
proc-use-sane-permission-checks-on-the-proc-pid-fd-fix-2.patch
proc-cleanup-proc_fd_access_allowed.patch
proc-remove-tasklist_lock-from-proc_task_readdir.patch
simplify-fix-first_tid.patch
simplify-fix-first_tid-fix.patch
cleanup-next_tid.patch

  Eric's romp through /proc.  Scary, not sure yet.

pnp-parport-adjust-pnp_register_driver-signature.patch
pnp-mpu401-adjust-pnp_register_driver-signature.patch
pnp-cs4236-adjust-pnp_register_driver-signature.patch
pnp-opl3sa2-adjust-pnp_register_driver-signature.patch
pnp-irda-adjust-pnp_register_driver-signature.patch
pnp-cs4232-adjust-pnp_register_driver-signature.patch
pnp-pnp-adjust-pnp_register_driver-signature.patch

  Will merge.

reiser4-*

  Will retain in -mm.

ide-amd756-no-host-side-cable-detection.patch
small-fixes-backported-to-old-ide-sis-driver.patch
ide_generic_all_on-warning-fix.patch
fix-ide-locking-error.patch

  Will consult with Alan and Bart.

vgacon-fix-ega-cursor-resize-function.patch
vgacon-add-support-for-soft-scrollback.patch
nvidiafb-add-suspend-and-resume-hooks.patch
fbdev-framebuffer-driver-for-geode-gx.patch
fbdev-framebuffer-driver-for-geode-gx-update.patch
fbdev-framebuffer-driver-for-geode-gx-warning-fix.patch
fbdev-framebuffer-driver-for-geode-gx-kconfig-fix-2.patch
matroxfb-simply-return-what-i2c_add_driver-does.patch
matrox-maven-memory-allocation-and-other-cleanups.patch
au1200fb-alchemy-au1200-framebuffer-driver.patch
fbdev-make-bios-edid-reading-configurable.patch
framebuffer-cmap-setting-return-values.patch
rivafb-remove-null-check.patch
nvidiafb-remove-null-check.patch
nvidiafb-remove-null-check-2.patch
i810fb-remove-null-check.patch
savagefb-remove-null-check.patch
atyfb-remove-dead-code.patch
imsttfb-remove-dead-code.patch
nvidiafb-add-id-for-quadro-nvs280.patch
newportcon-sparse-fix-warnings-in-newport-driver-about.patch
fbdev-add-modeline-for-1680x1050-60.patch
drivers-video-use-array_size-macro.patch

  Will merge.

device-mapper-snapshot-fix-origin_write-pending_exception-submission.patch
device-mapper-snapshot-replace-sibling-list.patch
device-mapper-snapshot-replace-sibling-list-fix.patch
device-mapper-snapshot-fix-invalidation.patch
drivers-md-dm-raid1c-fix-inconsistent-mirroring-after-interrupted.patch
dm-remove-sector_format.patch
dm-make-sure-queue_flag_cluster-is-set-properly.patch
dm-snapshot-fix-kcopyd-destructor.patch
dm-flush-queue-eintr.patch
dm-store-md-name.patch
dm-tidy-mdptr.patch
dm-table-store-md.patch
dm-store-geometry.patch
dm-md-dependency-tree-in-sysfs-holders-slaves-subdirectory.patch
dm-md-dependency-tree-in-sysfs-bd_claim_by_kobject.patch
dm-md-dependency-tree-in-sysfs-md-to-use-bd_claim_by_disk.patch
dm-md-dependency-tree-in-sysfs-dm-to-use-bd_claim_by_disk.patch
dm-md-dependency-tree-in-sysfs-convert-bd_sem-to-bd_mutex.patch
dm-remove-unnecessary-typecast.patch
md-dm-reduce-stack-usage-with-stacked-block-devices.patch

  Will merge after checking with Alasdair

md-make-sure-queue_flag_cluster-is-set-properly-for-md.patch
md-add-4-to-the-list-of-levels-for-which-bitmaps-are-supported.patch
md-fix-the-failed-count-for-version-0-superblocks.patch
md-update-status_resync-to-handle-large-devices.patch
md-split-disks-array-out-of-raid5-conf-structure-so-it-is-easier-to-grow.patch
md-allow-stripes-to-be-expanded-in-preparation-for-expanding-an-array.patch
md-allow-stripes-to-be-expanded-in-preparation-for-expanding-an-array-init_list_head-to-list_head-conversions.patch
md-allow-stripes-to-be-expanded-in-preparation-for-expanding-an-array-init_list_head-to-list_head-conversions-documentation-and-tidy-up-for-resize_stripes.patch
md-infrastructure-to-allow-normal-io-to-continue-while-array-is-expanding.patch
md-core-of-raid5-resize-process.patch
md-core-of-raid5-resize-process-make-new-function-stripe_to_pdidx-static.patch
md-final-stages-of-raid5-expand-code.patch
md-final-stages-of-raid5-expand-code-fix.patch
md-checkpoint-and-allow-restart-of-raid5-reshape.patch
md-checkpoint-and-allow-restart-of-raid5-reshape-remove-an-unused-variable.patch
md-only-checkpoint-expansion-progress-occasionally.patch
md-split-reshape-handler-in-check_reshape-and-start_reshape.patch
md-make-reshape-a-possible-sync_action-action.patch
md-support-suspending-of-io-to-regions-of-an-md-array.patch
md-improve-comments-about-locking-situation-in-raid5-make_request.patch
md-remove-some-stray-semi-colons-after-functions-called-in-macro.patch
sem2mutex-drivers-md.patch

  Will merge after checking with Neil.

optimize-select-poll-by-putting-small-data-sets-on-the-stack.patch
use-fget_light-in-select-poll.patch
fold-select_bits_alloc-free-into-caller-code.patch

  Will merge.

for_each_possible_cpu-defines-for_each_possible_cpu.patch
for_each_possible_cpu-defines-for_each_possible_cpu-fix.patch
for_each_possible_cpu-fixes-for-generic-part.patch
for_each_possible_cpu-network-codes.patch
for_each_possible_cpu-under-drivers-acpi.patch
for_each_possible_cpu-loopback-device.patch
for_each_possible_cpu-oprofile.patch
for_each_possible_cpu-scsi.patch
for_each_possible_cpu-for-arm.patch
for_each_possible_cpu-i386.patch
for_each_possible_cpu-i386-fix.patch
for_each_possible_cpu-i386-fix-2.patch
for_each_possible_cpu-ia64.patch
for_each_possible_cpu-mips.patch
for_each_possible_cpu-powerpc.patch
for_each_possible_cpu-ppc.patch
for_each_possible_cpu-s390.patch
for_each_possible_cpu-sh.patch
for_each_possible_cpu-sparc.patch
for_each_possible_cpu-sparc64.patch
for_each_possible_cpu-x86_64.patch
for_each_possible_cpu-xfs.patch
for_each_possible_cpu-documentaion.patch

  Will merge.

ia64-const-f_ops-fix.patch
mark-f_ops-const-in-the-inode.patch
make-most-file-operations-structs-in-fs-const.patch

  Will merge.

documentation-ioctl-messtxt-start-tree-wide-ioctl-registry.patch
docs-update-missing-files-and-descriptions-for-filesystems-00-index.patch

  Will merge.

arch-i386-kernel-microcodec-remove-the-obsolete-microcode_ioctl.patch
drivers-block-use-time_after-and-friends.patch
nvidia-agp-use-time_before_eq.patch
ide-tape-use-time_after-time_after_eq.patch
drivers-scsi-use-time_after-and-friends.patch
replace-0xff-with-correct-dma_xbit_mask.patch
vfree-null-check-fixup-for-sb_card.patch
maestro3-vfree-null-check-fixup.patch
no-need-to-check-vfree-arg-for-null-in-oss-sequencer.patch
vfree-does-its-own-null-check-no-need-to-be-explicit-in-oss-msndc.patch
fix-signed-vs-unsigned-in-nmi-watchdog.patch
trivial-typos-in-documentation-cputopologytxt.patch
typos-grab-bag-of-the-month.patch

  Will merge.


From: Ryan M. [email blocked] Subject: Re: -mm merge plans Date: Thu, 23 Mar 2006 16:59:09 +0900 Hello, Andrew Morton wrote: > A look at the -mm lineup for 2.6.17: > > > mm-implement-swap-prefetching.patch > mm-implement-swap-prefetching-fix.patch > mm-implement-swap-prefetching-tweaks.patch > > Still don't have a compelling argument for this, IMO. I hate to make a comparison based on the little information there is, but Windows Vista will have something like prefetch, albeit, exponentially more intrusive (read MS' explanation on their website). However, when I see that such technology is being embraced by the competitor to help improve the desktop (and it follows, the server space) and I see this better, non-invasive solution nearly rejected, I can't help but feel rather disappointed. To prefetch applications from swap to physical memory when there is little activity seems so obvious that I can't believe it hasn't been implemented before. I play World of Warcraft which saps away 1gb of physical memory in a heart-beat. During that period of time I run gobs of other networking applications as any desktop users might. They sometimes swap. I leave World of Warcraft and I can see them prefetched back to physical memory while not being removed from swap. To do something useful, particularly when it helps interactivity, when idle is a very smart use of resources. It is even smarter to save future swapping of those same applications because they're likely not to be removed from swap unless swap space is becoming limited. It is practically free and for long running desktop systems that seems a necessity. I don't have quantitative evidence, but I think the objective of swap prefetch speaks volumes itself. I can imagine it being useful in server-space, because having had anything swapped out in the past and it not having to be swapped again after prefetched could seriously help reduce disk accesses -- extremely important during heavy i/o loads. I hope others join me in explaining the very usefulness of swap prefetch -- it'd be great for someone with the time and abilities to provide quantitative reasons for this existing in mainline. best, Ryan M.
From: Jens Axboe [email blocked] Subject: Re: [ck] Re: -mm merge plans Date: Thu, 23 Mar 2006 09:09:26 +0100 On Thu, Mar 23 2006, Ryan M. wrote: > Hello, > > Andrew Morton wrote: > > A look at the -mm lineup for 2.6.17: > > > > > > > mm-implement-swap-prefetching.patch > > mm-implement-swap-prefetching-fix.patch > > mm-implement-swap-prefetching-tweaks.patch > > > > Still don't have a compelling argument for this, IMO. > > I hate to make a comparison based on the little information there is, > but Windows Vista will have something like prefetch, albeit, > exponentially more intrusive (read MS' explanation on their website). > However, when I see that such technology is being embraced by the > competitor to help improve the desktop (and it follows, the server > space) and I see this better, non-invasive solution nearly rejected, I > can't help but feel rather disappointed. > > To prefetch applications from swap to physical memory when there is > little activity seems so obvious that I can't believe it hasn't been > implemented before. It's a heuristic, and sometimes that will work well and sometimes it will not. What if during this period of inactivity, you start bringing everything in from swap again, only to page it right out because the next memory hog starts running? From a logical standpoint, swap prefetch and the vm must work closely together to avoid paging in things which really aren't needed. I've been running with the clockpro for the past week, which seems to handle this sort of thing extremely well. On a 1GB machine, running the vanilla kernels usually didn't see my use any swap. With the workload I use, I typically had about ~100MiB of page cache and the rest of memory full. Running clockpro, it's stabilized at ~288MiB of swap leaving me more room for cache - with very rare paging activity going on. Hardly a scientific test, but the feel is good. -- Jens Axboe
From: Con Kolivas [email blocked] Subject: Re: -mm merge plans Date: Thu, 23 Mar 2006 20:07:28 +1100 Jens Axboe writes: > It's a heuristic, and sometimes that will work well and sometimes it > will not. What if during this period of inactivity, you start bringing > everything in from swap again, only to page it right out because the > next memory hog starts running? From a logical standpoint, swap prefetch > and the vm must work closely together to avoid paging in things which > really aren't needed. If the system is idle it doesn't cost anything to bring those pages in (laptop mode disables any prefetching if you're thinking about power consumption on laptops). And if the system wants the ram that has been filled with prefetched pages wrongly, the prefetched pages are at the tail end of the inactive LRU list with a copy on backing store so if they're not accessed they'll be the first thing dropped in preference to anything else, without any I/O. Cheers, Con
From: Jens Axboe [email blocked] Subject: Re: [ck] Re: -mm merge plans Date: Thu, 23 Mar 2006 13:12:36 +0100 On Thu, Mar 23 2006, Con Kolivas wrote: > Jens Axboe writes: > > >It's a heuristic, and sometimes that will work well and sometimes it > >will not. What if during this period of inactivity, you start bringing > >everything in from swap again, only to page it right out because the > >next memory hog starts running? From a logical standpoint, swap prefetch > >and the vm must work closely together to avoid paging in things which > >really aren't needed. > > If the system is idle it doesn't cost anything to bring those pages in > (laptop mode disables any prefetching if you're thinking about power > consumption on laptops). And if the system wants the ram that has been > filled with prefetched pages wrongly, the prefetched pages are at the tail > end of the inactive LRU list with a copy on backing store so if they're not > accessed they'll be the first thing dropped in preference to anything > else, without any I/O. I missed the fact that you left these pages on backing store for easy dropping in the future. I guess if you didn't, it could coarsely be handled in user space easily. -- Jens Axboe
From: [email blocked] (Eric W. Biederman) Subject: Re: -mm merge plans Date: Fri, 24 Mar 2006 16:33:53 -0700 Andrew Morton [email blocked] writes: > This is Oleg's romp through the core kernel. There's a ton of material > here. I'll probably send it all to Linus and ask him to review it. (aka > blame-shifting). A couple of those are mine... :) > Eric's romp through /proc. Scary, not sure yet. And a couple of these were Oleg's :) Anything that can be done to make these less scary? Eric
From: Andrew Morton [email blocked] Subject: Re: -mm merge plans Date: Fri, 24 Mar 2006 15:53:32 -0800 [email blocked] (Eric W. Biederman) wrote: > > Andrew Morton [email blocked] writes: > > > This is Oleg's romp through the core kernel. There's a ton of material > > here. I'll probably send it all to Linus and ask him to review it. (aka > > blame-shifting). > > A couple of those are mine... :) > > > Eric's romp through /proc. Scary, not sure yet. > > And a couple of these were Oleg's :) You're just trying to trick me into thinking that you're different guys. > Anything that can be done to make these less scary? Nothing clever that I can think of, no. It's just a whole lot of code in areas which are tricky and in which few people work and in which reviewing resources are slight. We'll have a couple of months to shake things out. Any lingering problems will be small. As long as the small-lingering-problems aren't security holes then OK, that's liveable with.
From: [email blocked] (Eric W. Biederman) Subject: Re: -mm merge plans Date: Fri, 24 Mar 2006 17:50:29 -0700 Andrew Morton [email blocked] writes: > [email blocked] (Eric W. Biederman) wrote: >> >> Andrew Morton [email blocked] writes: >> >> > This is Oleg's romp through the core kernel. There's a ton of material >> > here. I'll probably send it all to Linus and ask him to review it. (aka >> > blame-shifting). >> >> A couple of those are mine... :) >> >> > Eric's romp through /proc. Scary, not sure yet. >> >> And a couple of these were Oleg's :) > > You're just trying to trick me into thinking that you're different guys. >> Anything that can be done to make these less scary? > > Nothing clever that I can think of, no. It's just a whole lot of code in > areas which are tricky and in which few people work and in which reviewing > resources are slight. Ok. Thanks. At least I now know why it is scary. > We'll have a couple of months to shake things out. Any lingering problems > will be small. As long as the small-lingering-problems aren't security > holes then OK, that's liveable with. Eric



Related Links:

Boy oh boy, I want swap prefetch!

March 28, 2006 - 8:59am

My Linux workstation doubles as an LSF node on our network. (LSF == Load Sharing Facility--a set of batch queues that spread tasks over the network.) We have very large jobs that run while I'm away from my workstation. The machine usually runs smaller jobs during the day, and there's a mechanism to block LSF during normal business hours.

My desktop environment gets pushed to swap pretty much completely over night, so practically nothing is resident when I arrive in the morning. It takes up to 30 seconds to unlock X, and can take minutes of clicking on things and waiting for everything to fault back in until my machine's usable. My WinXP laptop boots to a usable state in less time, despite loading half a dozen antivirus, firewall, or SMS related tasks.

At least w/ swap prefetch, I could throttle LSF, grab my morning coffee, and the idle-fetcher will have brought most of my desktop environment back in while I wasn't looking. I wouldn't be playing the "click, wait 10-20 seconds for it to unfreeze, click, wait another 5 seconds, click, wait 10-15 seconds" game. The latter does really horrible things for concentration. I can't go for my morning coffee between stalls, and I have to interact w/ the machine to generate the faults that bring things in. This just doesn't feel right. It's such a mindless, automatable task that it seems like something a computer should do.

One thing I *have* considered doing is to try to learn enough VM magic to write a program that attaches to tasks from userspace and just tries to fault in all their pages. That, though, seems like it could be crazy to attempt, since some tasks have waaaay more pages mapped than they ever intend to have in memory at one time. Only the kernel has any clue what the real working set is.

--Joe

"pre-remove" the pages from memory

March 28, 2006 - 11:15am
Anonymous (not verified)

Couldn't you just make a small program that runs a little before you come in, copies a huge file (Even a huge hunk of /dev/zero), and exits?

That should swap out most of the LSF pages, making the swap-in of the desktop components quite a bit faster...

The reason that your Windows starts faster, I guess, is that there's only things being put into memory, nothing needs to be saved (And the memory being pushed around is probably much less than for an already started machine).

Swap prefetch still helps with that idea

March 28, 2006 - 2:54pm

That solves the issue of how to force the unwanted pages out to swap. Now solve the issue of how to persuade the machine to swap back in while he gets his cup of coffee (and is compelled to leave his machine locked by company policy, I'd assume).

I've started running swap prefetch on my machine, which gets used as a compile node by other machines on the network. If someone ran a large compile job overnight, they could easily trigger a complete swapout of all my desktop stuff; once it had finished, the speed of my machine didn't recover until I was sitting impatiently at it, even though there was a huge amount of free RAM (sometimes as much as 900MB, on a 1GB machine), causing my machine to take 10 seconds or so to unlock X, and a good 20 odd seconds to do things like swap in KMail.

With swap prefetch enabled, the jobs finish, freeing up the RAM they'd claimed, and the machine slowly gets back to the unswapped state; it seems to take around 30-40 seconds to recover fully, which means that I don't notice it swapping when I'm in. For Mr Z's situation, the behaviour will be similar, and swap prefetch will help, even with your script to force LSF out to swap.

swapoff =P

March 29, 2006 - 12:56am
Anonymous (not verified)

swapoff =P

Not a solution.

March 31, 2006 - 7:38am

That only works if you're root. I'm a mortal user.

If this patch does make it in to the Linux kernel, I'm unfortunately not going to see it on my desktop for a couple years, until the next major wave of upgrading RHEL at the office. They only seem to do that every few years. In fact, the last upgrade I had was from RH 7.3 to RHEL 3.

What about swap in?

March 28, 2006 - 4:51pm

See, the thing is that the LSF job that pushed everything to disk is long since gone. There are few or no pages left to push out--bdflush long since got them. I still have to bring a couple hundred megabytes of MY working set back in, one page fault at a time.

Yet Another Option

March 29, 2006 - 2:06am
Anonymous (not verified)

I like the aforementioned idea of turning the swap off (via swapoff and then persumably back on via swapon) to force loading of it back into memory. If you don't have enough RAM for everything to fit without swap, you could just make two swap partitions and have a cron script flip between them (i.e., enable the second and then disable the first).

A crazier idea would be to make a script that parses through the maps files in the /proc/[0-9]* directories owned by you for {/usr,}/lib and {/usr,}/bin files and then mmaps them and reads through all the pages (this should effictively bring them back into RAM as I believe the kernel uses a copy-on-write process and library fixups are limited to just a few pages).

Forcing swap-in

March 29, 2006 - 3:07am

A crazier idea would be to make a script that parses through the maps files in the /proc/[0-9]* directories owned by you for {/usr,}/lib and {/usr,}/bin files and hen mmaps them and reads through all the pages (this should effictively bring them back into RAM as I believe the kernel uses a copy-on-write process and library fixups are limited to just a few pages).

I played with something like this a few years ago. Rather than mmap-ing the files, I ran as root and used ptrace to read each page. Thus code pages (both unmodified and containing fixups) and data pages all got swapped in.

You could do this as a regular user and just swap in your own processes, but you may miss processes owned by other UIDs that are important to you (for example, your X server and maybe a database server, if your "morning workload" includes some database queries).

I never finished it. The itch I was scratching was that a nightly rsync job that made a backup of my main filesystems used to page everything else out, making the morning "swapin" a bit of a chore. Then a newer kernel had more sensible behaviour and my need went away. And it also used to crash the machine when it touched some parts of the X server's memory. Never got around to debugging that.

I used to do something like "swapoff" at home...

March 31, 2006 - 7:40am

...and though it works, it's not a fantastic idea. You lose the on-disk copies of the page (as far as the kernel's concerned), so the pages you swapped in will need to be swapped back out later if something big comes along. And all those "went to swap and probably would stay there forever" pages came along for the ride, too.

... and after all, the swap-p

April 5, 2006 - 2:02pm
Anonymous (not verified)

... and after all, the swap-prefetch solution is much cleaner and works better anyway :D

so support it in getting into the kernel!

:-)

April 10, 2006 - 2:41am

Well, if you look at my other comments, you will see that I *do* support it going into the kernel.

Automate the Clicking...

March 28, 2006 - 4:55pm
Anonymous (not verified)

I needed a bit of a break this AM, so I looked into this. : )

How about using cron to run the following Python code, that does that clicking on each of those apps for you (well, switching the focus to them anyway), about 1/2hr or so before you come in:

import Xlib.X
import Xlib.display

display = Xlib.display.Display()
root = display.screen().root

for window in root.query_tree().children:
  display.set_input_focus(window,Xlib.X.RevertToNone,Xlib.X.CurrentTime)
  display.flush()

Suspend2 type function?

March 30, 2006 - 6:37pm
Anonymous (not verified)

Would it be possible to create a user controllable suspend2 type function which you could set before you leave for the day? Then in the morning run a command to restore the system to the previous state before the nightly build. This could be expanded to allow users to take live snapshots of their system before they do something that's likely to be memory intensive, then quickly recover from said functions.
IANAKD (I Am Not A Kernel Developer)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary