get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 22030,
    "url": "https://patches.dpdk.org/api/patches/22030/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20170320233804.47489-1-yskoh@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": "<20170320233804.47489-1-yskoh@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20170320233804.47489-1-yskoh@mellanox.com",
    "date": "2017-03-20T23:38:04",
    "name": "[dpdk-dev] net/mlx5: fix reusing Rx/Tx queues",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "87a7e69ac748e2a50b1b7db1b386ca5ea5d37d0f",
    "submitter": {
        "id": 636,
        "url": "https://patches.dpdk.org/api/people/636/?format=api",
        "name": "Yongseok Koh",
        "email": "yskoh@mellanox.com"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20170320233804.47489-1-yskoh@mellanox.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/22030/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/22030/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 67D532BF2;\n\tTue, 21 Mar 2017 00:38:18 +0100 (CET)",
            "from EUR03-AM5-obe.outbound.protection.outlook.com\n\t(mail-eopbgr30080.outbound.protection.outlook.com [40.107.3.80])\n\tby dpdk.org (Postfix) with ESMTP id 30605133F;\n\tTue, 21 Mar 2017 00:38:17 +0100 (CET)",
            "from mellanox.com (12.250.235.110) by\n\tAM5PR0501MB2449.eurprd05.prod.outlook.com (10.169.149.151) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.977.11;\n\tMon, 20 Mar 2017 23:38:14 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=vZNs03Mq7LadAw/ofxHvzINyCLnuGUl+Qs2k3Hro5Rg=;\n\tb=rOaKVnlnG0b9jC4UCibVItQaNnb84RnJYIFIF9hF1jnoM9ybPgfd/jjOFhkWU8/zexvcQW5Z00YIyTRYq7O+hy7X/YegT3oymcFcxlXmX9RIOvzemWAylAQ9SSfHb5Qfoqyaq8RWhfU5J580LhLjC8+6oeCzWvYCj79cpH54YvU=",
        "Authentication-Results": "intel.com; dkim=none (message not signed)\n\theader.d=none; intel.com;\n\tdmarc=none action=none header.from=mellanox.com; ",
        "From": "Yongseok Koh <yskoh@mellanox.com>",
        "To": "<ferruh.yigit@intel.com>",
        "CC": "<dev@dpdk.org>, <adrien.mazarguil@6wind.com>,\n\t<nelio.laranjeiro@6wind.com>, Yongseok Koh <yskoh@mellanox.com>,\n\t<stable@dpdk.org>",
        "Date": "Mon, 20 Mar 2017 16:38:04 -0700",
        "Message-ID": "<20170320233804.47489-1-yskoh@mellanox.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[12.250.235.110]",
        "X-ClientProxiedBy": "BN6PR11CA0017.namprd11.prod.outlook.com (10.172.17.27) To\n\tAM5PR0501MB2449.eurprd05.prod.outlook.com (10.169.149.151)",
        "X-MS-Office365-Filtering-Correlation-Id": "afbf798e-176d-47d2-3499-08d46fea2e88",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081);\n\tSRVR:AM5PR0501MB2449; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; AM5PR0501MB2449;\n\t3:zFJHM/MnUBIRSLQZ4uHlAE/Bquyp8YcAemhvXbE3KgvkfhQXS5D6g8TnoiV35XRHhre/9IKcE6fJJTfDqFGVyYeZxz1Ifc14nDCzenYLJZ1M9JFqKNLl32F7oO6KZlU1z/NR04CIeKaHfsnIy8Kj8mi+Ne+H6TJcticamLnJsH/IwTvp01TXcpcmX6dCMRbXKfdDexLFNuPFj6JVko0dWoH+A286WD/dq7Ztbt3jrdpqoUInTQFVkAxKnfJFA2VCJzkIPcB293irefuquV7nWnmmkFzXDS5C8SKYjpLcx+s=;\n\t25:s8icW7SKmdEjTtDGISYzHcxy3IudDBd6OFJ9w3okl3NsDOFfJx/K6Z4YJ+BnhnaQLcDcGKB3taWDavYB0XON83sK4ewuCnhxNaRisj+sMyUCOAnK5NRoccJRVy829EkEIaneab+47xdeaRNu7WK3HunS3+Crm+xq0fVuSvJBd1sXRSAhQPbE6+vf6NN3CQnwgr0I8a3k/6o9shmb1Qnh6Ht5c4R3AHsc7qH+pd1GDfEaXh9JVHrwz5Ne23lW4pEkHPwUsGtV0+rn4roztbZSTzw0iyvtVy2XRUa6mIb0viupS6Xo52NB68Og+X7D/k3d9w4WAhK0aVmsTXbVdcZDdAPV33vEOsdbk+fThvxmJLs+R1z74DSOf8k+jxxbVyT2EJqsB1CDoTr62v8wqNRL9tScsNJ3eA09XBJqRgP7fCKjDk1YeAc2DkahC88lhUr5TzcL2fYjfHmFzf1/aAjDyQ==",
            "1; AM5PR0501MB2449;\n\t31:E/P6RYEup7DzUMKiDLPri3cZT/bMk4euenCdDw4eCxNtIA/w3rryn+LJchY4QwO+s+3ZdP6rlw88UcctAhim+oTdZGqH+Jg+wyEXui+P7t/oIw43RuMvnBtse1yVNq+tOWMq7jq6HupOA1Eo0Pd4nHNnjFJDhJghdfS33FfVFts92amvRHtDpYiXZ9hj4DfzbukskLq8sHxmNSGs5p5E6KGt1V09sp9QGy66Kpv8C9uaocJvuMTD9QVRmcCr0cQh+96UMFbR/Tom8Y96Xzn0Yg==;\n\t20:tJTyktUdilKY8fswcPcMZKKij9IY4gCaTDCYCZJujIkmKcUFB1OB15UWSjhqH4UHdaDDSEEzN127CUeCcHVCpehVac6cshRdE7ZH8W7ic3dxy3YIKmKuvgMgihiVzbdEQmwXpOS7kU4WgfvwPqzKgVQ5oL0M0B95kRedsaPaICn5HNl4plzJCcAN+Y5ULd/sFvf9KNc0P9vhDrQRUn8u1vKCg8wHQRjC951VoRYDDyCf7wT8XkQ1e4FoOowACdyAD9P3TeJaPerWtMw+C3nooTYUaPEtxS4RyQUkAhk8LWe1MY4VJa4MBUjj8nYFzzehL7xOcutLcAkhhg66FUPXNM16bVT4gz9vvp3sMNEJ/PfgFVdyBLHksznDsueRtaBRaJYzplbZDCUj3jw2pdRLSjsNwCADDa4ihQ94SmdFm/7LlLNGUBgmVLhB1HfHqE8hoIrukE7y7xBw7v/h4vQ0MOZI8UKdqRNAcZ3Vq8RqkuBIzQCAlrSX6ekrlsZ6geCH",
            "1; AM5PR0501MB2449;\n\t4:SzKqRFAeYxTUx5g2s0oxOgA6FXQhawSeX20O2MUJuhigyUCUO2oJfan2VFf4tAxyHd9EJUcBt4nzvn4OseK/NU00q2KZ3F+ck1IkbFGM5qyXWc/LEf931Vc5yT4PRL9FeaoaEwcaKtIz0SszVQqYhXxGfmNtJ55JhmbbJdxykZBI3xaewdPFmhrEWfvmTuj9B45g8jzdtS6Ti2xiZ963Bqw7ih83zPOqBqkf9MwDx+wDhxWPy36DAE0Rw7HnRq8VWB0reJ6tGP9c9ORZY50pR+Pzs9g75hSY7Iz/NLxet0rsST+oHhGBXRUv9SLET/7sGqD9bSVxBTUqSFh/qxp7fZa5cqVDywzRg20I4bMuhVhGZsDy6U0d84sqflt+wR6g8tSqC07dmb80EVN+DGUwQLs2TJKksCXRJC2NcxBTS/swcGe97PJyTcBLC1bZwVbdj8pJOYOh9rrUkLDYtJnyZcLEATFBvV1eb343Z1fdluZil4RSMPt4q9YFrcTGFmDZm9sBnW41AtfVeAkUbmJ0ujLvwnK299BwNPGjCmFjEhhpbALLQI2kLN+p8zGC+ZscmAAjBBIT9mOyXMpfmR0h53hBP3wuivRnjPffWXoHdoblaopXthemyIXkSTTfhOI6",
            "=?us-ascii?Q?1; AM5PR0501MB2449;\n\t23:Z3rG4Yd4Sznej39i7alqMnei07iSRxzFrXzdJ7N?=\n\txHQhEl9PWGttc33h+LRzx5haOMXUPwGXyxyo+WgubqdwzU/Cf73to8srJfFlPXuGXdFOvsrKJov+xRT6RLlvTx9qxdyC/DFULKJfFTpdXgE125c4gTzu1XjRkkLRRT6Y4oWiaUWnpT/WA9U84YUK/I31m/cSQklj2qsUF6EyE16owz2H05TiGrAf6NDej+mjBWHjqymRoZV/my2l0ax5Ku0kXC64FcVRpIjTInMbgQc9BnrYO2HYPImMDpYS3C5ms1nJTuhf98AIOvlH8ANIiABaOc2KCBpYBrOZktovrBzuIEgfUT8o5iEeWCRE7R1P6KPJ8MoFwapCGe7ulZCh9AElPQmoTCEy2romAqv2brISyYhohQxKjV94/zLjW5naJKVNzYISp2SCc5ZYRAtEiY8PHGbzKIiFIKOxaWL993r5hqXbMyeLTAGJG2aglIA5KfMUEen/BPM2pYJDZjmcw2vxBnJDbjeZrX+1Bb0Yoh3fg2HKZHROrIErJ4BEi2ZiSzGVi7eqq1RGjD/k3xxXj5eHPRBR6V9LX+dccnT/wPQiMxT+4twJoD5SjRZ4IStoyP9JVpWEuVHoYquLfH0C6fwAByv8tx3wmJus43KqzHwMgaZ5mVco+ncK1HyVMsvbJx0mtX5iwN8VRoRqmxNeJzroMzVblIbIuaMwpO3+VQHfAjV0T/LwTdhNlKl/1mqBEDLQJDJAFnJBc/x4oYJxCm7SH70082dpuUBf1sbaq7LwQiqCMwYCuV54qDmoJFGidyxELXomMDkM6ucNvLM0gfaXGE+jZcF16goFOcBHqAktg3jqhiEASwDZTSnaQzZs/Y5UurApOePVC5JD/F/G8DKGRT8qEaXjcSCuZxKIY/XYTDYL7TIPPBgd4L0UJJPhIyYbPVCRoTkPm6TgHEx1LfRPFTnIuw5Bicx6sVd9x2U6IN0xq1WESkBMsFhp1KK4TfqgdijuwhE9u2Pmmd1+HiIo0",
            "1; AM5PR0501MB2449;\n\t6:PNJ+w8EUzgz8+zKJQ0CSIYo6ihH9gcc3tk4rLo+vpvA6NUQHUvCX18toiAUeOmoUeqlnKRYH9XiiUmWDJ38Sjd4kcdbQAqQSNFuasEdAivJR8VkUedAkQY7CZK8E9/cI3w7EbMe5/QZ5twX/y0gTGXtWiSTUXJ6CXNEuLDWywVZM3i1r4jmwU6mfmi11+xUtHG5WRIiVXBtut2QIuL9Q3+SB47NBTzpz8a70p/r5NGBZthZdyXKR6xYWhvPJRWXlc+uDpNFlT+l2ih3rueX0wifg8Auott4zXyjN4iu4k07d7vIp0A80HkmD6qrnnKgle1s6GnlWHufhu+T8uz2zXR10qsGIM/911rG0zmkzpuZU9Hpe2JKm18YbMNUizfJBS4CTI/tEZwev45E+kqTzyuX5MUtWnIkQjeJ3/rv732I=;\n\t5:SmA764JZwQ7KE6k8b6+i30CpvxbsrkVUyl+fAnfLe82bRY3i5cgWXkX7Ts3Tk90gkQ03KmyezG0O9GQvWfwJe+ZUtzsa4iACAN2ih6sWr6vggWWIxS3ImOv7BFc8xLJcrSJZZgtlReGWBE8DxnHS6A==;\n\t24:wQfEo0OcFrTS0fS32CVO02TVQz4gVNnTxgz/u5S3fYhIE2l/8Zf/5N4OgRvgmSXSplLaVMIa+66cSo5egC+qxPYT4DHNXyibgxT3V+cz0hs=",
            "1; AM5PR0501MB2449;\n\t7:NVjGl60t7dICp6jxSD5AAVs9GjxVxGcsD+Q+gOYi0SbYLHwFjQCBhb4cM4FeaIoiIldxU6HIFMjuPglGcgHu10FU8WZb3al46rx0XOPJ8OntiCXOFyoZMFG7ihJkY1VZFYZxmRkDuDN/Y5+3yQtSD+s0JmVTKbjLOyCNkgFV2HP4Uz/EBN0kKIRY+DB+T8VQCTobWW3cGReQQs/2qB59c+62hYtvK85Hc2Qm4SQtgswTT6hmQ+5LwwjsSUczhZNC/l2xxbbEaYwRAMj0Q7Vsb/fU0xMZWR+JWAzueovAEk3W2Yk2APJWoqv8SFh44ZJKXe9lbDCA6LQcrw1ZKXd8aQ=="
        ],
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "<AM5PR0501MB24493590304CFF8E7C825BC0C33A0@AM5PR0501MB2449.eurprd05.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123562025)(20161123560025)(20161123555025)(20161123558025)(20161123564025)(6072148);\n\tSRVR:AM5PR0501MB2449; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2449; ",
        "X-Forefront-PRVS": "02524402D6",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(6009001)(39850400002)(39840400002)(39410400002)(39860400002)(39450400003)(36756003)(50226002)(50466002)(48376002)(55016002)(4326008)(86362001)(6666003)(6916009)(7736002)(575784001)(1076002)(5003940100001)(81166006)(8676002)(5660300001)(2906002)(305945005)(6116002)(33026002)(66066001)(50986999)(3846002)(110136004)(53936002)(189998001)(42186005)(33646002)(54906002)(47776003)(38730400002)(2351001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2449; H:mellanox.com; FPR:;\n\tSPF:None; MLV:sfv; LANG:en; ",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "20 Mar 2017 23:38:14.6980\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM5PR0501MB2449",
        "Subject": "[dpdk-dev] [PATCH] net/mlx5: fix reusing Rx/Tx queues",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "When configuring Rx/Tx queue, if queue already exists, it is reused. But if\nthe queue size is changed, it must be resized to not access/overwrite\ninvalid memory.\n\nFixes: 2e22920b85d9 (\"mlx5: support non-scattered Tx and Rx\")\n\nCC: stable@dpdk.org\nSigned-off-by: Yongseok Koh <yskoh@mellanox.com>\n---\n drivers/net/mlx5/mlx5_rxq.c | 13 +++++++++++++\n drivers/net/mlx5/mlx5_txq.c | 13 +++++++++++++\n 2 files changed, 26 insertions(+)",
    "diff": "diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c\nindex e6070a0e5..aa28efc3d 100644\n--- a/drivers/net/mlx5/mlx5_rxq.c\n+++ b/drivers/net/mlx5/mlx5_rxq.c\n@@ -1261,6 +1261,19 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,\n \t\t}\n \t\t(*priv->rxqs)[idx] = NULL;\n \t\trxq_cleanup(rxq_ctrl);\n+\t\t/* Resize if rxq size is chagned. */\n+\t\tif (rxq_ctrl->rxq.elts_n != log2above(desc)) {\n+\t\t\trxq_ctrl = rte_realloc(rxq_ctrl,\n+\t\t\t\t\t  sizeof(*rxq_ctrl) +\n+\t\t\t\t\t  desc * sizeof(struct rte_mbuf *),\n+\t\t\t\t\t  RTE_CACHE_LINE_SIZE);\n+\t\t\tif (!rxq_ctrl) {\n+\t\t\t\tERROR(\"%p: unable to reallocate queue index %u\",\n+\t\t\t\t\t(void *)dev, idx);\n+\t\t\t\tpriv_unlock(priv);\n+\t\t\t\treturn -ENOMEM;\n+\t\t\t}\n+\t\t}\n \t} else {\n \t\trxq_ctrl = rte_calloc_socket(\"RXQ\", 1, sizeof(*rxq_ctrl) +\n \t\t\t\t\t     desc * sizeof(struct rte_mbuf *),\ndiff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c\nindex bbfce756b..371dcd2f6 100644\n--- a/drivers/net/mlx5/mlx5_txq.c\n+++ b/drivers/net/mlx5/mlx5_txq.c\n@@ -532,6 +532,19 @@ mlx5_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,\n \t\t}\n \t\t(*priv->txqs)[idx] = NULL;\n \t\ttxq_cleanup(txq_ctrl);\n+\t\t/* Resize if txq size is chagned. */\n+\t\tif (txq_ctrl->txq.elts_n != log2above(desc)) {\n+\t\t\ttxq_ctrl = rte_realloc(txq_ctrl,\n+\t\t\t\t\t  sizeof(*txq_ctrl) +\n+\t\t\t\t\t  desc * sizeof(struct rte_mbuf *),\n+\t\t\t\t\t  RTE_CACHE_LINE_SIZE);\n+\t\t\tif (!txq_ctrl) {\n+\t\t\t\tERROR(\"%p: unable to reallocate queue index %u\",\n+\t\t\t\t\t(void *)dev, idx);\n+\t\t\t\tpriv_unlock(priv);\n+\t\t\t\treturn -ENOMEM;\n+\t\t\t}\n+\t\t}\n \t} else {\n \t\ttxq_ctrl =\n \t\t\trte_calloc_socket(\"TXQ\", 1,\n",
    "prefixes": [
        "dpdk-dev"
    ]
}