From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 46B9D8E73 for ; Mon, 17 Sep 2018 15:00:25 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Sep 2018 06:00:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,385,1531810800"; d="scan'208";a="84191457" Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.237.220.55]) ([10.237.220.55]) by orsmga003.jf.intel.com with ESMTP; 17 Sep 2018 06:00:20 -0700 To: Shahaf Shuler , "dev@dpdk.org" Cc: "laszlo.madarassy@ericsson.com" , "laszlo.vadkerti@ericsson.com" , "andras.kovacs@ericsson.com" , "winnie.tian@ericsson.com" , "daniel.andrasi@ericsson.com" , "janos.kobor@ericsson.com" , "srinath.mannam@broadcom.com" , "scott.branden@broadcom.com" , "ajit.khaparde@broadcom.com" , "keith.wiles@intel.com" , "bruce.richardson@intel.com" , Thomas Monjalon References: <9c763791-2c10-fd36-7f50-3df5efbc20ab@intel.com> From: "Burakov, Anatoly" Message-ID: Date: Mon, 17 Sep 2018 14:00:20 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH 00/16] Support externally allocated memory in DPDK 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: Mon, 17 Sep 2018 13:00:25 -0000 On 17-Sep-18 1:16 PM, Shahaf Shuler wrote: > Monday, September 17, 2018 1:07 PM, Burakov, Anatoly: >> Subject: Re: [dpdk-dev] [PATCH 00/16] Support externally allocated memory >> in DPDK >> >> On 13-Sep-18 8:44 AM, Shahaf Shuler wrote: > > [...] > >>>> The responsibility to ensure memory is accessible before using it is >>>> on the shoulders of the user - there is no checking done with regards >>>> to validity of the memory (nor could there be...). >>> >>> That makes sense. However who should be in-charge of mapping this >> memory for dma access? >>> The user or internally be the PMD when encounter the first packet or while >> traversing the existing mempools? >>> >> Hi Shahaf, >> >> There are two ways this can be solved. The first way is to perform VFIO >> mapping automatically on adding/attaching memory. The second is to force >> user to do it manually. For now, the latter is chosen because user knows best >> if they intend to do DMA on that memory, but i'm open to suggestions. > > I agree with that approach, and will add not only if the mempool is for dma or not but also which ports will use this mempool (this can effect on the mapping). That is perhaps too hardware-specific - this should probably be handled inside the driver callbacks. > However I don't think this is generic enough to use only VFIO. As you said, there are some devices not using VFIO for mapping rather some proprietary driver utility. > IMO DPDK should introduce generic and device agnostic APIs to the user. > > My suggestion is instead of doing vfio_dma_map that or vfio_dma_unmap that have a generic dma_map(uint8_t port, address, len). Each driver will register with its own mapping callback (can be vfio_dma_map). > It can be outside of this series, just wondering the people opinion on such approach. I don't disagree. I don't like bus/net/etc drivers doing their own thing with regards to mapping, and i would by far prefer generic way to set up DMA maps, to which VFIO will be a subscriber. > >> >> There is an issue with some devices and buses (i.e. bus/fslmc) bypassing EAL >> VFIO infrastructure and performing their own VFIO/DMA mapping magic, but >> solving that problem is outside the scope of this patchset. Those >> devices/buses should fix themselves :) >> >> When not using VFIO, it's out of our hands anyway. > > Why? > VFIO is not a must requirement for devices in DPDK. When i say "out of our hands", what i mean to say is, currently as far as EAL API is concerned, there is no DMA mapping outside of VFIO. > >> >> -- >> Thanks, >> Anatoly -- Thanks, Anatoly