From patchwork Wed May 9 12:47:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 39596 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C0A781B694; Wed, 9 May 2018 14:47:55 +0200 (CEST) Received: from mail-lf0-f66.google.com (mail-lf0-f66.google.com [209.85.215.66]) by dpdk.org (Postfix) with ESMTP id 66F181B64E for ; Wed, 9 May 2018 14:47:40 +0200 (CEST) Received: by mail-lf0-f66.google.com with SMTP id r2-v6so14631967lff.4 for ; Wed, 09 May 2018 05:47:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=M797yfIbJPB+l6H6KrFDOmljN2YyVTbGU5e0RHozgMQ=; b=igwdiRAaUD5lCPFnTyCt1chF6agOL0y9znhv4XOHKO+0iW/7lC92J/MnNMIGWnpAgC 0KAy8Q+1K//hG0C7HOPw7FtAAZFVWX0TVQLlZ8V8aw/gLkKQdSVWq8CsyH36uA1cuxVK 8Kd0RkFlMnvHmgkYdL760OacHtVYJxq6RvpE352LROBGrz+jBq98CQfw/x7aCw2aPVun QphpquzOWA916lWQyn6PEb4YdZ/wTput7cGr3vMEtce2277hFI53Wnln1CrI+IMTp0oY mIQALRGIiz7y9dbm9FyfW6Jp5D6npR0+tAGlBumOkgBWWiTq2ae7aaYnhjR5L0/vlNKk +QdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=M797yfIbJPB+l6H6KrFDOmljN2YyVTbGU5e0RHozgMQ=; b=ego7n09aS8fHIn5H+yom7urcjUd56e1dPVGDvspmacWhBZ54Wlx279qgqiqqZ/sl+/ 4F4Gn/pUKFtenv9bNtal4VveBXBjHwgpf+S6XccaMMvlWUadphYBmKNo0WqKet9cow2n M3QfgEnWnGMwFNO5cEvG0J/TrD6cCgP/mdW6lC3cnLcGNgymEwo+LvvMiyB30mMuGg7b le9m8+MCWI9Ga68ObTDSN2Y1GBQiDOOiIWWo9jX0csTGu78Gfi/wtftFPr4chUV+OQWr kmAuW0NJFQNBljiv1tAMcZicEq9qSUrpmiShWP5Rsa10SLVqmjpf2KLnkBxo5BUyUd9Y TXRw== X-Gm-Message-State: ALQs6tDj9K34yYekPM1qjY73pAplsf2hMa/Bj4MBbogxb5avGQM1Iahr wq7jylfzgMrhpAsvDpJ+ifDzTA== X-Google-Smtp-Source: AB8JxZqWmYSuaZsBlywdTu5zbvjKHSeSaguxdlZH+JSX2xdywWRR7LTq8QoOqwQUtcejyKUvGC6Nog== X-Received: by 2002:a19:de19:: with SMTP id v25-v6mr12746567lfg.28.1525870060035; Wed, 09 May 2018 05:47:40 -0700 (PDT) Received: from mkPC.semihalf.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id l10-v6sm5149258lja.62.2018.05.09.05.47.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 May 2018 05:47:39 -0700 (PDT) From: Michal Krawczyk To: Marcin Wojtas , Michal Krawczyk , Guy Tzalik , Evgeny Schemeilin Cc: dev@dpdk.org, matua@amazon.com, Rafal Kozik Date: Wed, 9 May 2018 14:47:13 +0200 Message-Id: <20180509124714.23305-14-mk@semihalf.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180509124714.23305-1-mk@semihalf.com> References: <20180509124714.23305-1-mk@semihalf.com> Subject: [dpdk-dev] [PATCH v1 23/24] net/ena: change memory type 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" From: Rafal Kozik ENA_MEM_ALLOC_NODE not need to use contiguous physical memory. Also using memset without checking if allocation succeed can cause segmentation fault. To avoid both issue use rte_zmalloc_socket. Fixes: 3d3edc265fc8 ("net/ena: make coherent memory allocation NUMA-aware") Signed-off-by: Rafal Kozik Acked-by: Michal Krawczyk --- drivers/net/ena/base/ena_plat_dpdk.h | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) -- 2.14.1 diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h index 9d4cc7246..b89cdb55d 100644 --- a/drivers/net/ena/base/ena_plat_dpdk.h +++ b/drivers/net/ena/base/ena_plat_dpdk.h @@ -248,15 +248,8 @@ extern uint32_t ena_alloc_cnt; #define ENA_MEM_ALLOC_NODE(dmadev, size, virt, node, dev_node) \ do { \ - const struct rte_memzone *mz; \ - char z_name[RTE_MEMZONE_NAMESIZE]; \ ENA_TOUCH(dmadev); ENA_TOUCH(dev_node); \ - snprintf(z_name, sizeof(z_name), \ - "ena_alloc_%d", ena_alloc_cnt++); \ - mz = rte_memzone_reserve(z_name, size, node, \ - RTE_MEMZONE_IOVA_CONTIG); \ - memset(mz->addr, 0, size); \ - virt = mz->addr; \ + virt = rte_zmalloc_socket(NULL, size, 0, node); \ } while (0) #define ENA_MEM_ALLOC(dmadev, size) rte_zmalloc(NULL, size, 1)