The patch titled initialise total_memory() earlier has been added to the -mm tree. Its filename is initialise-total_memory-earlier.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: initialise total_memory() earlier From: Andrew Morton <akpm@xxxxxxxx> Initialise total_memory earlier in boot. because if for some reason we run page reclaim early in boot, we don't want total_memory to be zero when we use it as a divisor. Cc: Yasunori Goto <y-goto@xxxxxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Martin Bligh <mbligh@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/linux/swap.h | 1 + mm/page_alloc.c | 6 +++--- mm/vmscan.c | 3 +-- 3 files changed, 5 insertions(+), 5 deletions(-) diff -puN mm/vmscan.c~initialise-total_memory-earlier mm/vmscan.c --- devel/mm/vmscan.c~initialise-total_memory-earlier 2006-06-05 23:59:50.000000000 -0700 +++ devel-akpm/mm/vmscan.c 2006-06-06 00:00:59.000000000 -0700 @@ -111,7 +111,7 @@ struct shrinker { * From 0 .. 100. Higher means more swappy. */ int vm_swappiness = 60; -static long total_memory; +long total_memory; static LIST_HEAD(shrinker_list); static DECLARE_RWSEM(shrinker_rwsem); @@ -1499,7 +1499,6 @@ static int __init kswapd_init(void) for_each_online_node(nid) kswapd_run(nid); - total_memory = nr_free_pagecache_pages(); hotcpu_notifier(cpu_callback, 0); return 0; } diff -puN mm/page_alloc.c~initialise-total_memory-earlier mm/page_alloc.c --- devel/mm/page_alloc.c~initialise-total_memory-earlier 2006-06-06 00:00:13.000000000 -0700 +++ devel-akpm/mm/page_alloc.c 2006-06-06 00:01:28.000000000 -0700 @@ -1725,9 +1725,9 @@ void __meminit build_all_zonelists(void) stop_machine_run(__build_all_zonelists, NULL, NR_CPUS); /* cpuset refresh routine should be here */ } - - printk("Built %i zonelists\n", num_online_nodes()); - + total_memory = nr_free_pagecache_pages(); + printk("Built %i zonelists. Total memory: %ld pages\n", + num_online_nodes(), total_memory); } /* diff -puN include/linux/swap.h~initialise-total_memory-earlier include/linux/swap.h --- devel/include/linux/swap.h~initialise-total_memory-earlier 2006-06-06 00:00:44.000000000 -0700 +++ devel-akpm/include/linux/swap.h 2006-06-06 00:00:56.000000000 -0700 @@ -185,6 +185,7 @@ extern unsigned long try_to_free_pages(s extern unsigned long shrink_all_memory(unsigned long nr_pages); extern int vm_swappiness; extern int remove_mapping(struct address_space *mapping, struct page *page); +extern long total_memory; #ifdef CONFIG_NUMA extern int zone_reclaim_mode; _ Patches currently in -mm which might be from akpm@xxxxxxxx are fix-hpet-operation-on-32-bit-nvidia-platforms-build-fix.patch git-acpi.patch acpi-update-asus_acpi-driver-registration-fix.patch catch-notification-of-memory-add-event-of-acpi-via-container-driver-register-start-func-for-memory-device.patch catch-notification-of-memory-add-event-of-acpi-via-container-driveravoid-redundant-call-add_memory.patch acpi-atlas-acpi-driver-fix.patch remove-for_each_cpu.patch sony_apci-resume.patch uninorth-agp-warning-fixes.patch alpha-agp-warning-fix.patch kauditd_thread-warning-fix.patch git-block.patch git-cifs.patch git-cpufreq-fixup.patch powernow-k8-crash-workaround.patch git-dvb.patch git-gfs2.patch git-infiniband.patch git-input.patch git-intelfb.patch git-klibc.patch git-hdrcleanup-fixup.patch git-hdrcleanup-vs-git-klibc-on-ia64.patch git-hdrcleanup-vs-git-klibc-on-ia64-2.patch git-hdrinstall-fixup.patch revert-sata_sil24-sii3124-sata-driver-endian-problem.patch git-libata-all.patch libata-reduce-timeouts.patch sdhci-truncated-pointer-fix.patch git-mtd.patch git-mtd-fixup.patch git-netdev-all.patch git-netdev-all-fixup.patch myri10ge-alpha-build-fix.patch smc911x-Kconfig-fix.patch pci-error-recovery-e1000-network-device-driver.patch forcedeth-typecast-cleanup.patch git-net.patch git-net-git-klibc-fixup.patch git-nfs-fixup.patch git-powerpc.patch powerpc-kbuild-warning-fix.patch git-rbtree.patch git-sas.patch revert-gregkh-pci-pci-test-that-drivers-properly-call-pci_set_master.patch gregkh-pci-kconfigurable-resources-arch-dependent-changes-arm-fix.patch kconfigurable-resources-mtd-fixes.patch megaraid_sas-add-support-for-zcr-controller-fix.patch areca-raid-linux-scsi-driver.patch git-scsi-target-warning-fix.patch git-scsi-target-fixup.patch git-supertrak-fixup.patch x86_64-mm-moving-phys_proc_id-and-cpu_core_id-to-cpuinfo_x86-warning-fix.patch x86_64-dont-warn-for-overflow-in-nommu-case-when-dma_mask-is-32bit-fix.patch pg_uncached-is-ia64-only.patch fix-update_mmu_cache-in-fremapc-fix.patch initialise-total_memory-earlier.patch page-migration-simplify-migrate_pages-tweaks.patch page-migration-support-moving-of-individual-pages-x86-support-fix.patch acx1xx-wireless-driver.patch tiacx-pci-build-fix.patch tiacx-ia64-fix.patch x86-kernel-irq-balancer-fix-tidy.patch i386-moving-phys_proc_id-and-cpu_core_id-to-cpuinfo_x86-warning-fix.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-tidy.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-arch_vma_name-fix.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-vs-x86_64-mm-reliable-stack-trace-support-i386.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-vs-x86_64-mm-reliable-stack-trace-support-i386-2.patch prune_one_dentry-tweaks.patch mmput-might-sleep.patch jbd-avoid-kfree-null.patch ext3_clear_inode-avoid-kfree-null.patch leds-amstrad-delta-led-support-tidy.patch connector-exports.patch config_net=n-build-fix.patch rewritten-backlight-infrastructure-for-portable-apple-computers-fix.patch allow-for-per-cpu-data-being-in-tdata-and-tbss-sections-fix.patch allow-for-per-cpu-data-being-in-tdata-and-tbss-sections-tidy.patch deprecate-smbfs-in-favour-of-cifs.patch ufs-printk-warning-fixes.patch msnd-section-fix.patch openpromfs-factorize-out-tidy.patch add-export_unused_symbol-and-export_unused_symbol_gpl-default.patch kernel-sysc-cleanups-fix.patch cpqarray-section-fix.patch pdflush-handle-resume-wakeups.patch schedule_on_each_cpu-reduce-kmalloc-size.patch ax88796-parallel-port-driver-build-fix.patch keys-fix-race-between-two-instantiators-of-a-key-tidy.patch for_each_cpu_mask-warning-fix.patch add-max6902-rtc-support-tidy.patch per-task-delay-accounting-proc-export-of-aggregated-block-i-o-delays-warning-fix.patch add-via-hw-rng-driver-fix.patch hangcheck-remove-monotomic_clock-on-x86.patch sched-fix-smt-nice-lock-contention-and-optimization-tidy.patch swap-prefetch-fix-lru_cache_add_tail-tidy.patch mark-address_space_operations-const-vs-ecryptfs-mmap-operations.patch ecryptfs-alpha-build-fix.patch namespaces-add-nsproxy-dont-include-compileh.patch namespaces-utsname-switch-to-using-uts-namespaces-alpha-fix.patch namespaces-utsname-use-init_utsname-when-appropriate-cifs-update.patch namespaces-utsname-implement-utsname-namespaces-export.patch namespaces-utsname-implement-utsname-namespaces-dont-include-compileh.patch namespaces-utsname-sysctl-hack-cleanup-2-fix.patch readahead-sysctl-parameters-fix.patch make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch reiser4-hardirq-include-fix.patch reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch ide_dma_speed-fixes-warning-fix.patch ide_dma_speed-fixes-tidy.patch hpt3xx-rework-rate-filtering-tidy.patch savagefb-add-state-save-and_restore-hooks-tidy.patch au1100fb-add-power-management-support-tidy.patch lib-add-idr_replace-tidy.patch genirq-rename-desc-handler-to-desc-chip-power-fix.patch genirq-rename-desc-handler-to-desc-chip-ia64-fix.patch genirq-rename-desc-handler-to-desc-chip-ia64-fix-2.patch genirq-convert-the-i386-architecture-to-irq-chips-fix-2.patch lock-validator-beautify-x86_64-stacktraces-fix.patch lock-validator-beautify-x86_64-stacktraces-fix-4.patch lock-validator-stacktrace-build-fix.patch lock-validator-stacktrace-warning-fix.patch lock-validator-irqtrace-core-powerpc-fix-1.patch lock-validator-irqtrace-core-non-x86-fix.patch lock-validator-irqtrace-core-non-x86-fix-2.patch lock-validator-irqtrace-core-non-x86-fix-3.patch lock-validator-add-per_cpu_offset-fix.patch lock-validator-core-multichar-fix.patch lock-validator-prove-rwsem-locking-correctness-fix.patch lock-validator-prove-rwsem-locking-correctness-powerpc-fix.patch lock-validator-special-locking-serial-fix.patch lock-validator-special-locking-sb-s_umount-fix.patch lock-validator-enable-lock-validator-in-kconfig-not-yet.patch kgdb-core-lite-add-reboot-command.patch kgdb-8250-fix.patch nr_blockdev_pages-in_interrupt-warning.patch device-suspend-debug.patch revert-tty-buffering-comment-out-debug-code.patch slab-leaks3-default-y.patch x86-kmap_atomic-debugging.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html