NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
urom_multi_workers_bootstrap_sample.c File Reference
#include <sched.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
#include <errno.h>
#include <signal.h>
#include <doca_ctx.h>
#include <doca_pe.h>
#include <doca_log.h>
#include <doca_urom.h>
#include <worker_graph.h>
#include "common.h"
#include "urom_common.h"
Include dependency graph for urom_multi_workers_bootstrap_sample.c:

Go to the source code of this file.

Data Structures

struct  worker_ctx
 
struct  loopback_result
 

Functions

 DOCA_LOG_REGISTER (UROM_MULTI_WORKERS_BOOTS::SAMPLE)
 
static void signal_handler (int signum)
 
static void worker_graph_loopback_finished_cb (doca_error_t result, union doca_data cookie, uint64_t data)
 
static void * worker_main (void *context)
 
static void odd_gid_task_cb (struct doca_urom_service_get_workers_by_gid_task *task, union doca_data task_user_data, union doca_data ctx_user_data)
 
static void even_gid_task_cb (struct doca_urom_service_get_workers_by_gid_task *task, union doca_data task_user_data, union doca_data ctx_user_data)
 
doca_error_t multi_workers_bootstrap (char *device_name)
 

Variables

static int nb_exit_workers
 
static int nb_running_workers
 
static pthread_mutex_t mutex
 
static bool worker_force_quit
 

Function Documentation

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( UROM_MULTI_WORKERS_BOOTS::SAMPLE  )

◆ even_gid_task_cb()

static void even_gid_task_cb ( struct doca_urom_service_get_workers_by_gid_task *  task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)
static

Definition at line 315 of file urom_multi_workers_bootstrap_sample.c.

◆ multi_workers_bootstrap()

doca_error_t multi_workers_bootstrap ( char *  device_name)

Definition at line 360 of file urom_multi_workers_bootstrap_sample.c.

◆ odd_gid_task_cb()

static void odd_gid_task_cb ( struct doca_urom_service_get_workers_by_gid_task *  task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)
static

Definition at line 269 of file urom_multi_workers_bootstrap_sample.c.

◆ signal_handler()

static void signal_handler ( int  signum)
static

Definition at line 75 of file urom_multi_workers_bootstrap_sample.c.

◆ worker_graph_loopback_finished_cb()

static void worker_graph_loopback_finished_cb ( doca_error_t  result,
union doca_data  cookie,
uint64_t  data 
)
static

Definition at line 90 of file urom_multi_workers_bootstrap_sample.c.

◆ worker_main()

static void* worker_main ( void *  context)
static

Definition at line 106 of file urom_multi_workers_bootstrap_sample.c.

Variable Documentation

◆ mutex

pthread_mutex_t mutex
static

Definition at line 50 of file urom_multi_workers_bootstrap_sample.c.

◆ nb_exit_workers

int nb_exit_workers
static

Definition at line 48 of file urom_multi_workers_bootstrap_sample.c.

◆ nb_running_workers

int nb_running_workers
static

Definition at line 49 of file urom_multi_workers_bootstrap_sample.c.

◆ worker_force_quit

bool worker_force_quit
static

Definition at line 51 of file urom_multi_workers_bootstrap_sample.c.