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 3EF72A046B for ; Fri, 28 Jun 2019 14:46:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0853637A8; Fri, 28 Jun 2019 14:46:48 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id D315F3798 for ; Fri, 28 Jun 2019 14:46:46 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Jun 2019 05:46:45 -0700 X-IronPort-AV: E=Sophos;i="5.63,427,1557212400"; d="scan'208";a="153362233" Received: from vyashin-mobl.ger.corp.intel.com (HELO bricha3-MOBL.ger.corp.intel.com) ([10.252.21.39]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Jun 2019 05:46:44 -0700 Date: Fri, 28 Jun 2019 13:46:41 +0100 From: Bruce Richardson To: "Burakov, Anatoly" Cc: dev@dpdk.org, thomas@monjalon.net, jerinj@marvell.com Message-ID: <20190628124641.GD347@bricha3-MOBL.ger.corp.intel.com> References: <20190530212525.40370-1-bruce.richardson@intel.com> <20190627104055.8244-1-bruce.richardson@intel.com> <20190627104055.8244-5-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.11.4 (2019-03-13) Subject: Re: [dpdk-dev] [PATCH v3 4/8] raw/ioat: create device on probe and destroy on release 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" On Thu, Jun 27, 2019 at 01:28:04PM +0100, Burakov, Anatoly wrote: > On 27-Jun-19 11:40 AM, Bruce Richardson wrote: > > Add the create/destroy driver functions so that we can actually allocate > > a rawdev and destroy it when done. No rawdev API functions are actually > > implemented at this point. > > > > Signed-off-by: Bruce Richardson > > --- > > > > > + rawdev->driver_name = dev->device.driver->name; > > + > > + ioat = rawdev->dev_private; > > + ioat->rawdev = rawdev; > > + ioat->regs = dev->mem_resource[0].addr; > > + ioat->ring_size = 0; > > + ioat->desc_ring = NULL; > > + ioat->status_addr = rte_malloc_virt2iova(ioat) + > > + offsetof(struct rte_ioat_rawdev, status); > > While reviewing other patch, i remembered that i've seen this here. You > can't make any guarantees about IOVA addresses in rte_malloc-allocated > memory. Are you sure you don't require IOVA-contiguous memory here? > Presumably we can guarantee that for structures less than 1 page in size, this will work? I believe the device structure should be within that page limit.