summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@mellanox.com>2018-09-16 19:48:09 +0200
committerDoug Ledford <dledford@redhat.com>2018-09-21 17:58:36 +0200
commitca748c39ea3f3c755295d64d69ba0b4375e34b5d (patch)
tree64bbe9e8457d512169ead7e8fa43bff77958eab0 /lib
parentRDMA/umem: Use umem->owning_mm inside ODP (diff)
downloadlinux-ca748c39ea3f3c755295d64d69ba0b4375e34b5d.tar.xz
linux-ca748c39ea3f3c755295d64d69ba0b4375e34b5d.zip
RDMA/umem: Get rid of per_mm->notifier_count
This is intrinsically racy and the scheme is simply unnecessary. New MR registration can wait for any on going invalidation to fully complete. CPU0 CPU1 if (atomic_read()) if (atomic_dec_and_test() && !list_empty()) { /* not taken */ } list_add() Putting the new UMEM into some kind of purgatory until another invalidate rolls through.. Instead hold the read side of the umem_rwsem across the pair'd start/end and get rid of the racy 'deferred add' approach. Since all umem's in the rbt are always ready to go, also get rid of the mn_counters_active stuff. Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions