From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by dpdk.org (Postfix) with ESMTP id 043DB5948 for ; Fri, 26 Jul 2013 16:35:12 +0200 (CEST) Received: by mail-wi0-f176.google.com with SMTP id hn3so230085wib.15 for ; Fri, 26 Jul 2013 07:35:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:subject:date:message-id:x-mailer:x-gm-message-state; bh=cn5olM9MD+OTEK5v6HCge/sOaB9HGbU3yw0Fc10KELk=; b=HgbIotCUZhywcVU1PPqVwyTTmL/mwENqBsjpUK/knHrhNhCEgHDQGRqUweotiUH0JJ j6ujGQ751jB7krTJWIhBN+NPJXr46fPSpWzcAubylH333pnZnnP2/yKjlXdgfCl+VKGY CWNXLnKYJHNYLMZnxuRowJDCL0oNJBc42XrFk+fA6w6K8eXNcAGFBbopfuOuVwcBWqe/ 7Tyid+t6mRqSVRfulku09Mfe0H0tpjSATu3NjGF0C9yOtd46v6clez2Q0ELfyosFl7Bx lyLjeSjq9rGuhGn73N9XCP2STLZ01Ax5uAdZUVp3u/cVWJ3XM+iuIUsCY3bhLgoJk9qE zI8A== X-Received: by 10.180.96.227 with SMTP id dv3mr5992596wib.59.1374849335831; Fri, 26 Jul 2013 07:35:35 -0700 (PDT) Received: from 6wind.com (6wind.net2.nerim.net. [213.41.180.237]) by mx.google.com with ESMTPSA id ev19sm5216539wid.2.2013.07.26.07.35.34 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 26 Jul 2013 07:35:35 -0700 (PDT) From: Adrien Mazarguil To: dev@dpdk.org Date: Fri, 26 Jul 2013 16:35:29 +0200 Message-Id: <1374849329-21532-1-git-send-email-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 1.7.12 X-Gm-Message-State: ALoCoQk1AQ+tWCZBOLKkAykKd/TgXnbhHBPOhlMLB0tKUM2RyyFEkviY9wUsHEVjRsCXaNQkh3wd Subject: [dpdk-dev] [PATCH] mem: get memzone from any CPU socket when hugepages are disabled X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jul 2013 14:35:13 -0000 When huge pages are disabled, memory is allocated for a single, undefined CPU socket using malloc(), causing rte_memzone_reserve_aligned() to fail most of the time. This patch causes that memory to use SOCKET_ID_ANY instead of 0, and allow it to be used in place of any socket ID specified by user. Signed-off-by: Adrien Mazarguil --- lib/librte_eal/common/eal_common_memzone.c | 1 + lib/librte_eal/linuxapp/eal/eal_memory.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c index 5532f0d..9872070 100644 --- a/lib/librte_eal/common/eal_common_memzone.c +++ b/lib/librte_eal/common/eal_common_memzone.c @@ -150,6 +150,7 @@ memzone_reserve_aligned_thread_unsafe(const char *name, uint64_t len, /* bad socket ID */ if (socket_id != SOCKET_ID_ANY && + free_memseg[i].socket_id != SOCKET_ID_ANY && socket_id != free_memseg[i].socket_id) continue; diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c index ce0c2d8..d50726d 100644 --- a/lib/librte_eal/linuxapp/eal/eal_memory.c +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c @@ -786,7 +786,7 @@ rte_eal_hugepage_init(void) mcfg->memseg[0].phys_addr = (phys_addr_t)(uintptr_t)addr; mcfg->memseg[0].addr = addr; mcfg->memseg[0].len = internal_config.memory; - mcfg->memseg[0].socket_id = 0; + mcfg->memseg[0].socket_id = SOCKET_ID_ANY; return 0; } -- 1.7.12