The patch titled dont-use-flush_tlb_all-in-suspend-time-tidy has been added to the -mm tree. Its filename is dont-use-flush_tlb_all-in-suspend-time-tidy.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this From: Andrew Morton <akpm@xxxxxxxx> Cc: Shaohua Li <shaohua.li@xxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/i386/kernel/acpi/sleep.c | 3 +++ arch/i386/mm/init.c | 10 +++++++++- arch/x86_64/kernel/acpi/sleep.c | 3 +++ 3 files changed, 15 insertions(+), 1 deletion(-) diff -puN arch/i386/kernel/acpi/sleep.c~dont-use-flush_tlb_all-in-suspend-time-tidy arch/i386/kernel/acpi/sleep.c --- devel/arch/i386/kernel/acpi/sleep.c~dont-use-flush_tlb_all-in-suspend-time-tidy 2006-04-29 23:57:50.000000000 -0700 +++ devel-akpm/arch/i386/kernel/acpi/sleep.c 2006-04-29 23:57:50.000000000 -0700 @@ -8,6 +8,8 @@ #include <linux/acpi.h> #include <linux/bootmem.h> #include <linux/dmi.h> +#include <linux/cpumask.h> + #include <asm/smp.h> #include <asm/tlbflush.h> @@ -29,6 +31,7 @@ static void init_low_mapping(pgd_t * pgd set_pgd(pgd, *(pgd + USER_PTRS_PER_PGD)); pgd_ofs++, pgd++; } + WARN_ON(num_online_cpus() != 1); local_flush_tlb(); } diff -puN arch/i386/mm/init.c~dont-use-flush_tlb_all-in-suspend-time-tidy arch/i386/mm/init.c --- devel/arch/i386/mm/init.c~dont-use-flush_tlb_all-in-suspend-time-tidy 2006-04-29 23:57:50.000000000 -0700 +++ devel-akpm/arch/i386/mm/init.c 2006-04-29 23:57:50.000000000 -0700 @@ -29,6 +29,7 @@ #include <linux/efi.h> #include <linux/memory_hotplug.h> #include <linux/initrd.h> +#include <linux/cpumask.h> #include <asm/processor.h> #include <asm/system.h> @@ -420,7 +421,14 @@ void zap_low_mappings (void) #else set_pgd(swapper_pg_dir+i, __pgd(0)); #endif - if (cpus_weight(cpu_online_map) == 1) + /* + * We can be called at suspend/resume time, with local interrupts + * disabled. But flush_tlb_all() requires that local interrupts be + * enabled. + * + * Happily, the APs are not yet started, so we can use local_flush_tlb() * in that case + */ + if (num_online_cpus() == 1) local_flush_tlb(); else flush_tlb_all(); diff -puN arch/x86_64/kernel/acpi/sleep.c~dont-use-flush_tlb_all-in-suspend-time-tidy arch/x86_64/kernel/acpi/sleep.c --- devel/arch/x86_64/kernel/acpi/sleep.c~dont-use-flush_tlb_all-in-suspend-time-tidy 2006-04-29 23:57:50.000000000 -0700 +++ devel-akpm/arch/x86_64/kernel/acpi/sleep.c 2006-04-29 23:57:50.000000000 -0700 @@ -35,6 +35,8 @@ #include <linux/pci.h> #include <linux/bootmem.h> #include <linux/acpi.h> +#include <linux/cpumask.h> + #include <asm/mpspec.h> #include <asm/io.h> #include <asm/apic.h> @@ -66,6 +68,7 @@ static void init_low_mapping(void) pgd_t *slot0 = pgd_offset(current->mm, 0UL); low_ptr = *slot0; set_pgd(slot0, *pgd_offset(current->mm, PAGE_OFFSET)); + WARN_ON(num_online_cpus() != 1); local_flush_tlb(); } _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch silence-initcall-warnings.patch dont-use-flush_tlb_all-in-suspend-time-tidy.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 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 catch-valid-mem-range-at-onlining-memory-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 config_net=n-build-fix.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