Re: [PATCH] [7/48] Suspend2 2.1.9.8 for 2.6.12: 352-disable-pdflush-during-suspend.patch

Russell King
2005-07-06T13:31:49Z

On Wed, Jul 06, 2005 at 12:20:40PM +1000, Nigel Cunningham wrote:
> diff -ruNp 353-disable-highmem-tlb-flush-for-copyback.patch-old/mm/highmem.c 353-disable-highmem-tlb-flush-for-copyback.patch-new/mm/highmem.c
> --- 353-disable-highmem-tlb-flush-for-copyback.patch-old/mm/highmem.c 2005-06-20 11:47:32.000000000 +1000
> +++ 353-disable-highmem-tlb-flush-for-copyback.patch-new/mm/highmem.c 2005-07-04 23:14:20.000000000 +1000
> @@ -26,6 +26,7 @@
> #include <linux/init.h>
> #include <linux/hash.h>
> #include <linux/highmem.h>
> +#include <linux/suspend.h>
> #include <asm/tlbflush.h>
>
> static mempool_t *page_pool, *isa_page_pool;
> @@ -95,7 +96,10 @@ static void flush_all_zero_pkmaps(void)
>
> set_page_address(page, NULL);
> }
> - flush_tlb_kernel_range(PKMAP_ADDR(0), PKMAP_ADDR(LAST_PKMAP));
> + if (test_suspend_state(SUSPEND_FREEZE_SMP))
> + __flush_tlb();

On ARM SMP, if you want the "local" version, the flush functions are
prefixed by "local_", though I guess we can also define a __flush_tlb()
for compatibility if someone wants to use swsusp with ARM SMP.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core