NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
DOCA MMAP advise
Collaboration diagram for DOCA MMAP advise:

Typedefs

typedef void(* doca_mmap_advise_task_invalidate_cache_completion_cb_t) (struct doca_mmap_advise_task_invalidate_cache *task, union doca_data task_user_data, union doca_data ctx_user_data)
 Invalidate cache task completion callback. More...
 

Functions

DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_create (struct doca_dev *dev, struct doca_mmap_advise **mmap_advise)
 Create an mmap advise instance. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_destroy (struct doca_mmap_advise *mmap_advise)
 Destroy an mmap advise instance. More...
 
DOCA_EXPERIMENTAL struct doca_ctx * doca_mmap_advise_as_ctx (struct doca_mmap_advise *mmap_advise)
 Convert a MMAP advise to a DOCA context. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_cap_task_cache_invalidate_is_supported (const struct doca_devinfo *devinfo)
 Check if a given device supports submitting a DOCA MMAP advise cache invalidate task. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_task_cache_invalidate_get_max_buf_size (const struct doca_devinfo *devinfo, uint64_t *buf_size)
 
DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_task_invalidate_cache_set_conf (struct doca_mmap_advise *mmap_advise, doca_mmap_advise_task_invalidate_cache_completion_cb_t completion_cb, doca_mmap_advise_task_invalidate_cache_completion_cb_t error_cb, uint32_t num_tasks)
 Set the DOCA MMAP advise cache invalidate task configuration. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_task_invalidate_cache_alloc_init (struct doca_mmap_advise *mmap_advise, struct doca_buf *buf, union doca_data user_data, struct doca_mmap_advise_task_invalidate_cache **task)
 Allocate a DOCA MMAP advise cache invalidate task. More...
 
DOCA_EXPERIMENTAL struct doca_task * doca_mmap_advise_task_invalidate_cache_as_doca_task (struct doca_mmap_advise_task_invalidate_cache *task)
 Convert a DOCA MMAP advise invalidate cache task to a DOCA Task. More...
 
DOCA_EXPERIMENTAL void doca_mmap_advise_task_invalidate_cache_set_buf (struct doca_mmap_advise_task_invalidate_cache *task, struct doca_buf *buf)
 Set the doca_buf pointer of a DOCA MMAP advise cache invalidate task. More...
 
DOCA_EXPERIMENTAL struct doca_buf * doca_mmap_advise_task_invalidate_cache_get_buf (const struct doca_mmap_advise_task_invalidate_cache *task)
 Get the doca_buf pointer of a DOCA MMAP advise cache invalidate task. More...
 

Detailed Description

DOCA MMAP advise DOCA MMAP advise is a context that facilitates invalidating cache.

Typedef Documentation

◆ doca_mmap_advise_task_invalidate_cache_completion_cb_t

typedef void(* doca_mmap_advise_task_invalidate_cache_completion_cb_t) (struct doca_mmap_advise_task_invalidate_cache *task, union doca_data task_user_data, union doca_data ctx_user_data)

Invalidate cache task completion callback.

Parameters
[in]taskThe successfully completed invalidate cache task. The implementation can assume task is not NULL.
[in]task_user_dataTask's user data which was previously set.
[in]ctx_user_dataContext's user data which was previously set.

Definition at line 66 of file doca_mmap_advise.h.

Function Documentation

◆ doca_mmap_advise_as_ctx()

DOCA_EXPERIMENTAL struct doca_ctx* doca_mmap_advise_as_ctx ( struct doca_mmap_advise *  mmap_advise)

Convert a MMAP advise to a DOCA context.

Parameters
[in]mmap_adviseThe doca_mmap_advise to be converted
Returns
The matching doca_ctx instance in case of success, NULL otherwise.

◆ doca_mmap_advise_cap_task_cache_invalidate_is_supported()

DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_cap_task_cache_invalidate_is_supported ( const struct doca_devinfo *  devinfo)

Check if a given device supports submitting a DOCA MMAP advise cache invalidate task.

Parameters
[in]devinfoThe DOCA device information.
Returns
DOCA_SUCCESS - in case device supports submitting a cache invalidate task. Error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - received invalid input.
  • DOCA_ERROR_NOT_SUPPORTED - provided devinfo does not support submitting a cache invalidate task.

