RDMA/odp: Use the common interval tree library instead of generic
authorJason Gunthorpe <jgg@mellanox.com>
Mon, 19 Aug 2019 11:16:59 +0000 (14:16 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 21 Aug 2019 16:34:09 +0000 (13:34 -0300)
commit7cc2e18f21008f4093b49099264ca4d65b9aa223
treead116446bef54a5a3da15ac76896c7a698049cd8
parent27b7fb1ab7bfad45f5702ff0c78a4822a41b1456
RDMA/odp: Use the common interval tree library instead of generic

ODP is working with userspace VA's in the interval tree which always fit
into an unsigned long, so we can use the common code.

This comes at a cost of a 16 byte increase in ib_umem_odp struct size due
to storing the interval tree start/last in addition to the umem
addr/length. However these values were computed and are performance
critical for the interval lookup, so this seems like a worthwhile trade
off.

Removes 2k of .text from the kernel.

Link: https://lore.kernel.org/r/20190819111710.18440-2-leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/Kconfig
drivers/infiniband/core/umem_odp.c
include/rdma/ib_umem_odp.h