Re: [PATCH 1/1] powerpc/mm: Add memory barrier in __hugepte_alloc()

From: Michal Hocko
Date: Wed Apr 06 2016 - 05:56:30 EST


On Tue 05-04-16 12:05:47, Sukadev Bhattiprolu wrote:
[...]
> diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
> index d991b9e..081f679 100644
> --- a/arch/powerpc/mm/hugetlbpage.c
> +++ b/arch/powerpc/mm/hugetlbpage.c
> @@ -81,6 +81,13 @@ static int __hugepte_alloc(struct mm_struct *mm, hugepd_t *hpdp,
> if (! new)
> return -ENOMEM;
>
> + /*
> + * Make sure other cpus find the hugepd set only after a
> + * properly initialized page table is visible to them.
> + * For more details look for comment in __pte_alloc().
> + */
> + smp_wmb();
> +

what is the pairing memory barrier?

> spin_lock(&mm->page_table_lock);
> #ifdef CONFIG_PPC_FSL_BOOK3E
> /*
> --
> 1.8.3.1

--
Michal Hocko
SUSE Labs