From patchwork Fri Apr 28 03:49:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qi Zhang X-Patchwork-Id: 23982 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 4C9E22C18; Fri, 28 Apr 2017 04:59:12 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 965CD1E34 for ; Fri, 28 Apr 2017 04:59:10 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Apr 2017 19:59:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos; i="5.37,386,1488873600"; d="scan'208"; a="1141130583" Received: from unknown (HELO localhost.localdomain.sh.intel.com) ([10.239.129.229]) by fmsmga001.fm.intel.com with ESMTP; 27 Apr 2017 19:59:08 -0700 From: Qi Zhang To: john.mcnamara@intel.com Cc: dev@dpdk.org, Qi Zhang Date: Thu, 27 Apr 2017 23:49:39 -0400 Message-Id: <20170428034939.73090-1-qi.z.zhang@intel.com> X-Mailer: git-send-email 2.9.3 Subject: [dpdk-dev] [PATCH] doc: correct the hugepage limitation of 32 bit 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The hugepage memory limitation of 32 bit application is "1GB size" but not "1GB per page size". Signed-off-by: Qi Zhang Acked-by: John McNamara --- doc/guides/faq/faq.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst index 40c793c..308a287 100644 --- a/doc/guides/faq/faq.rst +++ b/doc/guides/faq/faq.rst @@ -66,14 +66,14 @@ To request memory to be reserved on a specific socket, please use the --socket-m I am running a 32-bit DPDK application on a NUMA system, and sometimes the application initializes fine but cannot allocate memory. Why is that happening? ---------------------------------------------------------------------------------------------------------------------------------------------------------- -32-bit applications have limitations in terms of how much virtual memory is available, hence the number of hugepages they are able to allocate is also limited (1 GB per page size). -If your system has a lot (>1 GB per page size) of hugepage memory, not all of it will be allocated. +32-bit applications have limitations in terms of how much virtual memory is available, hence the number of hugepages they are able to allocate is also limited (1 GB size). +If your system has a lot (>1 GB size) of hugepage memory, not all of it will be allocated. Due to hugepages typically being allocated on a local NUMA node, the hugepages allocation the application gets during the initialization depends on which NUMA node it is running on (the EAL does not affinitize cores until much later in the initialization process). Sometimes, the Linux OS runs the DPDK application on a core that is located on a different NUMA node from DPDK master core and therefore all the hugepages are allocated on the wrong socket. -To avoid this scenario, either lower the amount of hugepage memory available to 1 GB per page size (or less), or run the application with taskset +To avoid this scenario, either lower the amount of hugepage memory available to 1 GB size (or less), or run the application with taskset affinitizing the application to a would-be master core. For example, if your EAL coremask is 0xff0, the master core will usually be the first core in the coremask (0x10); this is what you have to supply to taskset::