NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
worker_rdmo_ops.c File Reference
#include <stdint.h>
#include <stdlib.h>
#include "worker_rdmo.h"
#include "urom_rdmo.h"
Include dependency graph for worker_rdmo_ops.c:

Go to the source code of this file.

Macros

#define urom_rdmo_compiler_fence()   asm volatile("" ::: "memory") /* Memory barrier */
 

Functions

 DOCA_LOG_REGISTER (UROM::WORKER::RDMO::OPS)
 
static doca_error_t urom_worker_rdmo_mem_cache_get (struct urom_worker_rdmo_mkey *rdmo_mkey, uint64_t addr, uint64_t *val)
 
static doca_error_t urom_worker_rdmo_mem_cache_put (struct urom_worker_rdmo_mkey *rdmo_mkey, uint64_t addr, uint64_t val)
 
static void urom_worker_rdmo_addr_flush_cb (void *request, ucs_status_t ucs_status, void *user_data)
 
static ucs_status_ptr_t urom_worker_rdmo_addr_flush_slow (struct urom_worker_rdmo_client *client, uint64_t addr, uint64_t val, struct urom_worker_rdmo_mkey *rdmo_mkey)
 
static doca_error_t urom_worker_rdmo_mem_cache_flush (struct urom_worker_rdmo_client *client)
 
static void urom_worker_rdmo_req_free (struct urom_worker_rdmo_req *req)
 
static void urom_worker_rdmo_req_free_data (struct urom_worker_rdmo_req *req)
 
static doca_error_t urom_worker_rdmo_req_start (struct urom_worker_rdmo_req *req)
 
static void urom_worker_rdmo_check_fenced (struct urom_worker_rdmo_ep *ep)
 
static void urom_worker_rdmo_check_paused (struct urom_worker_rdmo_client *client)
 
static void urom_worker_rdmo_req_complete (struct urom_worker_rdmo_req *req)
 
static void urom_worker_rdmo_op_cb (void *request, ucs_status_t ucs_status, void *user_data)
 
static void urom_worker_rdmo_op_send_cb (void *request, ucs_status_t ucs_status, void *user_data)
 
static void urom_worker_rdmo_am_recv_data_cb (void *request, ucs_status_t ucs_status, size_t length, void *user_data)
 
static void urom_worker_rdmo_scatter_op_send_cb (void *request, ucs_status_t ucs_status, void *user_data)
 
static doca_error_t urom_worker_rdmo_flush_progress (struct urom_worker_rdmo_req *req)
 
static doca_error_t urom_worker_rdmo_append_progress (struct urom_worker_rdmo_req *req)
 
static doca_error_t urom_worker_rdmo_scatter_progress (struct urom_worker_rdmo_req *req)
 
doca_error_t urom_worker_rdmo_req_queue (struct urom_worker_rdmo_req *req)
 

Variables

static struct urom_worker_rdmo_req_ops urom_worker_rdmo_flush_ops
 
static struct urom_worker_rdmo_req_ops urom_worker_rdmo_append_ops
 
static struct urom_worker_rdmo_req_ops urom_worker_rdmo_scatter_ops
 
struct urom_worker_rdmo_req_opsurom_worker_rdmo_ops_table []
 

Macro Definition Documentation

◆ urom_rdmo_compiler_fence

#define urom_rdmo_compiler_fence ( )    asm volatile("" ::: "memory") /* Memory barrier */

Definition at line 34 of file worker_rdmo_ops.c.

Function Documentation

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( UROM::WORKER::RDMO::OPS  )

◆ urom_worker_rdmo_addr_flush_cb()

static void urom_worker_rdmo_addr_flush_cb ( void *  request,
ucs_status_t  ucs_status,
void *  user_data 
)
static

Definition at line 98 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_addr_flush_slow()

static ucs_status_ptr_t urom_worker_rdmo_addr_flush_slow ( struct urom_worker_rdmo_client client,
uint64_t  addr,
uint64_t  val,
struct urom_worker_rdmo_mkey rdmo_mkey 
)
static

Definition at line 116 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_am_recv_data_cb()

static void urom_worker_rdmo_am_recv_data_cb ( void *  request,
ucs_status_t  ucs_status,
size_t  length,
void *  user_data 
)
static

Definition at line 381 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_append_progress()

