From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mta.qwilt.com (mta.qwilt.com [52.9.191.255]) by dpdk.org (Postfix) with ESMTP id 13C316CC4 for ; Thu, 19 Apr 2018 08:01:38 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mta.qwilt.com (Postfix) with ESMTP id 838148070A1; Thu, 19 Apr 2018 06:01:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at qwilt.com Received: from mta.qwilt.com ([127.0.0.1]) by localhost (mta.qwilt.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YrXhhMhG9ky4; Thu, 19 Apr 2018 06:01:37 +0000 (UTC) Received: from rd01.it.qwilt.com.qwilt.com (80.179.204.39.cable.012.net.il [80.179.204.39]) by mta.qwilt.com (Postfix) with ESMTPSA id F14088070AE; Thu, 19 Apr 2018 06:01:34 +0000 (UTC) From: Arnon Warshavsky To: thomas@monjalon.net, anatoly.burakov@intel.com, wenzhuo.lu@intel.com, declan.doherty@intel.com, jerin.jacob@caviumnetworks.com, bruce.richardson@intel.com, ferruh.yigit@intel.com Cc: dev@dpdk.org, arnon@qwilt.com Date: Thu, 19 Apr 2018 09:01:05 +0300 Message-Id: <1524117669-25729-8-git-send-email-arnon@qwilt.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1524117669-25729-1-git-send-email-arnon@qwilt.com> References: <1524117669-25729-1-git-send-email-arnon@qwilt.com> Subject: [dpdk-dev] [PATCH v4 07/11] eal: replace rte_panic instances in hugepage_info 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: Thu, 19 Apr 2018 06:01:38 -0000 replace panic calls with log and retrun value. v4 static size calculation function changed to return success/fail code in addition to filling the size result. Signed-off-by: Arnon Warshavsky --- lib/librte_eal/linuxapp/eal/eal_hugepage_info.c | 32 ++++++++++++++++--------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c b/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c index fb4b667..debae32 100644 --- a/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c +++ b/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c @@ -145,8 +145,8 @@ return num_pages; } -static uint64_t -get_default_hp_size(void) +static int +get_default_hp_size(uint64_t *result) { const char proc_meminfo[] = "/proc/meminfo"; const char str_hugepagesz[] = "Hugepagesize:"; @@ -155,8 +155,11 @@ unsigned long long size = 0; FILE *fd = fopen(proc_meminfo, "r"); - if (fd == NULL) - rte_panic("Cannot open %s\n", proc_meminfo); + if (fd == NULL) { + RTE_LOG(CRIT, EAL, "%s(): Cannot open %s\n", + __func__, proc_meminfo); + return -1; + } while(fgets(buffer, sizeof(buffer), fd)){ if (strncmp(buffer, str_hugepagesz, hugepagesz_len) == 0){ size = rte_str_to_size(&buffer[hugepagesz_len]); @@ -164,9 +167,13 @@ } } fclose(fd); - if (size == 0) - rte_panic("Cannot get default hugepage size from %s\n", proc_meminfo); - return size; + if (size == 0) { + RTE_LOG(CRIT, EAL, "%s(): Cannot get default hugepage size from %s\n", + __func__, proc_meminfo); + return -1; + } + *result = size; + return 0; } static const char * @@ -191,11 +198,14 @@ char *retval = NULL; FILE *fd = fopen(proc_mounts, "r"); - if (fd == NULL) - rte_panic("Cannot open %s\n", proc_mounts); + if (fd == NULL) { + RTE_LOG(CRIT, EAL, "%s(): Cannot open %s\n", + __func__, proc_mounts); + return NULL; + } - if (default_size == 0) - default_size = get_default_hp_size(); + if ((default_size == 0) && (get_default_hp_size(&default_size) != 0)) + return NULL; while (fgets(buf, sizeof(buf), fd)){ if (rte_strsplit(buf, sizeof(buf), splitstr, _FIELDNAME_MAX, -- 1.8.3.1