VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / include / asm-s390 / pgtable.h
index 11b6746..05ac76f 100644 (file)
@@ -654,9 +654,11 @@ static inline pte_t mk_pte_phys(unsigned long physpage, pgprot_t pgprot)
        __pte;                                                            \
 })
 
-#define arch_set_page_uptodate(__page)                                   \
+#define SetPageUptodate(_page) \
        do {                                                              \
-               asm volatile ("sske %0,%1" : : "d" (0),                   \
+               struct page *__page = (_page);                            \
+               if (!test_and_set_bit(PG_uptodate, &__page->flags))       \
+                       asm volatile ("sske %0,%1" : : "d" (0),           \
                              "a" (__pa((__page-mem_map) << PAGE_SHIFT)));\
        } while (0)