ionic_dv_pd_set_rqcmb(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | RETURN VALUE | SEE ALSO | AUTHORS | COLOPHON

IONIC_DV...SET_RQCMB(3) Ionic Programmer’s Manual IONIC_DV...SET_RQCMB(3)

NAME         top

       ionic_dv_pd_set_rqcmb - Specify receive queue preference for
       controller memory bar

SYNOPSIS         top

              #include <infiniband/ionic_dv.h>

              int ionic_dv_pd_set_rqcmb(struct ibv_pd *ibpd, bool enable, bool expdb,
                                         bool require);

DESCRIPTION         top

       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.

ARGUMENTS         top

       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.

RETURN VALUE         top

       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.

SEE ALSO         top

       ionicdv(7), ionic_dv_pd_set_sqcmb(3), ionic_dv_pd_set_udma_mask(3)

AUTHORS         top

       Advanced Micro Devices, Inc.

COLOPHON         top

       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)