Re: [PATCH RFC 1/2] RDMA/rxe: don't allow registering !PAGE_SIZE mr

From: Zhu Yanjun
Date: Sat Oct 28 2023 - 23:23:15 EST


在 2023/10/29 7:07, Bart Van Assche 写道:
On 10/27/23 19:48, Zhu Yanjun wrote:
In this case, ULP with folio will not work well with current RXE after this commit is applied.

Why not? RDMA ULPs like the SRP initiator driver use ib_map_mr_sg(). The
latter function calls rxe_map_mr_sg() if the RXE driver is used. rxe_map_mr_sg() calls ib_sg_to_pages(). ib_sg_to_pages() translates
SG-entries that are larger than a virtual memory page into multiple
entries with size mr->page_size.

It seems that we are not on the same page. I am thinking that this fix should also work for the future folio. And your idea is based on the current implementation.

Perhaps it is not a good time to discuss folio currently. Let me focus on the current implementation.

In this commit, if the page size is not equal to PAGE_SIZE, it will pop out warning then exit. So "rxe_info_mr" should be changed to rxe_warning_mr?

In fact, I like to remove the page size assignment in rxe, that is, partly reverting the commit 325a7eb85199 ("RDMA/rxe: Cleanup page variables in rxe_mr.c"). But it seems that Jason did not like this.
I no longer insist on this.

I am not sure whether Jason, Leon, Bob and you have better solution to this problem or not.

If not, this commit can fix this problem if no better solution.

Reviewed-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxx>

Thanks,
Zhu Yanjun


Thanks,

Bart.