mm, oom: distinguish blockable mode for mmu notifiers
[linux-2.6-microblaze.git] / drivers / misc / sgi-gru / grutlbpurge.c
index a3454eb..be28f05 100644 (file)
@@ -219,9 +219,10 @@ void gru_flush_all_tlb(struct gru_state *gru)
 /*
  * MMUOPS notifier callout functions
  */
-static void gru_invalidate_range_start(struct mmu_notifier *mn,
+static int gru_invalidate_range_start(struct mmu_notifier *mn,
                                       struct mm_struct *mm,
-                                      unsigned long start, unsigned long end)
+                                      unsigned long start, unsigned long end,
+                                      bool blockable)
 {
        struct gru_mm_struct *gms = container_of(mn, struct gru_mm_struct,
                                                 ms_notifier);
@@ -231,6 +232,8 @@ static void gru_invalidate_range_start(struct mmu_notifier *mn,
        gru_dbg(grudev, "gms %p, start 0x%lx, end 0x%lx, act %d\n", gms,
                start, end, atomic_read(&gms->ms_range_active));
        gru_flush_tlb_range(gms, start, end - start);
+
+       return 0;
 }
 
 static void gru_invalidate_range_end(struct mmu_notifier *mn,