mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
3d5f3c54e7
This function is intended to loop across each MTT chunk in the implicit parent that intersects the range [io_virt, io_virt+bnct). But it is has a confusing construction, so: - Consistently use imr and odp_imr to refer to the implicit parent to avoid confusion with the normal mr and odp of the child - Directly compute the inclusive start/end indexes by shifting. This is clearer to understand the intent and avoids any errors from unaligned values of addr - Iterate directly over the range of MTT indexes, do not make a loop out of goto - Follow 'success oriented flow', with goto error unwind - Directly calculate the range of idx's that need update_xlt - Ensure that any leaf MR added to the interval tree always results in an update to the XLT Link: https://lore.kernel.org/r/20191009160934.3143-6-jgg@ziepe.ca Reviewed-by: Artemy Kovalyov <artemyko@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> |
||
---|---|---|
.. | ||
ah.c | ||
cmd.c | ||
cmd.h | ||
cong.c | ||
cq.c | ||
devx.c | ||
doorbell.c | ||
flow.c | ||
gsi.c | ||
ib_rep.c | ||
ib_rep.h | ||
ib_virt.c | ||
Kconfig | ||
mad.c | ||
main.c | ||
Makefile | ||
mem.c | ||
mlx5_ib.h | ||
mr.c | ||
odp.c | ||
qp.c | ||
srq_cmd.c | ||
srq.c | ||
srq.h |