+ dont-use-flush_tlb_all-in-suspend-time-tidy.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux