The patch titled wait_table-and-zonelist-initializing-for-memory-hotadd-wait_table-initialization-fixes has been removed from the -mm tree. Its filename is wait_table-and-zonelist-initializing-for-memory-hotadd-wait_table-initialization-fixes.patch This patch was probably dropped from -mm because it has now been merged into a subsystem tree or into Linus's tree, or because it was folded into its parent patch in the -mm tree. From: Andrew Morton <akpm@xxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Yasunori Goto <y-goto@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- mm/page_alloc.c | 44 ++++++++++++++++++++------------------------ 1 files changed, 20 insertions(+), 24 deletions(-) diff -puN mm/page_alloc.c~wait_table-and-zonelist-initializing-for-memory-hotadd-wait_table-initialization-fixes mm/page_alloc.c --- devel/mm/page_alloc.c~wait_table-and-zonelist-initializing-for-memory-hotadd-wait_table-initialization-fixes 2006-04-22 01:39:28.000000000 -0700 +++ devel-akpm/mm/page_alloc.c 2006-04-22 01:39:28.000000000 -0700 @@ -1740,25 +1740,21 @@ static inline unsigned long wait_table_h } #else /* - * XXX: Because zone size might be changed by hot-add, - * It is hard to determin suitable value for wait_table as traditional. - * So, we use maximum entries now. + * A zone's size might be changed by hot-add, so it is not possible to determine + * a suitable size for its wait_table. So we use the maximum size now. * - * The max wait table size = 4096 x sizeof(wait_queue_head_t) byte. - * ex: - * i386 (preemption config) : 4096 x 16 = 64Kbyte. - * ia64, x86-64 (no preemption): 4096 x 20 = 80Kbyte. - * ia64, x86-64 (preemption) : 4096 x 24 = 96Kbyte. + * The max wait table size = 4096 x sizeof(wait_queue_head_t). ie: * - * The maximum entries are prepared when a zone's memory is - * (512K + 256) pages or more by traditional way. (See above) - * It equals .... - * i386, x86-64, powerpc(4K page size) : = ( 2G + 1M)byte. - * ia64(16K page size) : = ( 8G + 4M)byte. - * powerpc (64K page size) : = (32G +16M)byte. + * i386 (preemption config) : 4096 x 16 = 64Kbyte. + * ia64, x86-64 (no preemption): 4096 x 20 = 80Kbyte. + * ia64, x86-64 (preemption) : 4096 x 24 = 96Kbyte. * - * If system doesn't have this size or more memory in the future, - * wait_table might be too bigger than suitable. + * The maximum entries are prepared when a zone's memory is (512K + 256) pages + * or more by the traditional way. (See above). It equals: + * + * i386, x86-64, powerpc(4K page size) : = ( 2G + 1M)byte. + * ia64(16K page size) : = ( 8G + 4M)byte. + * powerpc (64K page size) : = (32G +16M)byte. */ static inline unsigned long wait_table_hash_nr_entries(unsigned long pages) { @@ -2052,14 +2048,14 @@ int zone_wait_table_init(struct zone *zo alloc_bootmem_node(pgdat, alloc_size); } else { /* - * XXX: This case means that a zone whose size was 0 gets new - * memory by memory hot-add. - * But, this may be the case that "new node" is hotadded. - * If its case, vmalloc() will not get this new node's - * memory. Because this wait_table must be initialized - * to use this new node itself too. - * To use this new node's memory, further consideration - * will be necessary. + * This case means that a zone whose size was 0 gets new memory + * via memory hot-add. + * But it may be the case that a new node was hot-added. In + * this case vmalloc() will not be able to use this new node's + * memory - this wait_table must be initialized to use this new + * node itself as well. + * To use this new node's memory, further consideration will be + * necessary. */ zone->wait_table = (wait_queue_head_t *)vmalloc(alloc_size); } _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch config_net=n-build-fix.patch git-acpi.patch acpi-update-asus_acpi-driver-registration-fix.patch acpi-memory-hotplug-cannot-manage-_crs-with-plural-resoureces.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 remove-for_each_cpu.patch sony_apci-resume.patch powernow-k8-crash-workaround.patch git-dvb.patch git-gfs2.patch git-libata-all.patch git-mtd.patch git-netdev-all.patch smc911x-Kconfig-fix.patch pci-error-recovery-e1000-network-device-driver.patch git-powerpc.patch gregkh-pci-pci-64-bit-resources-drivers-others-changes-amba-fix.patch pci-add-pci_assign_resource_fixed-allow-fixed-address-fix.patch git-scsi-misc.patch git-scsi-rc-fixes.patch areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers.patch enable-advansys-driver.patch advansys-warning-workaround.patch git-watchdog.patch pg_uncached-is-ia64-only.patch wait_table-and-zonelist-initializing-for-memory-hotadd-wait_table-initialization.patch wait_table-and-zonelist-initializing-for-memory-hotadd-wait_table-initialization-fixes.patch pgdat-allocation-for-new-node-add-specify-node-id-powerpc-fix.patch pgdat-allocation-for-new-node-add-specify-node-id-tidy.patch pgdat-allocation-for-new-node-add-specify-node-id-fix-3.patch pgdat-allocation-for-new-node-add-get-node-id-by-acpi-tidy.patch pgdat-allocation-for-new-node-add-generic-alloc-node_data-tidy.patch pgdat-allocation-for-new-node-add-refresh-node_data-fix.patch pgdat-allocation-for-new-node-add-export-kswapd-start-func-tidy.patch mm-introduce-remap_vmalloc_range-fix.patch acx1xx-wireless-driver.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 percpu-counter-data-type-changes-to-suppport-fix.patch connector-exports.patch hangcheck-remove-monotomic_clock-on-x86.patch pi-futex-futex-code-cleanups-fix.patch reiser4.patch savagefb-add-state-save-and_restore-hooks-tidy.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 profile-likely-unlikely-macros-tidy.patch profile-likely-unlikely-macros-fix.patch profile-likely-unlikely-macros-fix-2.patch exit-dont-call-sleeping-things-when-oopsing.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