1. 01 2月, 2018 1 次提交
  2. 17 8月, 2017 2 次提交
    • A
      powerpc/mm/cxl: Add the fault handling cpu to mm cpumask · 0f4bc093
      Aneesh Kumar K.V 提交于
      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: NFrederic Barrat <fbarrat@linux.vnet.ibm.com>
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      0f4bc093
    • A
      powerpc/mm: Don't send IPI to all cpus on THP updates · fa4531f7
      Aneesh Kumar K.V 提交于
      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: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      fa4531f7
  3. 02 7月, 2017 1 次提交
  4. 02 3月, 2017 1 次提交
  5. 31 1月, 2017 2 次提交
  6. 17 1月, 2017 1 次提交
  7. 28 11月, 2016 1 次提交
  8. 23 9月, 2016 1 次提交
  9. 13 9月, 2016 1 次提交
  10. 04 8月, 2016 1 次提交
    • M
      powerpc/mm: Move register_process_table() out of ppc_md · eea8148c
      Michael Ellerman 提交于
      We want to initialise register_process_table() before ppc_md is setup,
      so that it can be called as part of MMU init (at least on Radix ATM).
      
      That no longer works because probe_machine() requires that ppc_md be
      empty before it's called, and we now do probe_machine() much later.
      
      So make register_process_table a global for now. It will probably move
      into a mmu_radix_ops struct at some point in the future.
      
      This was broken by me when applying commit 7025776e "powerpc/mm:
      Move hash table ops to a separate structure" due to conflicts with other
      patches.
      
      Fixes: 7025776e ("powerpc/mm: Move hash table ops to a separate structure")
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      eea8148c
  11. 01 8月, 2016 1 次提交
  12. 01 6月, 2016 1 次提交
  13. 11 5月, 2016 2 次提交