/* * Define an ib_cq_notify value that is not valid so we know when CQ * notifications are armed.
*/ #define RVT_CQ_NONE (IB_CQ_NEXT_COMP + 1)
/* * Define read macro that apply smp_load_acquire memory barrier * when reading indice of circular buffer that mmaped to user space.
*/ #define RDMA_READ_UAPI_ATOMIC(member) smp_load_acquire(&(member).val)
/* * Define write macro that uses smp_store_release memory barrier * when writing indice of circular buffer that mmaped to user space.
*/ #define RDMA_WRITE_UAPI_ATOMIC(member, x) smp_store_release(&(member).val, x) #include <rdma/rvt-abi.h>
/* * This structure is used to contain the head pointer, tail pointer, * and completion queue entries as a single memory allocation so * it can be mmap'ed into user space.
*/ struct rvt_k_cq_wc {
u32 head; /* index of next entry to fill */
u32 tail; /* index of next ib_poll_cq() entry */ struct ib_wc kqueue[];
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.