uint32_t processor_count;
/** Total memory available on device. */
size_t total_memory;
- /* Local NUMA memory ID. -1 if unknown. */
+ /** GPU memory page size. */
+ size_t page_size;
+ /** Local NUMA memory ID. -1 if unknown. */
int16_t numa_node;
};
struct rte_gpu_comm_pkt *pkt_list;
/** Number of packets in the list. */
uint32_t num_pkts;
- /** Status of the list. */
- enum rte_gpu_comm_list_status status;
+ /** Status of the list. CPU pointer. */
+ enum rte_gpu_comm_list_status *status_h;
+ /** Status of the list. GPU pointer. */
+ enum rte_gpu_comm_list_status *status_d;
};
/**
* @param dev_id
* Reference device ID.
* @param ptr
- * Pointer to the memory area to be unmapped.
+ * Pointer to the GPU memory area to be unmapped.
* NULL is a no-op accepted value.
*
* @return
int rte_gpu_comm_populate_list_pkts(struct rte_gpu_comm_list *comm_list_item,
struct rte_mbuf **mbufs, uint32_t num_mbufs);
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice.
+ *
+ * Set status flag value of a communication list item.
+ *
+ * @param comm_list_item
+ * Communication list item to query.
+ * @param status
+ * Status value to set.
+ *
+ * @return
+ * 0 on success, -rte_errno otherwise:
+ * - EINVAL if invalid input params
+ */
+__rte_experimental
+int rte_gpu_comm_set_status(struct rte_gpu_comm_list *comm_list_item,
+ enum rte_gpu_comm_list_status status);
+
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice.
+ *
+ * Get status flag value of a communication list item.
+ *
+ * @param comm_list_item
+ * Communication list item to query.
+ * Input parameter.
+ * @param status
+ * Communication list item status flag value.
+ * Output parameter.
+ *
+ * @return
+ * 0 on success, -rte_errno otherwise:
+ * - EINVAL if invalid input params
+ */
+__rte_experimental
+int rte_gpu_comm_get_status(struct rte_gpu_comm_list *comm_list_item,
+ enum rte_gpu_comm_list_status *status);
+
/**
* @warning
* @b EXPERIMENTAL: this API may change without prior notice.