From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id E3EB629C6 for ; Fri, 21 Dec 2018 12:09:22 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Dec 2018 03:09:21 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,381,1539673200"; d="scan'208";a="129724423" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga004.fm.intel.com with ESMTP; 21 Dec 2018 03:09:20 -0800 Received: from sivswdev05.ir.intel.com (sivswdev05.ir.intel.com [10.243.17.64]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id wBLB9KVQ019014; Fri, 21 Dec 2018 11:09:20 GMT Received: from sivswdev05.ir.intel.com (localhost [127.0.0.1]) by sivswdev05.ir.intel.com with ESMTP id wBLB9Kao028347; Fri, 21 Dec 2018 11:09:20 GMT Received: (from aburakov@localhost) by sivswdev05.ir.intel.com with LOCAL id wBLB9JCk028343; Fri, 21 Dec 2018 11:09:20 GMT From: Anatoly Burakov To: dev@dpdk.org Cc: thomas@monjalon.net, stephen@networkplumber.org Date: Fri, 21 Dec 2018 11:09:14 +0000 Message-Id: X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH 3/4] test/extmem: check if memseg list is external X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Dec 2018 11:09:23 -0000 Extend the extmem autotest to check whether the memseg lists for externally allocated memory are always marked as external. Signed-off-by: Anatoly Burakov --- test/test/test_external_mem.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/test/test_external_mem.c b/test/test/test_external_mem.c index 845c625d6..5557f6e3f 100644 --- a/test/test/test_external_mem.c +++ b/test/test/test_external_mem.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -29,10 +30,18 @@ check_mem(void *addr, rte_iova_t *iova, size_t pgsz, int n_pages) /* check that we can get this memory from EAL now */ for (i = 0; i < n_pages; i++) { + const struct rte_memseg_list *msl; const struct rte_memseg *ms; void *cur = RTE_PTR_ADD(addr, pgsz * i); - ms = rte_mem_virt2memseg(cur, NULL); + msl = rte_mem_virt2memseg_list(cur); + if (!msl->external) { + printf("%s():%i: Memseg list is not marked as external\n", + __func__, __LINE__); + return -1; + } + + ms = rte_mem_virt2memseg(cur, msl); if (ms == NULL) { printf("%s():%i: Failed to retrieve memseg for external mem\n", __func__, __LINE__); -- 2.17.1