arm64: mm: enable RCU fast_gup
[deliverable/linux.git] / arch / arm64 / mm / flush.c
index 0d64089d28b517c4feef39ba350284809a159159..b6f14e8d21213ed9e91d1521c9de4d3c21c86cae 100644 (file)
@@ -104,3 +104,19 @@ EXPORT_SYMBOL(flush_dcache_page);
  */
 EXPORT_SYMBOL(flush_cache_all);
 EXPORT_SYMBOL(flush_icache_range);
+
+#ifdef CONFIG_TRANSPARENT_HUGEPAGE
+#ifdef CONFIG_HAVE_RCU_TABLE_FREE
+void pmdp_splitting_flush(struct vm_area_struct *vma, unsigned long address,
+                         pmd_t *pmdp)
+{
+       pmd_t pmd = pmd_mksplitting(*pmdp);
+
+       VM_BUG_ON(address & ~PMD_MASK);
+       set_pmd_at(vma->vm_mm, address, pmdp, pmd);
+
+       /* dummy IPI to serialise against fast_gup */
+       kick_all_cpus_sync();
+}
+#endif /* CONFIG_HAVE_RCU_TABLE_FREE */
+#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
This page took 0.07822 seconds and 5 git commands to generate.