在 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.