summaryrefslogtreecommitdiffstats
path: root/drivers/slimbus/slimbus.h
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@mellanox.com>2019-08-07 01:15:42 +0200
committerJason Gunthorpe <jgg@mellanox.com>2019-08-20 14:35:02 +0200
commitc7d8b7824ff9de866a356e1892dbe9f191aa5d06 (patch)
treea0e5a54cc6d3647bbcfcefb7aa72522a130e68d8 /drivers/slimbus/slimbus.h
parentmisc/sgi-gru: use mmu_notifier_get/put for struct gru_mm_struct (diff)
downloadlinux-c7d8b7824ff9de866a356e1892dbe9f191aa5d06.tar.xz
linux-c7d8b7824ff9de866a356e1892dbe9f191aa5d06.zip
hmm: use mmu_notifier_get/put for 'struct hmm'
This is a significant simplification, it eliminates all the remaining 'hmm' stuff in mm_struct, eliminates krefing along the critical notifier paths, and takes away all the ugly locking and abuse of page_table_lock. mmu_notifier_get() provides the single struct hmm per struct mm which eliminates mm->hmm. It also directly guarantees that no mmu_notifier op callback is callable while concurrent free is possible, this eliminates all the krefs inside the mmu_notifier callbacks. The remaining krefs in the range code were overly cautious, drivers are already not permitted to free the mirror while a range exists. Link: https://lore.kernel.org/r/20190806231548.25242-6-jgg@ziepe.ca Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ralph Campbell <rcampbell@nvidia.com> Tested-by: Ralph Campbell <rcampbell@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/slimbus/slimbus.h')
0 files changed, 0 insertions, 0 deletions