Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/68174/?format=api
https://patches.dpdk.org/api/patches/68174/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200410164342.1194634-8-dmitry.kozliuk@gmail.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": "<20200410164342.1194634-8-dmitry.kozliuk@gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20200410164342.1194634-8-dmitry.kozliuk@gmail.com", "date": "2020-04-10T16:43:39", "name": "[v2,07/10] eal: extract common code for memseg list initialization", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "3f59a564b5ffaf0418261a7cf32fad58bf407c65", "submitter": { "id": 1581, "url": "https://patches.dpdk.org/api/people/1581/?format=api", "name": "Dmitry Kozlyuk", "email": "dmitry.kozliuk@gmail.com" }, "delegate": { "id": 1, "url": "https://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200410164342.1194634-8-dmitry.kozliuk@gmail.com/mbox/", "series": [ { "id": 9309, "url": "https://patches.dpdk.org/api/series/9309/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=9309", "date": "2020-04-10T16:43:32", "name": "eal: Windows basic memory management", "version": 2, "mbox": "https://patches.dpdk.org/series/9309/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/68174/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/68174/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 81D0BA0598;\n\tFri, 10 Apr 2020 18:45:14 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 072291D63C;\n\tFri, 10 Apr 2020 18:44:06 +0200 (CEST)", "from mail-lj1-f194.google.com (mail-lj1-f194.google.com\n [209.85.208.194]) by dpdk.org (Postfix) with ESMTP id CC3FC1D61E\n for <dev@dpdk.org>; Fri, 10 Apr 2020 18:44:01 +0200 (CEST)", "by mail-lj1-f194.google.com with SMTP id n23so2527611ljg.3\n for <dev@dpdk.org>; Fri, 10 Apr 2020 09:44:01 -0700 (PDT)", "from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru.\n [37.110.65.23])\n by smtp.googlemail.com with ESMTPSA id d21sm1343075ljc.49.2020.04.10.09.43.59\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 10 Apr 2020 09:44:00 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=hfl6HnDUalJ3DI06sowQDoUqinHg5jz18NO73eRnfds=;\n b=QfSCqRyGxjpcyUcZn4fOE2qy//ZmmhVk0n/+dms/ltyNLTZjNEbYyh4W+QlUv2AnDi\n ZVw0oKVH0mlIf0/DxRSUzWfCyEGfKFpIPMZEbqTRtHtGdKAGQDooeea/4g4nIdX1owm5\n 0v1z3ZCmtkrwSVe0lhAJAKmoXuf+AjYThbDYCI5vahVCbK7VBj4W6nLHxGr6+Cp7dhkU\n +3dp89W563+2YbQSCwpgPx53LYmq/bqKB+iYmOKBV7G/UIYo4IfF3+szIxJ3UNXkLL7k\n B8ahy3xMqtptJ3sj5qLHrJLVbZh/Mm2amRinSx34FFmWEm+NwmIRMrxuZYptpqqRUeX2\n tJYw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=hfl6HnDUalJ3DI06sowQDoUqinHg5jz18NO73eRnfds=;\n b=icZR9Os/5Ne3vOjfPsdjqAtxsOHonQ40cJcy9lUJgJZkHf/6+aAthEQL4bDerFyiYB\n bJMnqwMBq20fXBqS8ghHb8xrWU2nbaF4CVye98R5KCqGoj//cfspzEIE/gj31Q4tLxHB\n S5HyUPeSbM2yVLCX6SzKVk0fYh+xzTvS7SsyQlCfe5zayPrHcWltMp65RpPTuHu+a8dx\n qKXYSw7W+WGXHFU/TDODJkVvyOJ9+pUEQcZmItCYOeKjOPT8nCd/ozsGI6K3CYheMPAn\n TRHklaq7ZDELyLupJq5HbKqMpWh/wn8WVs2YPWmtBoK2ICc6tZT+PNS5ebsrpbLq0HTC\n KVyw==", "X-Gm-Message-State": "AGi0PuaXHkGXzQgbpFvEeMUmVS+dGUTH0cWQ0hL7K7/oMfej67tBfdDa\n lx1b6Ot2j+4s2acHv3IPoeJLjNi7zcHgBA==", "X-Google-Smtp-Source": "\n APiQypJPx6AXcHZGHvQ9l34ojS24UYm/M+QrWZTi/jlASbqxEKQsoesqcqYDO0FLYhyShnh/xxNpdQ==", "X-Received": "by 2002:a2e:9a16:: with SMTP id o22mr3284207lji.242.1586537040982;\n Fri, 10 Apr 2020 09:44:00 -0700 (PDT)", "From": "Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>", "To": "dev@dpdk.org", "Cc": "\"Dmitry Malloy (MESHCHANINOV)\" <dmitrym@microsoft.com>,\n Narcisa Ana Maria Vasile <Narcisa.Vasile@microsoft.com>,\n Fady Bader <fady@mellanox.com>, Tal Shnaiderman <talshn@mellanox.com>,\n Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,\n Anatoly Burakov <anatoly.burakov@intel.com>,\n Bruce Richardson <bruce.richardson@intel.com>", "Date": "Fri, 10 Apr 2020 19:43:39 +0300", "Message-Id": "<20200410164342.1194634-8-dmitry.kozliuk@gmail.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20200410164342.1194634-1-dmitry.kozliuk@gmail.com>", "References": "<20200330041026.784624-1-dmitry.kozliuk@gmail.com>\n <20200410164342.1194634-1-dmitry.kozliuk@gmail.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH v2 07/10] eal: extract common code for memseg\n\tlist initialization", "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": "All supported OS create memory segment lists (MSL) and reserve VA space\nfor them in a nearly identical way. Move common code into EAL private\nfunctions to reduce duplication.\n\nSigned-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>\n---\n lib/librte_eal/common/eal_common_memory.c | 54 ++++++++++++++++++\n lib/librte_eal/common/eal_private.h | 34 ++++++++++++\n lib/librte_eal/freebsd/eal_memory.c | 54 +++---------------\n lib/librte_eal/linux/eal_memory.c | 68 +++++------------------\n 4 files changed, 110 insertions(+), 100 deletions(-)", "diff": "diff --git a/lib/librte_eal/common/eal_common_memory.c b/lib/librte_eal/common/eal_common_memory.c\nindex cc7d54e0c..d9764681a 100644\n--- a/lib/librte_eal/common/eal_common_memory.c\n+++ b/lib/librte_eal/common/eal_common_memory.c\n@@ -25,6 +25,7 @@\n #include \"eal_private.h\"\n #include \"eal_internal_cfg.h\"\n #include \"eal_memcfg.h\"\n+#include \"eal_options.h\"\n #include \"malloc_heap.h\"\n \n /*\n@@ -182,6 +183,59 @@ eal_get_virtual_area(void *requested_addr, size_t *size,\n \treturn aligned_addr;\n }\n \n+int\n+eal_reserve_memseg_list(struct rte_memseg_list *msl,\n+\t\tenum eal_mem_reserve_flags flags)\n+{\n+\tuint64_t page_sz;\n+\tsize_t mem_sz;\n+\tvoid *addr;\n+\n+\tpage_sz = msl->page_sz;\n+\tmem_sz = page_sz * msl->memseg_arr.len;\n+\n+\taddr = eal_get_virtual_area(msl->base_va, &mem_sz, page_sz, 0, flags);\n+\tif (addr == NULL) {\n+\t\tif (rte_errno == EADDRNOTAVAIL)\n+\t\t\tRTE_LOG(ERR, EAL, \"Cannot reserve %llu bytes at [%p] - \"\n+\t\t\t\t\"please use '--\" OPT_BASE_VIRTADDR \"' option\\n\",\n+\t\t\t\t(unsigned long long)mem_sz, msl->base_va);\n+\t\telse\n+\t\t\tRTE_LOG(ERR, EAL, \"Cannot reserve memory\\n\");\n+\t\treturn -1;\n+\t}\n+\tmsl->base_va = addr;\n+\tmsl->len = mem_sz;\n+\n+\treturn 0;\n+}\n+\n+int\n+eal_alloc_memseg_list(struct rte_memseg_list *msl, uint64_t page_sz,\n+\t\tint n_segs, int socket_id, int type_msl_idx, bool heap)\n+{\n+\tchar name[RTE_FBARRAY_NAME_LEN];\n+\n+\tsnprintf(name, sizeof(name), MEMSEG_LIST_FMT, page_sz >> 10, socket_id,\n+\t\t type_msl_idx);\n+\tif (rte_fbarray_init(&msl->memseg_arr, name, n_segs,\n+\t\t\tsizeof(struct rte_memseg))) {\n+\t\tRTE_LOG(ERR, EAL, \"Cannot allocate memseg list: %s\\n\",\n+\t\t\trte_strerror(rte_errno));\n+\t\treturn -1;\n+\t}\n+\n+\tmsl->page_sz = page_sz;\n+\tmsl->socket_id = socket_id;\n+\tmsl->base_va = NULL;\n+\tmsl->heap = heap;\n+\n+\tRTE_LOG(DEBUG, EAL, \"Memseg list allocated: 0x%zxkB at socket %i\\n\",\n+\t\t\t(size_t)page_sz >> 10, socket_id);\n+\n+\treturn 0;\n+}\n+\n static struct rte_memseg *\n virt2memseg(const void *addr, const struct rte_memseg_list *msl)\n {\ndiff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h\nindex 1e89338f2..76938e379 100644\n--- a/lib/librte_eal/common/eal_private.h\n+++ b/lib/librte_eal/common/eal_private.h\n@@ -246,6 +246,40 @@ void *\n eal_get_virtual_area(void *requested_addr, size_t *size, size_t page_sz,\n \tint flags, int mmap_flags);\n \n+/**\n+ * Reserve VA space for a memory segment list.\n+ *\n+ * @param msl\n+ * Memory segment list with page size defined.\n+ * @param flags\n+ * Extra memory reservation flags. Can be 0 if unnecessary.\n+ * @return\n+ * 0 on success, (-1) on failure and rte_errno is set.\n+ */\n+int\n+eal_reserve_memseg_list(struct rte_memseg_list *msl,\n+\tenum eal_mem_reserve_flags flags);\n+\n+/**\n+ * Initialize a memory segment list with its backing storage.\n+ *\n+ * @param msl\n+ * Memory segment list to be filled.\n+ * @param page_sz\n+ * Size of segment pages in the MSL.\n+ * @param n_segs\n+ * Number of segments.\n+ * @param socket_id\n+ * Socket ID. Must not be SOCKET_ID_ANY.\n+ * @param type_msl_idx\n+ * Index of the MSL among other MSLs of the same socket and page size.\n+ * @param heap\n+ * Mark MSL as pointing to a heap.\n+ */\n+int\n+eal_alloc_memseg_list(struct rte_memseg_list *msl, uint64_t page_sz,\n+\tint n_segs, int socket_id, int type_msl_idx, bool heap);\n+\n /**\n * Get cpu core_id.\n *\ndiff --git a/lib/librte_eal/freebsd/eal_memory.c b/lib/librte_eal/freebsd/eal_memory.c\nindex a97d8f0f0..5174f9cd0 100644\n--- a/lib/librte_eal/freebsd/eal_memory.c\n+++ b/lib/librte_eal/freebsd/eal_memory.c\n@@ -336,61 +336,23 @@ get_mem_amount(uint64_t page_sz, uint64_t max_mem)\n \treturn RTE_ALIGN(area_sz, page_sz);\n }\n \n-#define MEMSEG_LIST_FMT \"memseg-%\" PRIu64 \"k-%i-%i\"\n static int\n-alloc_memseg_list(struct rte_memseg_list *msl, uint64_t page_sz,\n+memseg_list_alloc(struct rte_memseg_list *msl, uint64_t page_sz,\n \t\tint n_segs, int socket_id, int type_msl_idx)\n {\n-\tchar name[RTE_FBARRAY_NAME_LEN];\n-\n-\tsnprintf(name, sizeof(name), MEMSEG_LIST_FMT, page_sz >> 10, socket_id,\n-\t\t type_msl_idx);\n-\tif (rte_fbarray_init(&msl->memseg_arr, name, n_segs,\n-\t\t\tsizeof(struct rte_memseg))) {\n-\t\tRTE_LOG(ERR, EAL, \"Cannot allocate memseg list: %s\\n\",\n-\t\t\trte_strerror(rte_errno));\n-\t\treturn -1;\n-\t}\n-\n-\tmsl->page_sz = page_sz;\n-\tmsl->socket_id = socket_id;\n-\tmsl->base_va = NULL;\n-\n-\tRTE_LOG(DEBUG, EAL, \"Memseg list allocated: 0x%zxkB at socket %i\\n\",\n-\t\t\t(size_t)page_sz >> 10, socket_id);\n-\n-\treturn 0;\n+\treturn eal_alloc_memseg_list(\n+\t\tmsl, page_sz, n_segs, socket_id, type_msl_idx, false);\n }\n \n static int\n-alloc_va_space(struct rte_memseg_list *msl)\n+memseg_list_reserve(struct rte_memseg_list *msl)\n {\n-\tuint64_t page_sz;\n-\tsize_t mem_sz;\n-\tvoid *addr;\n-\tint flags = 0;\n+\tenum eal_reserve_flags flags = 0;\n \n #ifdef RTE_ARCH_PPC_64\n-\tflags |= MAP_HUGETLB;\n+\tflags |= EAL_RESERVE_HUGEPAGES;\n #endif\n-\n-\tpage_sz = msl->page_sz;\n-\tmem_sz = page_sz * msl->memseg_arr.len;\n-\n-\taddr = eal_get_virtual_area(msl->base_va, &mem_sz, page_sz, 0, flags);\n-\tif (addr == NULL) {\n-\t\tif (rte_errno == EADDRNOTAVAIL)\n-\t\t\tRTE_LOG(ERR, EAL, \"Could not mmap %llu bytes at [%p] - \"\n-\t\t\t\t\"please use '--\" OPT_BASE_VIRTADDR \"' option\\n\",\n-\t\t\t\t(unsigned long long)mem_sz, msl->base_va);\n-\t\telse\n-\t\t\tRTE_LOG(ERR, EAL, \"Cannot reserve memory\\n\");\n-\t\treturn -1;\n-\t}\n-\tmsl->base_va = addr;\n-\tmsl->len = mem_sz;\n-\n-\treturn 0;\n+\treturn eal_reserve_memseg_list(msl, flags);\n }\n \n \n@@ -479,7 +441,7 @@ memseg_primary_init(void)\n \t\t\t\t\tcur_max_mem);\n \t\t\tn_segs = cur_mem / hugepage_sz;\n \n-\t\t\tif (alloc_memseg_list(msl, hugepage_sz, n_segs,\n+\t\t\tif (memseg_list_alloc(msl, hugepage_sz, n_segs,\n \t\t\t\t\t0, type_msl_idx))\n \t\t\t\treturn -1;\n \ndiff --git a/lib/librte_eal/linux/eal_memory.c b/lib/librte_eal/linux/eal_memory.c\nindex 7a9c97ff8..a01a7ce76 100644\n--- a/lib/librte_eal/linux/eal_memory.c\n+++ b/lib/librte_eal/linux/eal_memory.c\n@@ -802,7 +802,7 @@ get_mem_amount(uint64_t page_sz, uint64_t max_mem)\n }\n \n static int\n-free_memseg_list(struct rte_memseg_list *msl)\n+memseg_list_free(struct rte_memseg_list *msl)\n {\n \tif (rte_fbarray_destroy(&msl->memseg_arr)) {\n \t\tRTE_LOG(ERR, EAL, \"Cannot destroy memseg list\\n\");\n@@ -812,58 +812,18 @@ free_memseg_list(struct rte_memseg_list *msl)\n \treturn 0;\n }\n \n-#define MEMSEG_LIST_FMT \"memseg-%\" PRIu64 \"k-%i-%i\"\n static int\n-alloc_memseg_list(struct rte_memseg_list *msl, uint64_t page_sz,\n+memseg_list_alloc(struct rte_memseg_list *msl, uint64_t page_sz,\n \t\tint n_segs, int socket_id, int type_msl_idx)\n {\n-\tchar name[RTE_FBARRAY_NAME_LEN];\n-\n-\tsnprintf(name, sizeof(name), MEMSEG_LIST_FMT, page_sz >> 10, socket_id,\n-\t\t type_msl_idx);\n-\tif (rte_fbarray_init(&msl->memseg_arr, name, n_segs,\n-\t\t\tsizeof(struct rte_memseg))) {\n-\t\tRTE_LOG(ERR, EAL, \"Cannot allocate memseg list: %s\\n\",\n-\t\t\trte_strerror(rte_errno));\n-\t\treturn -1;\n-\t}\n-\n-\tmsl->page_sz = page_sz;\n-\tmsl->socket_id = socket_id;\n-\tmsl->base_va = NULL;\n-\tmsl->heap = 1; /* mark it as a heap segment */\n-\n-\tRTE_LOG(DEBUG, EAL, \"Memseg list allocated: 0x%zxkB at socket %i\\n\",\n-\t\t\t(size_t)page_sz >> 10, socket_id);\n-\n-\treturn 0;\n+\treturn eal_alloc_memseg_list(\n+\t\tmsl, page_sz, n_segs, socket_id, type_msl_idx, true);\n }\n \n static int\n-alloc_va_space(struct rte_memseg_list *msl)\n+memseg_list_reserve(struct rte_memseg_list *msl)\n {\n-\tuint64_t page_sz;\n-\tsize_t mem_sz;\n-\tvoid *addr;\n-\tint flags = 0;\n-\n-\tpage_sz = msl->page_sz;\n-\tmem_sz = page_sz * msl->memseg_arr.len;\n-\n-\taddr = eal_get_virtual_area(msl->base_va, &mem_sz, page_sz, 0, flags);\n-\tif (addr == NULL) {\n-\t\tif (rte_errno == EADDRNOTAVAIL)\n-\t\t\tRTE_LOG(ERR, EAL, \"Could not mmap %llu bytes at [%p] - \"\n-\t\t\t\t\"please use '--\" OPT_BASE_VIRTADDR \"' option\\n\",\n-\t\t\t\t(unsigned long long)mem_sz, msl->base_va);\n-\t\telse\n-\t\t\tRTE_LOG(ERR, EAL, \"Cannot reserve memory\\n\");\n-\t\treturn -1;\n-\t}\n-\tmsl->base_va = addr;\n-\tmsl->len = mem_sz;\n-\n-\treturn 0;\n+\treturn eal_reserve_memseg_list(msl, 0);\n }\n \n /*\n@@ -1009,12 +969,12 @@ prealloc_segments(struct hugepage_file *hugepages, int n_pages)\n \t\t\t}\n \n \t\t\t/* now, allocate fbarray itself */\n-\t\t\tif (alloc_memseg_list(msl, page_sz, n_segs, socket,\n+\t\t\tif (memseg_list_alloc(msl, page_sz, n_segs, socket,\n \t\t\t\t\t\tmsl_idx) < 0)\n \t\t\t\treturn -1;\n \n \t\t\t/* finally, allocate VA space */\n-\t\t\tif (alloc_va_space(msl) < 0)\n+\t\t\tif (memseg_list_reserve(msl) < 0)\n \t\t\t\treturn -1;\n \t\t}\n \t}\n@@ -2191,7 +2151,7 @@ memseg_primary_init_32(void)\n \t\t\t\t\t\tmax_pagesz_mem);\n \t\t\t\tn_segs = cur_mem / hugepage_sz;\n \n-\t\t\t\tif (alloc_memseg_list(msl, hugepage_sz, n_segs,\n+\t\t\t\tif (memseg_list_alloc(msl, hugepage_sz, n_segs,\n \t\t\t\t\t\tsocket_id, type_msl_idx)) {\n \t\t\t\t\t/* failing to allocate a memseg list is\n \t\t\t\t\t * a serious error.\n@@ -2200,13 +2160,13 @@ memseg_primary_init_32(void)\n \t\t\t\t\treturn -1;\n \t\t\t\t}\n \n-\t\t\t\tif (alloc_va_space(msl)) {\n+\t\t\t\tif (memseg_list_reserve(msl)) {\n \t\t\t\t\t/* if we couldn't allocate VA space, we\n \t\t\t\t\t * can try with smaller page sizes.\n \t\t\t\t\t */\n \t\t\t\t\tRTE_LOG(ERR, EAL, \"Cannot allocate VA space for memseg list, retrying with different page size\\n\");\n \t\t\t\t\t/* deallocate memseg list */\n-\t\t\t\t\tif (free_memseg_list(msl))\n+\t\t\t\t\tif (memseg_list_free(msl))\n \t\t\t\t\t\treturn -1;\n \t\t\t\t\tbreak;\n \t\t\t\t}\n@@ -2395,11 +2355,11 @@ memseg_primary_init(void)\n \t\t\t}\n \t\t\tmsl = &mcfg->memsegs[msl_idx++];\n \n-\t\t\tif (alloc_memseg_list(msl, pagesz, n_segs,\n+\t\t\tif (memseg_list_alloc(msl, pagesz, n_segs,\n \t\t\t\t\tsocket_id, cur_seglist))\n \t\t\t\tgoto out;\n \n-\t\t\tif (alloc_va_space(msl)) {\n+\t\t\tif (memseg_list_reserve(msl)) {\n \t\t\t\tRTE_LOG(ERR, EAL, \"Cannot allocate VA space for memseg list\\n\");\n \t\t\t\tgoto out;\n \t\t\t}\n@@ -2433,7 +2393,7 @@ memseg_secondary_init(void)\n \t\t}\n \n \t\t/* preallocate VA space */\n-\t\tif (alloc_va_space(msl)) {\n+\t\tif (memseg_list_reserve(msl)) {\n \t\t\tRTE_LOG(ERR, EAL, \"Cannot preallocate VA space for hugepage memory\\n\");\n \t\t\treturn -1;\n \t\t}\n", "prefixes": [ "v2", "07/10" ] }{ "id": 68174, "url": "