[v2 PATCH 2/2] powerpc/64s/radix: don't need to broadcast IPI for radix pmd collapse flush
David Hildenbrand
david at redhat.com
Thu Sep 8 05:34:15 AEST 2022
On 07.09.22 20:01, Yang Shi wrote:
> The IPI broadcast is used to serialize against fast-GUP, but fast-GUP
> will move to use RCU instead of disabling local interrupts in fast-GUP.
> Using an IPI is the old-styled way of serializing against fast-GUP
> although it still works as expected now.
>
> And fast-GUP now fixed the potential race with THP collapse by checking
> whether PMD is changed or not. So IPI broadcast in radix pmd collapse
> flush is not necessary anymore. But it is still needed for hash TLB.
>
> Suggested-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
> Signed-off-by: Yang Shi <shy828301 at gmail.com>
> ---
> arch/powerpc/mm/book3s64/radix_pgtable.c | 9 ---------
> 1 file changed, 9 deletions(-)
>
> diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c
> index 698274109c91..e712f80fe189 100644
> --- a/arch/powerpc/mm/book3s64/radix_pgtable.c
> +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c
> @@ -937,15 +937,6 @@ pmd_t radix__pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long addre
> pmd = *pmdp;
> pmd_clear(pmdp);
>
> - /*
> - * pmdp collapse_flush need to ensure that there are no parallel gup
> - * walk after this call. This is needed so that we can have stable
> - * page ref count when collapsing a page. We don't allow a collapse page
> - * if we have gup taken on the page. We can ensure that by sending IPI
> - * because gup walk happens with IRQ disabled.
> - */
> - serialize_against_pte_lookup(vma->vm_mm);
> -
> radix__flush_tlb_collapsed_pmd(vma->vm_mm, address);
>
> return pmd;
Makes sense to me
Acked-by: David Hildenbrand <david at redhat.com>
--
Thanks,
David / dhildenb
More information about the Linuxppc-dev
mailing list