|
@@ -2899,8 +2899,16 @@ void do_set_pte(struct vm_area_struct *vma, unsigned long address,
|
|
update_mmu_cache(vma, address, pte);
|
|
update_mmu_cache(vma, address, pte);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * If architecture emulates "accessed" or "young" bit without HW support,
|
|
|
|
+ * there is no much gain with fault_around.
|
|
|
|
+ */
|
|
static unsigned long fault_around_bytes __read_mostly =
|
|
static unsigned long fault_around_bytes __read_mostly =
|
|
|
|
+#ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS
|
|
|
|
+ PAGE_SIZE;
|
|
|
|
+#else
|
|
rounddown_pow_of_two(65536);
|
|
rounddown_pow_of_two(65536);
|
|
|
|
+#endif
|
|
|
|
|
|
#ifdef CONFIG_DEBUG_FS
|
|
#ifdef CONFIG_DEBUG_FS
|
|
static int fault_around_bytes_get(void *data, u64 *val)
|
|
static int fault_around_bytes_get(void *data, u64 *val)
|