iPXE
ib_work_queue Struct Reference

An Infiniband Work Queue. More...

#include <infiniband.h>

Data Fields

struct ib_queue_pairqp
 Containing queue pair.
int is_send
 "Is a send queue" flag
struct ib_completion_queuecq
 Associated completion queue.
struct list_head list
 List of work queues on this completion queue.
uint32_t psn
 Packet sequence number.
unsigned int num_wqes
 Number of work queue entries.
unsigned int fill
 Number of occupied work queue entries.
unsigned long next_idx
 Next work queue entry index.
struct io_buffer ** iobufs
 I/O buffers assigned to work queue.
void * drv_priv
 Driver private data.

Detailed Description

An Infiniband Work Queue.

Definition at line 101 of file infiniband.h.

Field Documentation

◆ qp

◆ is_send

int ib_work_queue::is_send

◆ cq

struct ib_completion_queue* ib_work_queue::cq

Associated completion queue.

Definition at line 107 of file infiniband.h.

Referenced by flexboot_nodnic_complete_all_tx(), ib_find_wq(), ib_poll_cq(), linda_poll_cq(), and qib7322_poll_cq().

◆ list

struct list_head ib_work_queue::list

List of work queues on this completion queue.

Definition at line 109 of file infiniband.h.

Referenced by flexboot_nodnic_complete_all_tx(), ib_find_wq(), ib_poll_cq(), linda_poll_cq(), and qib7322_poll_cq().

◆ psn

uint32_t ib_work_queue::psn

Packet sequence number.

Definition at line 111 of file infiniband.h.

◆ num_wqes

◆ fill

unsigned int ib_work_queue::fill

Number of occupied work queue entries.

Definition at line 115 of file infiniband.h.

Referenced by flexboot_nodnic_complete_all_tx(), linda_complete_recv(), linda_poll_send_wq(), qib7322_complete_recv(), and qib7322_poll_send_wq().

◆ next_idx

unsigned long ib_work_queue::next_idx

Next work queue entry index.

This is the index of the next entry to be filled (i.e. the first empty entry). This value is not bounded by num_wqes; users must logical-AND with (num_wqes-1) to generate an array index.

Definition at line 123 of file infiniband.h.

Referenced by arbel_post_recv(), arbel_post_send(), flexboot_nodnic_post_recv(), flexboot_nodnic_post_send(), golan_post_recv(), hermon_post_recv(), and hermon_post_send().

◆ iobufs

◆ drv_priv

void* ib_work_queue::drv_priv

Driver private data.

Definition at line 127 of file infiniband.h.

Referenced by ib_wq_get_drvdata(), and ib_wq_set_drvdata().


The documentation for this struct was generated from the following file: