Messages in this thread | | | Date | Tue, 22 Nov 2022 10:46:39 -0400 | From | Jason Gunthorpe <> | Subject | Re: [for-next PATCH v6 04/10] RDMA/rxe: Allow registering persistent flag for pmem MR only |
| |
On Wed, Nov 16, 2022 at 04:19:45PM +0800, Li Zhijian wrote: > int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova, > int access, struct rxe_mr *mr) > { > @@ -148,16 +157,25 @@ int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova, > num_buf = 0; > map = mr->map; > if (length > 0) { > - buf = map[0]->buf; > + bool persistent_access = access & IB_ACCESS_FLUSH_PERSISTENT; > > + buf = map[0]->buf; > for_each_sgtable_page (&umem->sgt_append.sgt, &sg_iter, 0) { > + struct page *pg = sg_page_iter_page(&sg_iter); > + > + if (persistent_access && !is_pmem_page(pg)) { > + pr_debug("Unable to register persistent access to non-pmem device\n"); > + err = -EINVAL; > + goto err_release_umem;
This should use rxe_dbg_mr()
Jason
| |