1. 28 Aug, 2017 11 commits
  2. 24 Aug, 2017 4 commits
  3. 23 Aug, 2017 19 commits
  4. 21 Aug, 2017 1 commit
  5. 18 Aug, 2017 1 commit
  6. 17 Aug, 2017 4 commits
    • Aneesh Kumar K.V's avatar
      powerpc/mm/cxl: Add the fault handling cpu to mm cpumask · 0f4bc093
      Aneesh Kumar K.V authored
      We use mm cpumask for serializing against lockless page table walk.
      Anybody who is doing a lockless page table walk is expected to disable
      irq and only cpus in mm cpumask is expected do the lockless walk. This
      ensure that a THP split can send IPI to only cpus in the mm cpumask,
      to make sure there are no parallel lockless page table walk.
      
      Add the CAPI fault handling cpu to the mm cpumask so that we can do
      the lockless page table walk while inserting hash page table entries.
      Reviewed-by: default avatarFrederic Barrat <fbarrat@linux.vnet.ibm.com>
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      0f4bc093
    • Aneesh Kumar K.V's avatar
      powerpc/mm: Don't send IPI to all cpus on THP updates · fa4531f7
      Aneesh Kumar K.V authored
      Now that we made sure that lockless walk of linux page table is mostly
      limitted to current task(current->mm->pgdir) we can update the THP
      update sequence to only send IPI to CPUs on which this task has run.
      This helps in reducing the IPI overload on systems with large number
      of CPUs.
      
      WRT kvm even though kvm is walking page table with vpc->arch.pgdir,
      it is done only on secondary CPUs and in that case we have primary CPU
      added to task's mm cpumask. Sending an IPI to primary will force the
      secondary to do a vm exit and hence this mm cpumask usage is safe
      here.
      
      WRT CAPI, we still end up walking linux page table with capi context
      MM. For now the pte lookup serialization sends an IPI to all CPUs in
      CPI is in use. We can further improve this by adding the CAPI
      interrupt handling CPU to task mm cpumask. That will be done in a
      later patch.
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      fa4531f7
    • Michael Ellerman's avatar
      Merge branch 'topic/ppc-kvm' into next · 8434f089
      Michael Ellerman authored
      Bring in the commit to rename find_linux_pte_or_hugepte() which touches
      arch and KVM code, and might need to be merged with the kvmppc tree to
      avoid conflicts.
      8434f089
    • Aneesh Kumar K.V's avatar
      powerpc/mm: Rename find_linux_pte_or_hugepte() · 94171b19
      Aneesh Kumar K.V authored
      Add newer helpers to make the function usage simpler. It is always
      recommended to use find_current_mm_pte() for walking the page table.
      If we cannot use find_current_mm_pte(), it should be documented why
      the said usage of __find_linux_pte() is safe against a parallel THP
      split.
      
      For now we have KVM code using __find_linux_pte(). This is because kvm
      code ends up calling __find_linux_pte() in real mode with MSR_EE=0 but
      with PACA soft_enabled = 1. We may want to fix that later and make
      sure we keep the MSR_EE and PACA soft_enabled in sync. When we do that
      we can switch kvm to use find_linux_pte().
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      94171b19