Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/116595/?format=api
http://patches.dpdk.org/api/patches/116595/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/1663794172-19697-7-git-send-email-nicolas.chautru@intel.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<1663794172-19697-7-git-send-email-nicolas.chautru@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1663794172-19697-7-git-send-email-nicolas.chautru@intel.com", "date": "2022-09-21T21:02:51", "name": "[v8,6/7] bbdev: add queue related warning and status information", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "be4609ab6f13135d4a9a10f8e757f243a670aef5", "submitter": { "id": 1314, "url": "http://patches.dpdk.org/api/people/1314/?format=api", "name": "Chautru, Nicolas", "email": "nicolas.chautru@intel.com" }, "delegate": { "id": 6690, "url": "http://patches.dpdk.org/api/users/6690/?format=api", "username": "akhil", "first_name": "akhil", "last_name": "goyal", "email": "gakhil@marvell.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/1663794172-19697-7-git-send-email-nicolas.chautru@intel.com/mbox/", "series": [ { "id": 24762, "url": "http://patches.dpdk.org/api/series/24762/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=24762", "date": "2022-09-21T21:02:45", "name": "bbdev changes for 22.11", "version": 8, "mbox": "http://patches.dpdk.org/series/24762/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/116595/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/116595/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id D511AA00C3;\n\tWed, 21 Sep 2022 23:04:04 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id AB82B42B86;\n\tWed, 21 Sep 2022 23:03:28 +0200 (CEST)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n by mails.dpdk.org (Postfix) with ESMTP id 12B104282B\n for <dev@dpdk.org>; Wed, 21 Sep 2022 23:03:23 +0200 (CEST)", "from orsmga005.jf.intel.com ([10.7.209.41])\n by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 21 Sep 2022 14:03:23 -0700", "from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245])\n by orsmga005.jf.intel.com with ESMTP; 21 Sep 2022 14:03:23 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1663794204; x=1695330204;\n h=from:to:cc:subject:date:message-id:in-reply-to: references;\n bh=QXwySZ4t90TYEsDIpmV50EheNFUBp4hyHy4BEc+mtRw=;\n b=i/iBbDbUfseQsLnMup8oT0MtmWHmcNc0gZRvF28OnDtNijFwqp8VEanU\n E+fcuS5U/Yj20rjmOymnySw7DvgsjgVDHnIEiggFWgKVZKw2vJ+y9AvJF\n vnLAEhvvEldT9rR1pM6VnSxd2MVVMs1153LKaW1ZQzjbBFZvm1F/37Saq\n 0woqBeZ958iOwyW99xsnSkdTzxciyAbizg49SUjROZP9leSjIGiwpl8nS\n HsonGAeST/WpBxItc9O8N6mzrzwGUmzUidIT9mM1kmUk7G4XOqx3InFem\n bRqSn6u2vuqe6dYvh4ucpRV+vzFii4E8MG+Bfgpy+1uX5Ebw2iUWBSlC/ g==;", "X-IronPort-AV": [ "E=McAfee;i=\"6500,9779,10477\"; a=\"300967621\"", "E=Sophos;i=\"5.93,334,1654585200\"; d=\"scan'208\";a=\"300967621\"", "E=Sophos;i=\"5.93,334,1654585200\"; d=\"scan'208\";a=\"794832360\"" ], "X-ExtLoop1": "1", "From": "Nic Chautru <nicolas.chautru@intel.com>", "To": "dev@dpdk.org,\n\tthomas@monjalon.net,\n\tgakhil@marvell.com", "Cc": "maxime.coquelin@redhat.com, trix@redhat.com, mdr@ashroe.eu,\n bruce.richardson@intel.com, david.marchand@redhat.com,\n stephen@networkplumber.org, mingshan.zhang@intel.com,\n hemant.agrawal@nxp.com, Nicolas Chautru <nicolas.chautru@intel.com>", "Subject": "[PATCH v8 6/7] bbdev: add queue related warning and status\n information", "Date": "Wed, 21 Sep 2022 14:02:51 -0700", "Message-Id": "<1663794172-19697-7-git-send-email-nicolas.chautru@intel.com>", "X-Mailer": "git-send-email 1.8.3.1", "In-Reply-To": "<1663794172-19697-1-git-send-email-nicolas.chautru@intel.com>", "References": "<1655491040-183649-6-git-send-email-nicolas.chautru@intel.com>\n <1663794172-19697-1-git-send-email-nicolas.chautru@intel.com>", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "From: Nicolas Chautru <nicolas.chautru@intel.com>\n\nThis allows to expose more information with regards to any\nqueue related failure and warning which cannot be supported\nin existing API.\n\nSigned-off-by: Nicolas Chautru <nicolas.chautru@intel.com>\nAcked-by: Maxime Coquelin <maxime.coquelin@redhat.com>\n---\n app/test-bbdev/test_bbdev_perf.c | 2 ++\n lib/bbdev/rte_bbdev.c | 19 +++++++++++++++++++\n lib/bbdev/rte_bbdev.h | 34 ++++++++++++++++++++++++++++++++++\n lib/bbdev/version.map | 1 +\n 4 files changed, 56 insertions(+)", "diff": "diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c\nindex 1abda2d..653b21f 100644\n--- a/app/test-bbdev/test_bbdev_perf.c\n+++ b/app/test-bbdev/test_bbdev_perf.c\n@@ -4360,6 +4360,8 @@ typedef int (test_case_function)(struct active_device *ad,\n \tstats->dequeued_count = q_stats->dequeued_count;\n \tstats->enqueue_err_count = q_stats->enqueue_err_count;\n \tstats->dequeue_err_count = q_stats->dequeue_err_count;\n+\tstats->enqueue_warning_count = q_stats->enqueue_warning_count;\n+\tstats->dequeue_warning_count = q_stats->dequeue_warning_count;\n \tstats->acc_offload_cycles = q_stats->acc_offload_cycles;\n \n \treturn 0;\ndiff --git a/lib/bbdev/rte_bbdev.c b/lib/bbdev/rte_bbdev.c\nindex 9d65ba8..bdd7c2f 100644\n--- a/lib/bbdev/rte_bbdev.c\n+++ b/lib/bbdev/rte_bbdev.c\n@@ -721,6 +721,8 @@ struct rte_bbdev *\n \t\tstats->dequeued_count += q_stats->dequeued_count;\n \t\tstats->enqueue_err_count += q_stats->enqueue_err_count;\n \t\tstats->dequeue_err_count += q_stats->dequeue_err_count;\n+\t\tstats->enqueue_warn_count += q_stats->enqueue_warn_count;\n+\t\tstats->dequeue_warn_count += q_stats->dequeue_warn_count;\n \t}\n \trte_bbdev_log_debug(\"Got stats on %u\", dev->data->dev_id);\n }\n@@ -1163,3 +1165,20 @@ struct rte_mempool *\n \trte_bbdev_log(ERR, \"Invalid device status\");\n \treturn NULL;\n }\n+\n+const char *\n+rte_bbdev_enqueue_status_str(enum rte_bbdev_enqueue_status status)\n+{\n+\tstatic const char * const enq_sta_string[] = {\n+\t\t\"RTE_BBDEV_ENQ_STATUS_NONE\",\n+\t\t\"RTE_BBDEV_ENQ_STATUS_QUEUE_FULL\",\n+\t\t\"RTE_BBDEV_ENQ_STATUS_RING_FULL\",\n+\t\t\"RTE_BBDEV_ENQ_STATUS_INVALID_OP\",\n+\t};\n+\n+\tif (status < sizeof(enq_sta_string) / sizeof(char *))\n+\t\treturn enq_sta_string[status];\n+\n+\trte_bbdev_log(ERR, \"Invalid enqueue status\");\n+\treturn NULL;\n+}\ndiff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h\nindex ed30763..f639852 100644\n--- a/lib/bbdev/rte_bbdev.h\n+++ b/lib/bbdev/rte_bbdev.h\n@@ -224,6 +224,19 @@ struct rte_bbdev_queue_conf {\n rte_bbdev_queue_stop(uint16_t dev_id, uint16_t queue_id);\n \n /**\n+ * Flags indicate the reason why a previous enqueue may not have\n+ * consumed all requested operations\n+ * In case of multiple reasons the latter supersedes a previous one\n+ */\n+enum rte_bbdev_enqueue_status {\n+\tRTE_BBDEV_ENQ_STATUS_NONE, /**< Nothing to report */\n+\tRTE_BBDEV_ENQ_STATUS_QUEUE_FULL, /**< Not enough room in queue */\n+\tRTE_BBDEV_ENQ_STATUS_RING_FULL, /**< Not enough room in ring */\n+\tRTE_BBDEV_ENQ_STATUS_INVALID_OP, /**< Operation was rejected as invalid */\n+\tRTE_BBDEV_ENQ_STATUS_PADDED_MAX = 6, /**< Maximum enq status number including padding */\n+};\n+\n+/**\n * Flags indicate the status of the device\n */\n enum rte_bbdev_device_status {\n@@ -246,6 +259,12 @@ struct rte_bbdev_stats {\n \tuint64_t enqueue_err_count;\n \t/** Total error count on operations dequeued */\n \tuint64_t dequeue_err_count;\n+\t/** Total warning count on operations enqueued */\n+\tuint64_t enqueue_warn_count;\n+\t/** Total warning count on operations dequeued */\n+\tuint64_t dequeue_warn_count;\n+\t/** Total enqueue status count based on rte_bbdev_enqueue_status enum */\n+\tuint64_t enqueue_status_count[RTE_BBDEV_ENQ_STATUS_PADDED_MAX];\n \t/** CPU cycles consumed by the (HW/SW) accelerator device to offload\n \t * the enqueue request to its internal queues.\n \t * - For a HW device this is the cycles consumed in MMIO write\n@@ -386,6 +405,7 @@ struct rte_bbdev_queue_data {\n \tvoid *queue_private; /**< Driver-specific per-queue data */\n \tstruct rte_bbdev_queue_conf conf; /**< Current configuration */\n \tstruct rte_bbdev_stats queue_stats; /**< Queue statistics */\n+\tenum rte_bbdev_enqueue_status enqueue_status; /**< Enqueue status when op is rejected */\n \tbool started; /**< Queue state */\n };\n \n@@ -938,6 +958,20 @@ typedef void (*rte_bbdev_cb_fn)(uint16_t dev_id,\n const char*\n rte_bbdev_device_status_str(enum rte_bbdev_device_status status);\n \n+/**\n+ * Converts queue status from enum to string\n+ *\n+ * @param status\n+ * Queue status as enum\n+ *\n+ * @returns\n+ * Queue status as string or NULL if op_type is invalid\n+ *\n+ */\n+__rte_experimental\n+const char*\n+rte_bbdev_enqueue_status_str(enum rte_bbdev_enqueue_status status);\n+\n #ifdef __cplusplus\n }\n #endif\ndiff --git a/lib/bbdev/version.map b/lib/bbdev/version.map\nindex 0cbeab3..f5e2dd7 100644\n--- a/lib/bbdev/version.map\n+++ b/lib/bbdev/version.map\n@@ -45,6 +45,7 @@ EXPERIMENTAL {\n \n \t# added in 22.11\n \trte_bbdev_device_status_str;\n+\trte_bbdev_enqueue_status_str;\n \trte_bbdev_enqueue_fft_ops;\n \trte_bbdev_dequeue_fft_ops;\n \trte_bbdev_fft_op_alloc_bulk;\n", "prefixes": [ "v8", "6/7" ] }{ "id": 116595, "url": "