|
NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | RETURN VALUE | SEE ALSO | AUTHORS | COLOPHON |
|
|
|
IONIC_DV...SET_RQCMB(3) Ionic Programmer’s Manual IONIC_DV...SET_RQCMB(3)
ionic_dv_pd_set_rqcmb - Specify receive queue preference for
controller memory bar
#include <infiniband/ionic_dv.h>
int ionic_dv_pd_set_rqcmb(struct ibv_pd *ibpd, bool enable, bool expdb,
bool require);
ionic_dv_pd_set_rqcmb() configures the controller memory bar (CMB)
preferences for receive queues created under the protection domain
ibpd. Receive queues created after this call will use the CMB
according to the specified preferences.
When CMB is enabled, the receive queue ring buffer is placed in
device memory (the controller memory bar) instead of host memory,
which can reduce doorbell latency.
Express doorbell (expdb) is an additional optimization that
further reduces doorbell overhead when the receive queue is placed
in CMB.
The require flag controls whether creation should fail if the
requested CMB preferences cannot be met. When require is false,
the driver will fall back to host memory if CMB is unavailable.
ibpd The protection domain to configure. Must be an ionic
protection domain.
enable Allow the use of the controller memory bar for receive
queues.
expdb Allow the use of express doorbell optimizations. Only
meaningful when enable is true.
require
Require that the CMB preferences are met. If true and the
preferences cannot be satisfied, queue creation will fail
instead of falling back to host memory. Only meaningful
when enable is true.
Returns 0 on success, or a positive errno value on failure:
EPERM ibpd is not an ionic protection domain.
EINVAL require is true with expdb true, but the device does not
support express doorbell for receive queues.
ionicdv(7), ionic_dv_pd_set_sqcmb(3), ionic_dv_pd_set_udma_mask(3)
Advanced Micro Devices, Inc.
This page is part of the rdma-core (RDMA Core Userspace Libraries
and Daemons) project. Information about the project can be found
at ⟨https://github.com/linux-rdma/rdma-core⟩. If you have a bug
report for this manual page, send it to
linux-rdma@vger.kernel.org. This page was obtained from the
project's upstream Git repository
⟨https://github.com/linux-rdma/rdma-core.git⟩ on 2026-08-04. (At
that time, the date of the most recent commit that was found in
the repository was 2026-07-22.) If you discover any rendering
problems in this HTML version of the page, or you believe there is
a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org
ionic 2025-06-23 IONIC_DV...SET_RQCMB(3)
Pages that refer to this page: ionic_dv_pd_set_sqcmb(3), ionicdv(7)