From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AFE27A0487 for ; Tue, 2 Jul 2019 16:13:05 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1E1B11B995; Tue, 2 Jul 2019 16:12:57 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id BA1AD1B955 for ; Tue, 2 Jul 2019 16:12:54 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Jul 2019 07:12:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,443,1557212400"; d="scan'208";a="157652397" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by orsmga008.jf.intel.com with ESMTP; 02 Jul 2019 07:12:53 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: jiayu.hu@intel.com, Bruce Richardson , Shreyansh Jain , Hemant Agrawal Date: Tue, 2 Jul 2019 15:12:22 +0100 Message-Id: <20190702141230.31925-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190702141230.31925-1-bruce.richardson@intel.com> References: <20190530212525.40370-1-bruce.richardson@intel.com> <20190702141230.31925-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v5 1/9] rawdev: allow devices to skip extra memory allocation 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" Some device drivers want to allocate their own private memory, and should be allowed to do so. Therefore skip memory allocation and associated error checks if zero-length private memory is requested. While adjusting the code for new indent level, fix incorrect error message. Signed-off-by: Bruce Richardson Acked-by: Shreyansh Jain Acked-by: Hemant Agrawal --- V5: Added additional info to doxygen for allocate API --- lib/librte_rawdev/rte_rawdev.c | 11 ++++++----- lib/librte_rawdev/rte_rawdev_pmd.h | 4 +++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c index 15de2d413..b6f1e1c77 100644 --- a/lib/librte_rawdev/rte_rawdev.c +++ b/lib/librte_rawdev/rte_rawdev.c @@ -496,16 +496,17 @@ rte_rawdev_pmd_allocate(const char *name, size_t dev_priv_size, int socket_id) rawdev = &rte_rawdevs[dev_id]; - rawdev->dev_private = rte_zmalloc_socket("rawdev private", + if (dev_priv_size > 0) { + rawdev->dev_private = rte_zmalloc_socket("rawdev private", dev_priv_size, RTE_CACHE_LINE_SIZE, socket_id); - if (!rawdev->dev_private) { - RTE_RDEV_ERR("Unable to allocate memory to Skeleton dev"); - return NULL; + if (!rawdev->dev_private) { + RTE_RDEV_ERR("Unable to allocate memory for rawdev"); + return NULL; + } } - rawdev->dev_id = dev_id; rawdev->socket_id = socket_id; rawdev->started = 0; diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h index aa6af4a37..cb3555ab5 100644 --- a/lib/librte_rawdev/rte_rawdev_pmd.h +++ b/lib/librte_rawdev/rte_rawdev_pmd.h @@ -568,7 +568,9 @@ struct rte_rawdev_ops { * @param name * Unique identifier name for each device * @param dev_private_size - * Private data allocated within rte_rawdev object. + * Size of private data memory allocated within rte_rawdev object. + * Set to 0 to disable internal memory allocation and allow for + * self-allocation. * @param socket_id * Socket to allocate resources on. * @return -- 2.21.0