From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Chao Zhu" Subject: 答复: [PATCH v2] mem: Fix anonymous mapping on Power9. Date: Fri, 16 Nov 2018 18:18:06 +0800 Message-ID: <003c01d47d95$ac541e20$04fc5a60$@linux.vnet.ibm.com> References: <20181116020825.31767-1-dwilder@us.ibm.com> Cc: , , To: "'David Wilder'" , Return-path: Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by dpdk.org (Postfix) with ESMTP id 8BAC62BA1 for ; Fri, 16 Nov 2018 11:18:17 +0100 (CET) Received: from pps.filterd (m0098413.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wAGA9jdW094724 for ; Fri, 16 Nov 2018 05:18:17 -0500 Received: from e06smtp02.uk.ibm.com (e06smtp02.uk.ibm.com [195.75.94.98]) by mx0b-001b2d01.pphosted.com with ESMTP id 2nstxxjycj-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 16 Nov 2018 05:18:16 -0500 Received: from localhost by e06smtp02.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 16 Nov 2018 10:18:13 -0000 In-Reply-To: <20181116020825.31767-1-dwilder@us.ibm.com> Content-Language: zh-cn List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----邮件原件----- > 发件人: David Wilder > 发送时间: 2018年11月16日 10:08 > 收件人: dev@dpdk.org > 抄送: stable@dpdk.org; pradeep@us.ibm.com; chaozhu@linux.vnet.ibm.com; > thomas@monjalon.net > 主题: [PATCH v2] mem: Fix anonymous mapping on Power9. > > Removed the use of MAP_HUGETLB for anonymous mapping on ppc64. The > MAP_HUGETLB had previously been added to workaround issues on IBM > Power8 systems when mapping /dev/zero (see: commit > 284ae3e9ff9a92575c28c858efd2c85c8de6d440). In the current code the > MAP_HUGETLB flag will cause the anonymous mapping to fail on Power9. > Note, Power8 is currently failing to correctly mmap Hugepages, with and > without this change. > > Signed-off-by: David Wilder > Reviewed-by: Pradeep Satyanarayana > --- > I updated the documentation and release notes as suggested by Thomas. > Thank you. > > MAINTAINERS | 2 +- > doc/guides/linux_gsg/sys_reqs.rst | 6 ------ > doc/guides/rel_notes/release_18_11.rst | 1 + > lib/librte_eal/linuxapp/eal/eal_memalloc.c | 3 --- > lib/librte_eal/linuxapp/eal/eal_memory.c | 4 ---- > 5 files changed, 2 insertions(+), 14 deletions(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 19353ac89..c4d2fd086 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -233,7 +233,7 @@ F: drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c > F: drivers/net/i40e/i40e_rxtx_vec_neon.c > F: drivers/net/virtio/virtio_rxtx_simple_neon.c > > -IBM POWER > +IBM POWER (alpha) > M: Chao Zhu > F: lib/librte_eal/common/arch/ppc_64/ > F: lib/librte_eal/common/include/arch/ppc_64/ > diff --git a/doc/guides/linux_gsg/sys_reqs.rst > b/doc/guides/linux_gsg/sys_reqs.rst > index e2230f37b..c02ec28c1 100644 > --- a/doc/guides/linux_gsg/sys_reqs.rst > +++ b/doc/guides/linux_gsg/sys_reqs.rst > @@ -183,12 +183,6 @@ On a NUMA machine, pages should be allocated > explicitly on separate nodes:: > > For 1G pages, it is not possible to reserve the hugepage memory after > the system has booted. > > - On IBM POWER system, the nr_overcommit_hugepages should be set > to the same value as nr_hugepages. > - For example, if the required page number is 128, the following > commands are used:: > - > - echo 128 > > /sys/kernel/mm/hugepages/hugepages-16384kB/nr_hugepages > - echo 128 > > /sys/kernel/mm/hugepages/hugepages-16384kB/nr_overcommit_hugepages > - > Using Hugepages with the DPDK > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > diff --git a/doc/guides/rel_notes/release_18_11.rst > b/doc/guides/rel_notes/release_18_11.rst > index 51d007582..87188a6be 100644 > --- a/doc/guides/rel_notes/release_18_11.rst > +++ b/doc/guides/rel_notes/release_18_11.rst > @@ -532,6 +532,7 @@ Known Issues > driver; the Linux netvsc device must be brought up before the netvsc > device is > unbound and passed to the DPDK. > > +* IBM Power8 is not supported by this release of DPDK. IBM Power9 is > suported. > > Tested Platforms > ---------------- > diff --git a/lib/librte_eal/linuxapp/eal/eal_memalloc.c > b/lib/librte_eal/linuxapp/eal/eal_memalloc.c > index 48b9c7360..784939566 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_memalloc.c > +++ b/lib/librte_eal/linuxapp/eal/eal_memalloc.c > @@ -753,9 +753,6 @@ alloc_seg(struct rte_memseg *ms, void *addr, int > socket_id, > munmap(addr, alloc_sz); > unmapped: > flags = MAP_FIXED; > -#ifdef RTE_ARCH_PPC_64 > - flags |= MAP_HUGETLB; > -#endif > new_addr = eal_get_virtual_area(addr, &alloc_sz, alloc_sz, 0, flags); > if (new_addr != addr) { > if (new_addr != NULL) > diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c > b/lib/librte_eal/linuxapp/eal/eal_memory.c > index 48b23ce19..6f94621d4 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_memory.c > +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c > @@ -847,10 +847,6 @@ alloc_va_space(struct rte_memseg_list *msl) > void *addr; > int flags = 0; > > -#ifdef RTE_ARCH_PPC_64 > - flags |= MAP_HUGETLB; > -#endif > - > page_sz = msl->page_sz; > mem_sz = page_sz * msl->memseg_arr.len; > > -- > 2.19.1 Thanks David! Looking forward to the patch support for P8. Acked-by: Chao Zhu