static doca_error_t urom_worker_rdmo_append_progress ( struct urom_worker_rdmo_req req)
static

Definition at line 495 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_check_fenced()

static void urom_worker_rdmo_check_fenced ( struct urom_worker_rdmo_ep ep)
static

Definition at line 268 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_check_paused()

static void urom_worker_rdmo_check_paused ( struct urom_worker_rdmo_client client)
static

Definition at line 304 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_flush_progress()

static doca_error_t urom_worker_rdmo_flush_progress ( struct urom_worker_rdmo_req req)
static

Definition at line 409 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_mem_cache_flush()

static doca_error_t urom_worker_rdmo_mem_cache_flush ( struct urom_worker_rdmo_client client)
static

Definition at line 144 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_mem_cache_get()

static doca_error_t urom_worker_rdmo_mem_cache_get ( struct urom_worker_rdmo_mkey rdmo_mkey,
uint64_t  addr,
uint64_t *  val 
)
static

Definition at line 44 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_mem_cache_put()

static doca_error_t urom_worker_rdmo_mem_cache_put ( struct urom_worker_rdmo_mkey rdmo_mkey,
uint64_t  addr,
uint64_t  val 
)
static

Definition at line 70 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_op_cb()

static void urom_worker_rdmo_op_cb ( void *  request,
ucs_status_t  ucs_status,
void *  user_data 
)
static

Definition at line 345 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_op_send_cb()

static void urom_worker_rdmo_op_send_cb ( void *  request,
ucs_status_t  ucs_status,
void *  user_data 
)
static

Definition at line 368 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_req_complete()

static void urom_worker_rdmo_req_complete ( struct urom_worker_rdmo_req req)
static

Definition at line 331 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_req_free()

static void urom_worker_rdmo_req_free ( struct urom_worker_rdmo_req req)
static

Definition at line 220 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_req_free_data()

static void urom_worker_rdmo_req_free_data ( struct urom_worker_rdmo_req req)
static

Definition at line 231 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_req_queue()

doca_error_t urom_worker_rdmo_req_queue ( struct urom_worker_rdmo_req req)

Definition at line 786 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_req_start()

static doca_error_t urom_worker_rdmo_req_start ( struct urom_worker_rdmo_req req)
static

Definition at line 245 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_scatter_op_send_cb()

static void urom_worker_rdmo_scatter_op_send_cb ( void *  request,
ucs_status_t  ucs_status,
void *  user_data 
)
static

Definition at line 394 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_scatter_progress()

static doca_error_t urom_worker_rdmo_scatter_progress ( struct urom_worker_rdmo_req req)
static

Definition at line 677 of file worker_rdmo_ops.c.

Variable Documentation

◆ urom_worker_rdmo_append_ops

struct urom_worker_rdmo_req_ops urom_worker_rdmo_append_ops
static
Initial value:
= {
}
static doca_error_t urom_worker_rdmo_append_progress(struct urom_worker_rdmo_req *req)

Definition at line 495 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_flush_ops

struct urom_worker_rdmo_req_ops urom_worker_rdmo_flush_ops
static
Initial value:
= {
}
static doca_error_t urom_worker_rdmo_flush_progress(struct urom_worker_rdmo_req *req)

Definition at line 409 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_ops_table

struct urom_worker_rdmo_req_ops* urom_worker_rdmo_ops_table[]
Initial value:
= {
}
@ UROM_RDMO_OP_APPEND
Definition: urom_rdmo.h:155
@ UROM_RDMO_OP_SCATTER
Definition: urom_rdmo.h:156
@ UROM_RDMO_OP_FLUSH
Definition: urom_rdmo.h:154
static struct urom_worker_rdmo_req_ops urom_worker_rdmo_scatter_ops
static struct urom_worker_rdmo_req_ops urom_worker_rdmo_flush_ops
static struct urom_worker_rdmo_req_ops urom_worker_rdmo_append_ops

Definition at line 780 of file worker_rdmo_ops.c.

◆ urom_worker_rdmo_scatter_ops

struct urom_worker_rdmo_req_ops urom_worker_rdmo_scatter_ops
static
Initial value:
= {
}
static doca_error_t urom_worker_rdmo_scatter_progress(struct urom_worker_rdmo_req *req)

Definition at line 677 of file worker_rdmo_ops.c.