get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/75860/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 75860,
    "url": "https://patches.dpdk.org/api/patches/75860/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1597929308-26025-1-git-send-email-xuemingl@mellanox.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<1597929308-26025-1-git-send-email-xuemingl@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1597929308-26025-1-git-send-email-xuemingl@mellanox.com",
    "date": "2020-08-20T13:15:08",
    "name": "vdpa/mlx5: fix event channel setup",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "769ef13e294266ec60ea1b25523ef0e9b5c4f354",
    "submitter": {
        "id": 814,
        "url": "https://patches.dpdk.org/api/people/814/?format=api",
        "name": "Xueming Li",
        "email": "xuemingl@mellanox.com"
    },
    "delegate": {
        "id": 2642,
        "url": "https://patches.dpdk.org/api/users/2642/?format=api",
        "username": "mcoquelin",
        "first_name": "Maxime",
        "last_name": "Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1597929308-26025-1-git-send-email-xuemingl@mellanox.com/mbox/",
    "series": [
        {
            "id": 11752,
            "url": "https://patches.dpdk.org/api/series/11752/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=11752",
            "date": "2020-08-20T13:15:08",
            "name": "vdpa/mlx5: fix event channel setup",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/11752/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/75860/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/75860/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id C2D5AA04AC;\n\tMon, 24 Aug 2020 09:34:28 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id F4023100C;\n\tMon, 24 Aug 2020 09:34:27 +0200 (CEST)",
            "from git-send-mailer.rdmz.labs.mlnx (unknown [37.142.13.130])\n by dpdk.org (Postfix) with ESMTP id 67BBB1C0B4\n for <dev@dpdk.org>; Thu, 20 Aug 2020 15:15:27 +0200 (CEST)"
        ],
        "From": "Xueming Li <xuemingl@mellanox.com>",
        "To": "Matan Azrad <matan@nvidia.com>,\n Viacheslav Ovsiienko <viacheslavo@nvidia.com>",
        "Cc": "dev@dpdk.org, Asaf Penso <asafp@nvidia.com>,\n Xueming Li <xuemingl@nvidia.com>",
        "Date": "Thu, 20 Aug 2020 13:15:08 +0000",
        "Message-Id": "<1597929308-26025-1-git-send-email-xuemingl@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "X-Mailman-Approved-At": "Mon, 24 Aug 2020 09:34:27 +0200",
        "Subject": "[dpdk-dev] [PATCH] vdpa/mlx5: fix event channel setup",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "During vdap device setup, if some error happens, event channel release\nstuck at polling event channel.\n\nEvent channel fd is set to nonblocking in cqe setup, so if any error\nhappens before this function and after event channel created, the\npooling before releasing resources will stuck.\n\nThis patch moves event channel to non-blocking mode right after\ncreation.\n\nFixes: 8395927cdf (\"vdpa/mlx5: prepare HW queues\")\nCc: matan@nvidia.com\n\nSigned-off-by: Xueming Li <xuemingl@nvidia.com>\n---\n drivers/vdpa/mlx5/mlx5_vdpa_event.c | 15 ++++++++-------\n 1 file changed, 8 insertions(+), 7 deletions(-)",
    "diff": "diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_event.c b/drivers/vdpa/mlx5/mlx5_vdpa_event.c\nindex 5a2d4fb1ec..bda547ffe0 100644\n--- a/drivers/vdpa/mlx5/mlx5_vdpa_event.c\n+++ b/drivers/vdpa/mlx5/mlx5_vdpa_event.c\n@@ -51,6 +51,8 @@ mlx5_vdpa_event_qp_global_release(struct mlx5_vdpa_priv *priv)\n static int\n mlx5_vdpa_event_qp_global_prepare(struct mlx5_vdpa_priv *priv)\n {\n+\tint flags, ret;\n+\n \tif (priv->eventc)\n \t\treturn 0;\n \tif (mlx5_glue->devx_query_eqn(priv->ctx, 0, &priv->eqn)) {\n@@ -66,6 +68,12 @@ mlx5_vdpa_event_qp_global_prepare(struct mlx5_vdpa_priv *priv)\n \t\t\trte_errno);\n \t\tgoto error;\n \t}\n+\tflags = fcntl(priv->eventc->fd, F_GETFL);\n+\tret = fcntl(priv->eventc->fd, F_SETFL, flags | O_NONBLOCK);\n+\tif (ret) {\n+\t\tDRV_LOG(ERR, \"Failed to change event channel FD.\");\n+\t\tgoto error;\n+\t}\n \tpriv->uar = mlx5_glue->devx_alloc_uar(priv->ctx, 0);\n \tif (!priv->uar) {\n \t\trte_errno = errno;\n@@ -376,7 +384,6 @@ mlx5_vdpa_interrupt_handler(void *cb_arg)\n int\n mlx5_vdpa_cqe_event_setup(struct mlx5_vdpa_priv *priv)\n {\n-\tint flags;\n \tint ret;\n \n \tif (!priv->eventc)\n@@ -393,12 +400,6 @@ mlx5_vdpa_cqe_event_setup(struct mlx5_vdpa_priv *priv)\n \t\t\treturn -1;\n \t\t}\n \t}\n-\tflags = fcntl(priv->eventc->fd, F_GETFL);\n-\tret = fcntl(priv->eventc->fd, F_SETFL, flags | O_NONBLOCK);\n-\tif (ret) {\n-\t\tDRV_LOG(ERR, \"Failed to change event channel FD.\");\n-\t\tgoto error;\n-\t}\n \tpriv->intr_handle.fd = priv->eventc->fd;\n \tpriv->intr_handle.type = RTE_INTR_HANDLE_EXT;\n \tif (rte_intr_callback_register(&priv->intr_handle,\n",
    "prefixes": []
}