]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
powerpc/mm/radix: Drop unneeded NULL check
authorMichael Ellerman <mpe@ellerman.id.au>
Mon, 16 Oct 2017 07:11:00 +0000 (12:41 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 22 Oct 2017 10:08:31 +0000 (12:08 +0200)
We call these functions with non-NULL mm or vma. Hence we can skip the
NULL check in these functions. We also remove now unused function
__local_flush_hugetlb_page().

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
[mpe: Drop the checks with is_vm_hugetlb_page() as noticed by Nick]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/hugetlb.h
arch/powerpc/mm/tlb-radix.c

index b8a0fb442c6487ef70afcbd7209206606293a1ad..795d825c2eddb8da5e06b253aacc943b250d5ad3 100644 (file)
@@ -40,12 +40,6 @@ static inline void flush_hugetlb_page(struct vm_area_struct *vma,
                return radix__flush_hugetlb_page(vma, vmaddr);
 }
 
-static inline void __local_flush_hugetlb_page(struct vm_area_struct *vma,
-                                             unsigned long vmaddr)
-{
-       if (radix_enabled())
-               return radix__local_flush_hugetlb_page(vma, vmaddr);
-}
 #else
 
 static inline pte_t *hugepd_page(hugepd_t hpd)
index 5a1f46eff3a20bee41d470a02de35d33a95cb067..3a07d7a5e2fe8021c1a3b7ab37d537bad1d3dfcf 100644 (file)
@@ -164,7 +164,7 @@ void radix__local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmadd
        unsigned long ap = mmu_get_ap(psize);
 
        preempt_disable();
-       pid = mm ? mm->context.id : 0;
+       pid = mm->context.id;
        if (pid != MMU_NO_CONTEXT)
                _tlbiel_va(vmaddr, pid, ap, RIC_FLUSH_TLB);
        preempt_enable();
@@ -174,11 +174,10 @@ void radix__local_flush_tlb_page(struct vm_area_struct *vma, unsigned long vmadd
 {
 #ifdef CONFIG_HUGETLB_PAGE
        /* need the return fix for nohash.c */
-       if (vma && is_vm_hugetlb_page(vma))
-               return __local_flush_hugetlb_page(vma, vmaddr);
+       if (is_vm_hugetlb_page(vma))
+               return radix__local_flush_hugetlb_page(vma, vmaddr);
 #endif
-       radix__local_flush_tlb_page_psize(vma ? vma->vm_mm : NULL, vmaddr,
-                                         mmu_virtual_psize);
+       radix__local_flush_tlb_page_psize(vma->vm_mm, vmaddr, mmu_virtual_psize);
 }
 EXPORT_SYMBOL(radix__local_flush_tlb_page);
 
@@ -232,7 +231,7 @@ void radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr,
        unsigned long ap = mmu_get_ap(psize);
 
        preempt_disable();
-       pid = mm ? mm->context.id : 0;
+       pid = mm->context.id;
        if (unlikely(pid == MMU_NO_CONTEXT))
                goto bail;
        if (!mm_is_thread_local(mm))
@@ -246,11 +245,10 @@ bail:
 void radix__flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr)
 {
 #ifdef CONFIG_HUGETLB_PAGE
-       if (vma && is_vm_hugetlb_page(vma))
-               return flush_hugetlb_page(vma, vmaddr);
+       if (is_vm_hugetlb_page(vma))
+               return radix__flush_hugetlb_page(vma, vmaddr);
 #endif
-       radix__flush_tlb_page_psize(vma ? vma->vm_mm : NULL, vmaddr,
-                                   mmu_virtual_psize);
+       radix__flush_tlb_page_psize(vma->vm_mm, vmaddr, mmu_virtual_psize);
 }
 EXPORT_SYMBOL(radix__flush_tlb_page);
 
@@ -330,7 +328,7 @@ void radix__flush_tlb_range_psize(struct mm_struct *mm, unsigned long start,
 
 
        preempt_disable();
-       pid = mm ? mm->context.id : 0;
+       pid = mm->context.id;
        if (unlikely(pid == MMU_NO_CONTEXT))
                goto err_out;
 
@@ -361,7 +359,7 @@ void radix__flush_tlb_collapsed_pmd(struct mm_struct *mm, unsigned long addr)
        unsigned long pid, end;
 
 
-       pid = mm ? mm->context.id : 0;
+       pid = mm->context.id;
        if (unlikely(pid == MMU_NO_CONTEXT))
                goto no_context;