IDXD Driver

Public Interface

Key Functions

Function Description
spdk_idxd_probe() Enumerate the IDXD devices attached to the system and attach the userspace IDXD driver to them if desired.
spdk_idxd_batch_get_max() Return the max number of descriptors per batch for IDXD.
spdk_idxd_batch_create() Create a batch sequence.
spdk_idxd_batch_prep_copy() Synchronous call to prepare a copy request into a previously initialized batch created with spdk_idxd_batch_create().
spdk_idxd_batch_submit() Submit a batch sequence.
spdk_idxd_submit_copy() Build and submit an idxd memory copy request.
spdk_idxd_submit_compare() Build and submit a memory compare request.
spdk_idxd_submit_crc32c() Build and submit a memory CRC32-C request.
spdk_idxd_submit_dualcast Build and submit an idxd dualcast request.
spdk_idxd_submit_fill() Build and submit a idxd memory fill request.

Pre-defined configurations

The RPC idxd_scan_accel_engine is used to both enable IDXD and set it's configuration to one of two pre-defined configs:

Config #0: 4 groups, 1 work queue per group, 1 engine per group. Config #1: 2 groups, 2 work queues per group, 2 engines per group.