From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by dpdk.org (Postfix) with ESMTP id 3CF2D2BD8 for ; Fri, 16 Nov 2018 03:08:35 +0100 (CET) Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wAG24Agd104045 for ; Thu, 15 Nov 2018 21:08:35 -0500 Received: from e13.ny.us.ibm.com (e13.ny.us.ibm.com [129.33.205.203]) by mx0a-001b2d01.pphosted.com with ESMTP id 2nshdwfksg-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 15 Nov 2018 21:08:34 -0500 Received: from localhost by e13.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 16 Nov 2018 02:08:33 -0000 Received: from b01cxnp23032.gho.pok.ibm.com (9.57.198.27) by e13.ny.us.ibm.com (146.89.104.200) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Fri, 16 Nov 2018 02:08:31 -0000 Received: from b01ledav001.gho.pok.ibm.com (b01ledav001.gho.pok.ibm.com [9.57.199.106]) by b01cxnp23032.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id wAG28UmO14549148 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 16 Nov 2018 02:08:30 GMT Received: from b01ledav001.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B444928064; Fri, 16 Nov 2018 02:08:30 +0000 (GMT) Received: from b01ledav001.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 291712805E; Fri, 16 Nov 2018 02:08:30 +0000 (GMT) Received: from oc8377887825.ibm.com (unknown [9.70.82.170]) by b01ledav001.gho.pok.ibm.com (Postfix) with ESMTP; Fri, 16 Nov 2018 02:08:30 +0000 (GMT) From: David Wilder To: dev@dpdk.org Cc: stable@dpdk.org, pradeep@us.ibm.com, chaozhu@linux.vnet.ibm.com, thomas@monjalon.net Date: Thu, 15 Nov 2018 18:08:25 -0800 X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 X-TM-AS-GCONF: 00 x-cbid: 18111602-0064-0000-0000-00000374FF7A X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00010058; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000270; SDB=6.01118057; UDB=6.00577118; IPR=6.00898165; MB=3.00024185; MTD=3.00000008; XFM=3.00000015; UTC=2018-11-16 02:08:32 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18111602-0065-0000-0000-00003B597699 Message-Id: <20181116020825.31767-1-dwilder@us.ibm.com> Content-Type: text/plain Content-Transfer-Encoding: 8bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-11-15_19:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=979 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1811160015 Subject: [dpdk-dev] [PATCH v2] mem: Fix anonymous mapping on Power9. 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, 16 Nov 2018 02:08:36 -0000 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