X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_compressdev%2Frte_compressdev.h;h=d3c0000f0154d4580d4e989f99ce8868f4c676f8;hb=5897ac139355e2d6602c89b0a1d28e609d6f6ebc;hp=c86035f1490a52a000ca542ce1bf8f0947084c42;hpb=1466bafb9ac09841104b872f1c9bd22a6dfe9fa2;p=dpdk.git diff --git a/lib/librte_compressdev/rte_compressdev.h b/lib/librte_compressdev/rte_compressdev.h index c86035f149..d3c0000f01 100644 --- a/lib/librte_compressdev/rte_compressdev.h +++ b/lib/librte_compressdev/rte_compressdev.h @@ -73,6 +73,12 @@ rte_compressdev_capability_get(uint8_t dev_id, /**< Utilises CPU SIMD AVX512 instructions */ #define RTE_COMPDEV_FF_CPU_NEON (1ULL << 5) /**< Utilises CPU NEON instructions */ +#define RTE_COMPDEV_FF_OP_DONE_IN_DEQUEUE (1ULL << 6) +/**< A PMD should set this if the bulk of the + * processing is done during the dequeue. It should leave it + * cleared if the processing is done during the enqueue (default). + * Applications can use this as a hint for tuning. + */ /** * Get the name of a compress device feature flag. @@ -408,6 +414,13 @@ rte_compressdev_dequeue_burst(uint8_t dev_id, uint16_t qp_id, * @note All compression operations are Out-of-place (OOP) operations, * as the size of the output data is different to the size of the input data. * + * @note The rte_comp_op contains both input and output parameters and is the + * vehicle for the application to pass data into and out of the PMD. While an + * op is inflight, i.e. once it has been enqueued, the private_xform or stream + * attached to it and any mbufs or memory referenced by it should not be altered + * or freed by the application. The PMD may use or change some of this data at + * any time until it has been returned in a dequeue operation. + * * @note The flush flag only applies to operations which return SUCCESS. * In OUT_OF_SPACE cases whether STATEFUL or STATELESS, data in dest buffer * is as if flush flag was FLUSH_NONE. @@ -516,6 +529,8 @@ rte_compressdev_private_xform_create(uint8_t dev_id, /** * This should clear the private_xform and return it to the device's mempool. + * It is the application's responsibility to ensure that private_xform data + * is not cleared while there are still in-flight operations using it. * * @param dev_id * Compress device identifier @@ -527,7 +542,6 @@ rte_compressdev_private_xform_create(uint8_t dev_id, * - 0 if successful * - <0 in error cases * - Returns -EINVAL if input parameters are invalid. - * - Returns -EBUSY if can't free private_xform due to inflight operations */ int __rte_experimental rte_compressdev_private_xform_free(uint8_t dev_id, void *private_xform);