get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 74039,
    "url": "http://patches.dpdk.org/api/patches/74039/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1594785603-152773-6-git-send-email-suanmingm@mellanox.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": "<1594785603-152773-6-git-send-email-suanmingm@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1594785603-152773-6-git-send-email-suanmingm@mellanox.com",
    "date": "2020-07-15T04:00:01",
    "name": "[5/7] common/mlx5: convert data path objects to unified malloc",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "0c256b3af3e93bd96aa17a5de66684bcd85afca7",
    "submitter": {
        "id": 1358,
        "url": "http://patches.dpdk.org/api/people/1358/?format=api",
        "name": "Suanming Mou",
        "email": "suanmingm@mellanox.com"
    },
    "delegate": {
        "id": 3268,
        "url": "http://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1594785603-152773-6-git-send-email-suanmingm@mellanox.com/mbox/",
    "series": [
        {
            "id": 11031,
            "url": "http://patches.dpdk.org/api/series/11031/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=11031",
            "date": "2020-07-15T03:59:56",
            "name": "net/mlx5: add sys_mem_en devarg",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/11031/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/74039/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/74039/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 90C9BA0540;\n\tWed, 15 Jul 2020 06:01:01 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 714DB1C2A0;\n\tWed, 15 Jul 2020 06:00:22 +0200 (CEST)",
            "from git-send-mailer.rdmz.labs.mlnx (unknown [37.142.13.130])\n by dpdk.org (Postfix) with ESMTP id 1426D1C1DF\n for <dev@dpdk.org>; Wed, 15 Jul 2020 06:00:18 +0200 (CEST)"
        ],
        "From": "Suanming Mou <suanmingm@mellanox.com>",
        "To": "viacheslavo@mellanox.com,\n\tmatan@mellanox.com",
        "Cc": "orika@mellanox.com,\n\trasland@mellanox.com,\n\tdev@dpdk.org",
        "Date": "Wed, 15 Jul 2020 12:00:01 +0800",
        "Message-Id": "<1594785603-152773-6-git-send-email-suanmingm@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1594785603-152773-1-git-send-email-suanmingm@mellanox.com>",
        "References": "<1594785603-152773-1-git-send-email-suanmingm@mellanox.com>",
        "Subject": "[dpdk-dev] [PATCH 5/7] common/mlx5: convert data path objects to\n\tunified malloc",
        "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": "This commit allocates the data path object page and B-tree table memory\nfrom unified malloc function with explicit flag MLX5_MEM_RTE.\n\nSigned-off-by: Suanming Mou <suanmingm@mellanox.com>\nAcked-by: Matan Azrad <matan@mellanox.com>\n---\n drivers/common/mlx5/mlx5_common.c    | 10 ++++++----\n drivers/common/mlx5/mlx5_common_mr.c | 31 +++++++++++++++----------------\n 2 files changed, 21 insertions(+), 20 deletions(-)",
    "diff": "diff --git a/drivers/common/mlx5/mlx5_common.c b/drivers/common/mlx5/mlx5_common.c\nindex 693e2c6..17168e6 100644\n--- a/drivers/common/mlx5/mlx5_common.c\n+++ b/drivers/common/mlx5/mlx5_common.c\n@@ -13,6 +13,7 @@\n #include \"mlx5_common.h\"\n #include \"mlx5_common_os.h\"\n #include \"mlx5_common_utils.h\"\n+#include \"mlx5_malloc.h\"\n \n int mlx5_common_logtype;\n \n@@ -169,8 +170,9 @@ static inline void mlx5_cpu_id(unsigned int level,\n \tstruct mlx5_devx_dbr_page *page;\n \n \t/* Allocate space for door-bell page and management data. */\n-\tpage = rte_calloc_socket(__func__, 1, sizeof(struct mlx5_devx_dbr_page),\n-\t\t\t\t RTE_CACHE_LINE_SIZE, SOCKET_ID_ANY);\n+\tpage = mlx5_malloc(MLX5_MEM_RTE | MLX5_MEM_ZERO,\n+\t\t\t   sizeof(struct mlx5_devx_dbr_page),\n+\t\t\t   RTE_CACHE_LINE_SIZE, SOCKET_ID_ANY);\n \tif (!page) {\n \t\tDRV_LOG(ERR, \"cannot allocate dbr page\");\n \t\treturn NULL;\n@@ -180,7 +182,7 @@ static inline void mlx5_cpu_id(unsigned int level,\n \t\t\t\t\t      MLX5_DBR_PAGE_SIZE, 0);\n \tif (!page->umem) {\n \t\tDRV_LOG(ERR, \"cannot umem reg dbr page\");\n-\t\trte_free(page);\n+\t\tmlx5_free(page);\n \t\treturn NULL;\n \t}\n \treturn page;\n@@ -261,7 +263,7 @@ static inline void mlx5_cpu_id(unsigned int level,\n \t\tLIST_REMOVE(page, next);\n \t\tif (page->umem)\n \t\t\tret = -mlx5_glue->devx_umem_dereg(page->umem);\n-\t\trte_free(page);\n+\t\tmlx5_free(page);\n \t} else {\n \t\t/* Mark in bitmap that this door-bell is not in use. */\n \t\toffset /= MLX5_DBR_SIZE;\ndiff --git a/drivers/common/mlx5/mlx5_common_mr.c b/drivers/common/mlx5/mlx5_common_mr.c\nindex 564d618..23324c0 100644\n--- a/drivers/common/mlx5/mlx5_common_mr.c\n+++ b/drivers/common/mlx5/mlx5_common_mr.c\n@@ -12,6 +12,7 @@\n #include \"mlx5_common_mp.h\"\n #include \"mlx5_common_mr.h\"\n #include \"mlx5_common_utils.h\"\n+#include \"mlx5_malloc.h\"\n \n struct mr_find_contig_memsegs_data {\n \tuintptr_t addr;\n@@ -47,7 +48,8 @@ struct mr_find_contig_memsegs_data {\n \t * Initially cache_bh[] will be given practically enough space and once\n \t * it is expanded, expansion wouldn't be needed again ever.\n \t */\n-\tmem = rte_realloc(bt->table, n * sizeof(struct mr_cache_entry), 0);\n+\tmem = mlx5_realloc(bt->table, MLX5_MEM_RTE | MLX5_MEM_ZERO,\n+\t\t\t   n * sizeof(struct mr_cache_entry), 0, SOCKET_ID_ANY);\n \tif (mem == NULL) {\n \t\t/* Not an error, B-tree search will be skipped. */\n \t\tDRV_LOG(WARNING, \"failed to expand MR B-tree (%p) table\",\n@@ -180,9 +182,9 @@ struct mr_find_contig_memsegs_data {\n \t}\n \tMLX5_ASSERT(!bt->table && !bt->size);\n \tmemset(bt, 0, sizeof(*bt));\n-\tbt->table = rte_calloc_socket(\"B-tree table\",\n-\t\t\t\t      n, sizeof(struct mr_cache_entry),\n-\t\t\t\t      0, socket);\n+\tbt->table = mlx5_malloc(MLX5_MEM_RTE | MLX5_MEM_ZERO,\n+\t\t\t\tsizeof(struct mr_cache_entry) * n,\n+\t\t\t\t0, socket);\n \tif (bt->table == NULL) {\n \t\trte_errno = ENOMEM;\n \t\tDEBUG(\"failed to allocate memory for btree cache on socket %d\",\n@@ -212,7 +214,7 @@ struct mr_find_contig_memsegs_data {\n \t\treturn;\n \tDEBUG(\"freeing B-tree %p with table %p\",\n \t      (void *)bt, (void *)bt->table);\n-\trte_free(bt->table);\n+\tmlx5_free(bt->table);\n \tmemset(bt, 0, sizeof(*bt));\n }\n \n@@ -443,7 +445,7 @@ struct mlx5_mr *\n \tdereg_mr_cb(&mr->pmd_mr);\n \tif (mr->ms_bmp != NULL)\n \t\trte_bitmap_free(mr->ms_bmp);\n-\trte_free(mr);\n+\tmlx5_free(mr);\n }\n \n void\n@@ -650,11 +652,9 @@ struct mlx5_mr *\n \t      (void *)addr, data.start, data.end, msl->page_sz, ms_n);\n \t/* Size of memory for bitmap. */\n \tbmp_size = rte_bitmap_get_memory_footprint(ms_n);\n-\tmr = rte_zmalloc_socket(NULL,\n-\t\t\t\tRTE_ALIGN_CEIL(sizeof(*mr),\n-\t\t\t\t\t       RTE_CACHE_LINE_SIZE) +\n-\t\t\t\tbmp_size,\n-\t\t\t\tRTE_CACHE_LINE_SIZE, msl->socket_id);\n+\tmr = mlx5_malloc(MLX5_MEM_RTE |  MLX5_MEM_ZERO,\n+\t\t\t RTE_ALIGN_CEIL(sizeof(*mr), RTE_CACHE_LINE_SIZE) +\n+\t\t\t bmp_size, RTE_CACHE_LINE_SIZE, msl->socket_id);\n \tif (mr == NULL) {\n \t\tDEBUG(\"Unable to allocate memory for a new MR of\"\n \t\t      \" address (%p).\", (void *)addr);\n@@ -1033,10 +1033,9 @@ struct mlx5_mr *\n {\n \tstruct mlx5_mr *mr = NULL;\n \n-\tmr = rte_zmalloc_socket(NULL,\n-\t\t\t\tRTE_ALIGN_CEIL(sizeof(*mr),\n-\t\t\t\t\t       RTE_CACHE_LINE_SIZE),\n-\t\t\t\tRTE_CACHE_LINE_SIZE, socket_id);\n+\tmr = mlx5_malloc(MLX5_MEM_RTE | MLX5_MEM_ZERO,\n+\t\t\t RTE_ALIGN_CEIL(sizeof(*mr), RTE_CACHE_LINE_SIZE),\n+\t\t\t RTE_CACHE_LINE_SIZE, socket_id);\n \tif (mr == NULL)\n \t\treturn NULL;\n \treg_mr_cb(pd, (void *)addr, len, &mr->pmd_mr);\n@@ -1044,7 +1043,7 @@ struct mlx5_mr *\n \t\tDRV_LOG(WARNING,\n \t\t\t\"Fail to create MR for address (%p)\",\n \t\t\t(void *)addr);\n-\t\trte_free(mr);\n+\t\tmlx5_free(mr);\n \t\treturn NULL;\n \t}\n \tmr->msl = NULL; /* Mark it is external memory. */\n",
    "prefixes": [
        "5/7"
    ]
}