From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 78A611B3B6 for ; Thu, 14 Feb 2019 17:43:12 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Feb 2019 08:43:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,369,1544515200"; d="scan'208";a="320426637" Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.251.90.29]) ([10.251.90.29]) by fmsmga005.fm.intel.com with ESMTP; 14 Feb 2019 08:43:10 -0800 To: Shahaf Shuler , Alejandro Lucero Cc: Yongseok Koh , Thomas Monjalon , Ferruh Yigit , "nhorman@tuxdriver.com" , Gaetan Rivet , dev References: From: "Burakov, Anatoly" Message-ID: Date: Thu, 14 Feb 2019 16:43:09 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH 0/6] introduce DMA memory mapping for external memory 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: Thu, 14 Feb 2019 16:43:12 -0000 On 14-Feb-19 1:41 PM, Shahaf Shuler wrote: > Thursday, February 14, 2019 2:22 PM, Alejandro Lucero: > > >Any current NIC or device will work with virtual addresses if IOMMU is > in place, not matter if the device isĀ  IOMMU-aware or not. > > Not sure what you mean here. For example Intel devices works w/ VFIO and > use iova to provide buffers to NIC. hence protection between multiple > process is by application responsibility or new VFIO container. > As far as VFIO is concerned, "multiprocess protection" is not a thing, because the device cannot be used twice in the first place - each usage is strictly limited to one VFIO container. We just sidestep this "limitation" by sharing container/device file descriptors with multiple processes via IPC. So while it's technically true that multiprocess protection is "application responsibility" because we can pass around fd's, it's still protected by the kernel. IOVA mappings are per-container, so the same IOVA range can be mapped twice (thrice...), as long as it's for a different set of devices, in effect making them virtual addresses. -- Thanks, Anatoly