Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libhns: Support flexible WQE buffer page size #1453

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

hginjgerx
Copy link

Currently, driver fixedly allocates 4K pages for userspace WQE buffer
and results in HW reading WQE with a granularity of 4K even in a 64K
system. HW has to switch pages every 4K, leading to a loss of performance.

In order to improve performance, add support for userspace to allocate
flexible WQE buffer page size between 4K to system PAGESIZE. During
ibv_create_qp(), the userspace driver will dynamically select the
appropriate page size based on ibv_qp_cap, thus improving performance
without consuming too much memory.

For old-version userspace driver that does not support this feature,
the kernel driver will use a fixed 4K pagesize.

Junxian Huang and others added 2 commits April 30, 2024 17:26
To commit: ?? ("RDMA/hns: Support flexible WQE buffer page size").

Signed-off-by: Junxian Huang <[email protected]>
Currently, driver fixedly allocates 4K pages for userspace WQE buffer
and results in HW reading WQE with a granularity of 4K even in a 64K
system. HW has to switch pages every 4K, leading to a loss of performance.

In order to improve performance, add support for userspace to allocate
flexible WQE buffer page size between 4K to system PAGESIZE. During
ibv_create_qp(), the userspace driver will dynamically select the
appropriate page size based on ibv_qp_cap, thus improving performance
without consuming too much memory.

For old-version userspace driver that does not support this feature,
the kernel driver will use a fixed 4K pagesize.

Signed-off-by: Chengchang Tang <[email protected]>
Signed-off-by: Junxian Huang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants