Re: [RFC PATCH] powerpc/mm/thp: Make page table walk safe against thp split/collapse

2015-03-24 Thread Benjamin Herrenschmidt
On Tue, 2015-03-24 at 11:23 +0530, Aneesh Kumar K.V wrote: > >>/* assume we don't have huge pages in vmalloc space... */ > >>addr = (pte_pfn(*p) << PAGE_SHIFT) | (addr & ~PAGE_MASK); > >> + local_irq_restore(flags); > >>return __va(addr); > >> } > > > > This is called in real mode, I

Re: [RFC PATCH] powerpc/mm/thp: Make page table walk safe against thp split/collapse

2015-03-23 Thread Aneesh Kumar K.V
Benjamin Herrenschmidt writes: > On Mon, 2015-03-23 at 20:30 +0530, Aneesh Kumar K.V wrote: > >> -static inline pte_t *lookup_linux_ptep(pgd_t *pgdir, unsigned long hva, >> +static inline pte_t lookup_linux_pte(pgd_t *pgdir, unsigned long hva, >> unsigned long *p

Re: [RFC PATCH] powerpc/mm/thp: Make page table walk safe against thp split/collapse

2015-03-23 Thread Benjamin Herrenschmidt
On Mon, 2015-03-23 at 20:30 +0530, Aneesh Kumar K.V wrote: > -static inline pte_t *lookup_linux_ptep(pgd_t *pgdir, unsigned long hva, > +static inline pte_t lookup_linux_pte(pgd_t *pgdir, unsigned long hva, >unsigned long *pte_sizep) > { > pte_t *ptep; >

[RFC PATCH] powerpc/mm/thp: Make page table walk safe against thp split/collapse

2015-03-23 Thread Aneesh Kumar K.V
We can disable a THP split or a hugepage collapse by disabling irq. We do send IPI to all the cpus in the early part of split/collapse, and disabling local irq ensure we don't make progress with split/collapse. Before using the pte_t pointer returned by find_linux_pte_or_hugepte(), we need to make