lkml.org 
[lkml]   [2004]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectSuspend 2 merge: 13/51: Disable highmem tlb flush for copyback.
    From
    Date
    When we're making/restoring our atomic copy of the image, secondary
    processors are frozen. Trying an SMP call at that time could thus lead
    to deadlock. Secondary processors have their tlbs unconditionally
    flushed when leaving the processor refrigerator, so this doesn't come
    back to bite us.


    diff -ruN 502-disable-highmem-tlb-flush-for-copyback-old/mm/highmem.c 502-disable-highmem-tlb-flush-for-copyback-new/mm/highmem.c
    --- 502-disable-highmem-tlb-flush-for-copyback-old/mm/highmem.c 2004-11-03 21:54:14.000000000 +1100
    +++ 502-disable-highmem-tlb-flush-for-copyback-new/mm/highmem.c 2004-11-04 16:27:40.000000000 +1100
    @@ -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;
    @@ -94,7 +95,10 @@

    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();
    + else
    + flush_tlb_kernel_range(PKMAP_ADDR(0), PKMAP_ADDR(LAST_PKMAP));
    }

    static inline unsigned long map_new_virtual(struct page *page)

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:08    [W:3.621 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site