diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2019-10-09 19:09:32 +0300 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2019-10-28 22:41:14 +0300 |
commit | 5256edcb98a14b11409a2d323f56a70a8b366363 (patch) | |
tree | 45b6a723c59bc1f7ff6511c266375023b2095732 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | b70d785d237c0d3e4235c511f38f8ce64620f945 (diff) | |
download | linux-5256edcb98a14b11409a2d323f56a70a8b366363.tar.xz |
RDMA/mlx5: Rework implicit ODP destroy
Use SRCU in a sensible way by removing all MRs in the implicit tree from
the two xarrays (the update operation), then a synchronize, followed by a
normal single threaded teardown.
This is only a little unusual from the normal pattern as there can still
be some work pending in the unbound wq that may also require a workqueue
flush. This is tracked with a single atomic, consolidating the redundant
existing atomics and wait queue.
For understand-ability the entire ODP implicit create/destroy flow now
largely exists in a single pair of functions within odp.c, with a few
support functions for tearing down an unused child.
Link: https://lore.kernel.org/r/20191009160934.3143-13-jgg@ziepe.ca
Reviewed-by: Artemy Kovalyov <artemyko@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions