diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2018-09-16 19:48:09 +0200 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2018-09-21 17:58:36 +0200 |
commit | ca748c39ea3f3c755295d64d69ba0b4375e34b5d (patch) | |
tree | 64bbe9e8457d512169ead7e8fa43bff77958eab0 /lib | |
parent | RDMA/umem: Use umem->owning_mm inside ODP (diff) | |
download | linux-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