◆ doca_mmap_advise_create()

DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_create ( struct doca_dev *  dev,
struct doca_mmap_advise **  mmap_advise 
)

Create an mmap advise instance.

Parameters
[in]devdoca_dev to create the mmap_advise on
[out]mmap_adviseThe created doca_mmap_advise instance.
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - mmap_advise argument is a NULL pointer.
  • DOCA_ERROR_NO_MEMORY - failed to alloc doca_mmap_advise.

◆ doca_mmap_advise_destroy()

DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_destroy ( struct doca_mmap_advise *  mmap_advise)

Destroy an mmap advise instance.

Parameters
[in]mmap_advisedoca_mmap_advise to be destroyed.
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - mmap_advise argument is a NULL pointer.

◆ doca_mmap_advise_task_cache_invalidate_get_max_buf_size()

DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_task_cache_invalidate_get_max_buf_size ( const struct doca_devinfo *  devinfo,
uint64_t *  buf_size 
)

Get the maximum supported buffer size for cache invalidate.

Parameters
[in]devinfoThe DOCA device information.
[out]buf_sizeThe maximum supported buffer size in bytes.
Returns
DOCA_SUCCESS - upon success Error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - in case of invalid input.

◆ doca_mmap_advise_task_invalidate_cache_alloc_init()

DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_task_invalidate_cache_alloc_init ( struct doca_mmap_advise *  mmap_advise,
struct doca_buf *  buf,
union doca_data  user_data,
struct doca_mmap_advise_task_invalidate_cache **  task 
)

Allocate a DOCA MMAP advise cache invalidate task.

Parameters
[in]mmap_adviseThe associated mmap advise.
[in]bufA pointer to the doca_buf to invalidate.
[in]user_datadoca_data to attach the task, which is later passed to the task's completion CBs.
[out]taskThe allocated cache invalidate task.
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_NO_MEMORY - no more tasks to allocate.

◆ doca_mmap_advise_task_invalidate_cache_as_doca_task()

DOCA_EXPERIMENTAL struct doca_task* doca_mmap_advise_task_invalidate_cache_as_doca_task ( struct doca_mmap_advise_task_invalidate_cache *  task)

Convert a DOCA MMAP advise invalidate cache task to a DOCA Task.

Parameters
[in]taskThe doca task invalidate cache task.
Returns
The matching doca task in case of success, NULL otherwise.

◆ doca_mmap_advise_task_invalidate_cache_get_buf()

DOCA_EXPERIMENTAL struct doca_buf* doca_mmap_advise_task_invalidate_cache_get_buf ( const struct doca_mmap_advise_task_invalidate_cache *  task)

Get the doca_buf pointer of a DOCA MMAP advise cache invalidate task.

Parameters
[in]taskThe task to get its buf pointer.
Returns
The task's buf pointer.

◆ doca_mmap_advise_task_invalidate_cache_set_buf()

DOCA_EXPERIMENTAL void doca_mmap_advise_task_invalidate_cache_set_buf ( struct doca_mmap_advise_task_invalidate_cache *  task,
struct doca_buf *  buf 
)

Set the doca_buf pointer of a DOCA MMAP advise cache invalidate task.

Parameters
[in]taskThe task to set.
[in]bufA pointer to the doca_buf to invalidate.

◆ doca_mmap_advise_task_invalidate_cache_set_conf()

DOCA_EXPERIMENTAL doca_error_t doca_mmap_advise_task_invalidate_cache_set_conf ( struct doca_mmap_advise *  mmap_advise,
doca_mmap_advise_task_invalidate_cache_completion_cb_t  completion_cb,
doca_mmap_advise_task_invalidate_cache_completion_cb_t  error_cb,
uint32_t  num_tasks 
)

Set the DOCA MMAP advise cache invalidate task configuration.

Parameters
[in]mmap_adviseThe associated mmap advise.
[in]completion_cbThe cache invalidate task completion callback.
[in]error_cbThe cache invalidate task error callback.
[in]num_tasksNumber of cache invalidate tasks.
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - received null parameter.
  • DOCA_ERROR_NOT_PERMITTED - context not in idle state.