x86_64: pci-gart_64.c iommu_fullflush should be static
[deliverable/linux.git] / mm / memory.c
index 79f28e35d4fc65c9efc69a58760ac2a4f76c056e..f01b7eed6e16c4e3f32e039b7f2223ca598f40aa 100644 (file)
@@ -99,50 +99,6 @@ int randomize_va_space __read_mostly =
                                        2;
 #endif
 
-#ifndef track_pfn_vma_new
-/*
- * Interface that can be used by architecture code to keep track of
- * memory type of pfn mappings (remap_pfn_range, vm_insert_pfn)
- *
- * track_pfn_vma_new is called when a _new_ pfn mapping is being established
- * for physical range indicated by pfn and size.
- */
-int track_pfn_vma_new(struct vm_area_struct *vma, pgprot_t prot,
-                       unsigned long pfn, unsigned long size)
-{
-       return 0;
-}
-#endif
-
-#ifndef track_pfn_vma_copy
-/*
- * Interface that can be used by architecture code to keep track of
- * memory type of pfn mappings (remap_pfn_range, vm_insert_pfn)
- *
- * track_pfn_vma_copy is called when vma that is covering the pfnmap gets
- * copied through copy_page_range().
- */
-int track_pfn_vma_copy(struct vm_area_struct *vma)
-{
-       return 0;
-}
-#endif
-
-#ifndef untrack_pfn_vma
-/*
- * Interface that can be used by architecture code to keep track of
- * memory type of pfn mappings (remap_pfn_range, vm_insert_pfn)
- *
- * untrack_pfn_vma is called while unmapping a pfnmap for a region.
- * untrack can be called for a specific region indicated by pfn and size or
- * can be for the entire vma (in which case size can be zero).
- */
-void untrack_pfn_vma(struct vm_area_struct *vma, unsigned long pfn,
-                       unsigned long size)
-{
-}
-#endif
-
 static int __init disable_randmaps(char *s)
 {
        randomize_va_space = 0;
@@ -713,7 +669,7 @@ int copy_page_range(struct mm_struct *dst_mm, struct mm_struct *src_mm,
        if (is_vm_hugetlb_page(vma))
                return copy_hugetlb_page_range(dst_mm, src_mm, vma);
 
-       if (is_pfn_mapping(vma)) {
+       if (unlikely(is_pfn_mapping(vma))) {
                /*
                 * We do not free on error cases below as remove_vma
                 * gets called on error from higher level routine
@@ -969,7 +925,7 @@ unsigned long unmap_vmas(struct mmu_gather **tlbp,
                if (vma->vm_flags & VM_ACCOUNT)
                        *nr_accounted += (end - start) >> PAGE_SHIFT;
 
-               if (is_pfn_mapping(vma))
+               if (unlikely(is_pfn_mapping(vma)))
                        untrack_pfn_vma(vma, 0, 0);
 
                while (start != end) {
@@ -1168,49 +1124,6 @@ no_page_table:
        return page;
 }
 
-int follow_pfnmap_pte(struct vm_area_struct *vma, unsigned long address,
-                       pte_t *ret_ptep)
-{
-       pgd_t *pgd;
-       pud_t *pud;
-       pmd_t *pmd;
-       pte_t *ptep, pte;
-       spinlock_t *ptl;
-       struct page *page;
-       struct mm_struct *mm = vma->vm_mm;
-
-       if (!is_pfn_mapping(vma))
-               goto err;
-
-       page = NULL;
-       pgd = pgd_offset(mm, address);
-       if (pgd_none(*pgd) || unlikely(pgd_bad(*pgd)))
-               goto err;
-
-       pud = pud_offset(pgd, address);
-       if (pud_none(*pud) || unlikely(pud_bad(*pud)))
-               goto err;
-
-       pmd = pmd_offset(pud, address);
-       if (pmd_none(*pmd) || unlikely(pmd_bad(*pmd)))
-               goto err;
-
-       ptep = pte_offset_map_lock(mm, pmd, address, &ptl);
-
-       pte = *ptep;
-       if (!pte_present(pte))
-               goto err_unlock;
-
-       *ret_ptep = pte;
-       pte_unmap_unlock(ptep, ptl);
-       return 0;
-
-err_unlock:
-       pte_unmap_unlock(ptep, ptl);
-err:
-       return -EINVAL;
-}
-
 /* Can we do the FOLL_ANON optimization? */
 static inline int use_zero_page(struct vm_area_struct *vma)
 {
This page took 0.041132 seconds and 5 git commands to generate.