Messages in this thread | | | Subject | Re: [PATCH v3 hmm 05/11] hmm: use mmu_notifier_get/put for 'struct hmm' | From | Ralph Campbell <> | Date | Wed, 14 Aug 2019 14:51:02 -0700 |
| |
On 8/6/19 4:15 PM, Jason Gunthorpe wrote: > From: Jason Gunthorpe <jgg@mellanox.com> > > 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. > > Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Looks good. Reviewed-by: Ralph Campbell <rcampbell@nvidia.com>
| |