From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D0038A0547; Wed, 29 Sep 2021 11:39:25 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 96D4C410D7; Wed, 29 Sep 2021 11:39:25 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 2871B40E3C for ; Wed, 29 Sep 2021 11:39:23 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10121"; a="285917026" X-IronPort-AV: E=Sophos;i="5.85,332,1624345200"; d="scan'208";a="285917026" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2021 02:39:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,332,1624345200"; d="scan'208";a="438391188" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga003.jf.intel.com with ESMTP; 29 Sep 2021 02:39:23 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 29 Sep 2021 02:39:22 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 29 Sep 2021 02:39:20 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 29 Sep 2021 02:39:20 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 29 Sep 2021 02:39:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SFHuPXHVgfay/JiLZ0RGbnRvYSrypA3LnEvDdWe1Htjb0nWxB+KHW7QLhGfoCT4xBJEhsZKNYpua1jJ4Q+81M2Q8MRtipN06jB47NcvoTDn5lAV7O8N4H5z5ubi21vy1j9fXyXFCt7KQJxv9x5u0I9lKNYCE23VOb78CwPqKJg92GbnaO8KgLYJWUInf3bXNyb9e8S4nGgnbTNweM5OGXdIDTn4ii76CvQprabUJ5C6vB1Y828nqKyhtNK/kaF7hNrYYzP2jkpTkGnhiSHE/ORBnGZpDVssaS3JT8tT13ZoFgd5JkRlYmSrlZpOMm1un8Fd9dmq7uGfpDmYLvW3ofg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=7zbuApSlkTgDWEdh7dTguB66xkJL0WRp5Sce2LQc88s=; b=dDMiADES8Q+1GAREBaemvBdOQZjKWbcLO88myfo1Ki8tZUNSfLWlj2fst16onVfElNF8FJczuJxNBNlpUPSOZYv3ViJvpT3Ij+uBBl73DFyKOGvtg7224zGLuoA1M6jpIQL2GNW0A78imL/VB9xFRFTQ+4nPkuh6pfG+WudjB8om1+gbBLeNQ6zi98sjGjMblM8nh9P+ZdbhKeAg5uryQyiu5NEQRT+GIy0N4p5X+TuLJcG96jRr49C07auNyMI1QeJmiL3zmKdWG6tDcTKgd6rqmfdq60g///JkLbENfqr00ZxoBnOViZqWcz8MglvFyggExTDvYzX3kC36cvxE3w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7zbuApSlkTgDWEdh7dTguB66xkJL0WRp5Sce2LQc88s=; b=p2rZyruLa0rx8SkbWyb9ocrjFQHa1nysxogHsyOGttHjGhLfmxFxoZY6PHdGAcayqVI/o/mw7zL2YB7NGQQWa5elK0ruKau7C7grrmDz83rZHcxcx1IcbGDxsjxFryYCMlkMAlYx1xnDbYPGnnZNqcnot4IEfc4HyIW3wp+Hdpg= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5093.namprd11.prod.outlook.com (2603:10b6:510:3e::23) by PH0PR11MB5174.namprd11.prod.outlook.com (2603:10b6:510:3b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15; Wed, 29 Sep 2021 09:39:16 +0000 Received: from PH0PR11MB5093.namprd11.prod.outlook.com ([fe80::d145:710a:1bac:7e91]) by PH0PR11MB5093.namprd11.prod.outlook.com ([fe80::d145:710a:1bac:7e91%9]) with mapi id 15.20.4566.014; Wed, 29 Sep 2021 09:39:17 +0000 To: "Hu, Jiayu" , "Ding, Xuan" , "dev@dpdk.org" , "maxime.coquelin@redhat.com" , "Xia, Chenbo" CC: "Jiang, Cheng1" , "Richardson, Bruce" , "Pai G, Sunil" , "Wang, Yinan" , "Yang, YvonneX" References: <20210901053044.109901-1-xuan.ding@intel.com> <20210929024127.15547-1-xuan.ding@intel.com> <20210929024127.15547-3-xuan.ding@intel.com> From: "Burakov, Anatoly" Message-ID: <77682652-45d4-e8ba-7af9-0524e1924b36@intel.com> Date: Wed, 29 Sep 2021 10:39:09 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.14.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DB3PR06CA0011.eurprd06.prod.outlook.com (2603:10a6:8:1::24) To PH0PR11MB5093.namprd11.prod.outlook.com (2603:10b6:510:3e::23) MIME-Version: 1.0 Received: from [192.168.1.10] (212.17.34.161) by DB3PR06CA0011.eurprd06.prod.outlook.com (2603:10a6:8:1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Wed, 29 Sep 2021 09:39:14 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 45e69d05-a711-44e0-88ed-08d9832d0138 X-MS-TrafficTypeDiagnostic: PH0PR11MB5174: X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vVbNnBbf44jGs87qhfbBWzyen384AhaEkTPnIQAq7PqRaAHnfEbd/ybyuEujuHtkPy0t+nKDlf7bPy00EUgrCTO+FbJB8OTAlNnHLwm9rKr5jzTD4v0mA0m6jz0pAkYL/HesIVeFMBsHr9uhEQ4jcO+XPyCFFZII81QpEKAxMoc9BQMVaNgiROJQCAFpzPEazt5VuZUB6xStM+ueaUvF5suJMu6/WGtr2IACaktejvOqdL69Uj7sxoI4T1qq5kEs2TrC9VIHze7GP0hLlkEiRvirg74TY7j78COii505gADhsl9mz5JqOInuVjcGeRqCxeicufoEcRZDK7xngMr4OZimuwVwVOj5+ijOE33dQxwbQAvv8dqEQatZEEFT21Tvf9IgqyMAZHzYyLb+oJDSSpyLICKn9v4CrHwrHBXS+VbmgFdvSE7o69edTf/wYv+cX04bOmmIybw1AM8LwFgiuLSaR0dlhZXheKoF1EVGixQht5h46x8ZqMi+FVojTWwGHwiyVWQRC7iacWWWcHzMKe743zvKGtpiNl3vZi7xWKkAk9TIGloP+A7qaIiMhHXLom/+OT+MCuYirhxEBLpuocyRIOELSCmIvSK4VmvZxnoHlWlXdW2XLf+/EGHdlDRXTpj7oczdvohy180CdDpi26YmaC6mQQjgrSh9BAwy2JpKkJgc1Zh6uWqL4+3rS4qwhg/fViY/vXb/wMq1tiSBGpS4t0uS2yDwoQoGEwORIr8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5093.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(4326008)(6666004)(316002)(26005)(86362001)(31686004)(66476007)(16576012)(66946007)(6486002)(110136005)(66556008)(54906003)(107886003)(186003)(31696002)(8676002)(53546011)(8936002)(2616005)(2906002)(956004)(83380400001)(508600001)(6636002)(36756003)(38100700002)(5660300002)(45980500001)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MmlkcFYzQ3J0VUdhNWlUdk5WNzVvNHRqZHFpbnhsVC9vc01XN2lkZTI5blAx?= =?utf-8?B?akJCTzFyYVlvbXdhdWhkTy9HTlY0a3FIbmF5QThMYmRmanc0RUQ2dlZldWxB?= =?utf-8?B?Y084Q3Z2MU1DRkRLbHAvVEJHZTdLMmFMOCtqbUlOa0RmQlBiRC9pSWdrVVVl?= =?utf-8?B?aW1Bd3ZRdzVSQkNFWVg0aWdtWlJ3Q2RLR3IxNVJ2L295MFo1MVcxeFlmUkdY?= =?utf-8?B?NjJkMi9HaDZXZWsrU29EZ3hZY1ZuUVIvcjhlQlFzcmNrK2N5YkZJTzJ0RFk1?= =?utf-8?B?WUFiS2ZtbmpGWlFKbFJVZFEwZFhzSXRYaEM2dXZkcFZjakhDdFZaQ2N3SWhw?= =?utf-8?B?NUxTK0hxUlFwU2tVS0hQVVRZRS9McGg4c1lIS1pUbVp0STltanlQYlpHR0Rn?= =?utf-8?B?akFFRnhpclc1cDc4RW1YL0g4NENEWXJqVVRwTENPcVQ3WUdKVC9WejNBR1E4?= =?utf-8?B?NTVPb0hyVSt4aE5SeExpdDFCZDlMNmpySER3UmNKWHJGdmJLclVzNjliY3R4?= =?utf-8?B?dXpxTTlESXFpK2p3WlhUM1dGY1lML1dxaVVYWk45WUl1cHdOZ2xiZDVqMUlO?= =?utf-8?B?cXJhaExWUHVUaWRXM1YwTUdEb3J0QmlIT2NtN0pnQXJabDJabFp2N0JSKzZz?= =?utf-8?B?Y2JYKzc0VUdFT1FVUHN3MFA4RzhQN0tUamlnNG05K3VtMTNSeU1FQ25mTzZ6?= =?utf-8?B?cU16L3JNT1dkRHpRY1BrL2pmV2pEejVhUVFSazRvT0pEWjFWRjVCSEMwVmRv?= =?utf-8?B?VHk4cld6dkQ4QWs2TDV1RHF5ZWg4TGREM3NvbWRTT2pTU3JhckVtQThEc1Rp?= =?utf-8?B?R3RLRGZZZkFIdWRYWlhlK2xvaUNoNG5Hdm5aY3RibHNkYktqbjBCZ1NacXh5?= =?utf-8?B?bW15N2dPTmk1YzRIRGo2UkF5WnhqUzhuNTU1SGQxby9Nd2NtZXF4bUZlMnk4?= =?utf-8?B?c2Y1S1BjZk1NN25uV0Jya2JqT2F2Qm9QNWtmZUNSTzNCcmpEODd4cERVRmdm?= =?utf-8?B?UWY2dE0vY0RsSjFndVZOcGovQzlrSkZUaWFKUjh0OUpERUUwWUFMbDdHSWdB?= =?utf-8?B?N0dNU3UzdkgvcmpqeXBPQWszY09YOVFvQXFHcVd0ZnFCdGZnZFpZclViWmZH?= =?utf-8?B?TDBVelJDVjcyKzRnWFRLWmd0TC96MkF0NGJZZGlhWVpOb2VRMVB1QWRlV1Ry?= =?utf-8?B?VmFNMEI0K0orb0M0UVNleVJrRktQMm1kbGpLRTYwUjRkenR4UXEvdkJiYTlD?= =?utf-8?B?b1FqcnhZZWlMOE5iRXZHZWw4bXhQR0pWdWpSU05MeWpqd1MvVkxra1JXTnNX?= =?utf-8?B?cUl3NlBNM1ZZMTQwdGxEaElIVkJ3QkdFUnBCQnluVGduK2FKdWRPSFRuYmpB?= =?utf-8?B?MUU3dFVZZE10ZlRxbnNweUFQdTYvN1VlNk01SzN2ZUtoSkplaDErTW0xRkN3?= =?utf-8?B?R2FDejZQb2hqYkZySU9EN2JPMjBqaEdwTTNwY3hXNWdqTU4zZngzUkhMQmtk?= =?utf-8?B?NlIvL0hEb3lQSmVxaXJuN25TQUJ2OXFoRlhLWjV0L3c5SmZ6dkxtOXh3TWJq?= =?utf-8?B?cmZTT3BBcXNZWWpxWTRxNjFZdFh6dnMvcHlDNEFIbXlvTDZzNTdyTEJWT0hm?= =?utf-8?B?a0FZUkVzZWVsSG90ZERhdkF1aXJJVk5vajF5SklxOGpuNE9tZXZrbVJqMC9W?= =?utf-8?B?Tzllamd0ZmlhS2hDQzNJVVVDVU9nenlVUmZaNFdkWm1YMFZTV2R6ODhTcFE3?= =?utf-8?Q?DHVI0Me8F6z1IE6qWnU4nv1MK6TZYF1n+4MEGwy?= X-MS-Exchange-CrossTenant-Network-Message-Id: 45e69d05-a711-44e0-88ed-08d9832d0138 X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5093.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2021 09:39:16.8219 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Rv+NBhj0an0j555lq6t6+3ZINnMqnM/dMZYY1UvgFwNF+wDccREdXUwW1mVK/NkongiVMl8m3onE93Z4i2i5ryD1shj9z08jxIJBWGLt88M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5174 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v6 2/2] vhost: enable IOMMU for async vhost X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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 29-Sep-21 7:12 AM, Hu, Jiayu wrote: > Hi Xuan, > >> -----Original Message----- >> From: Ding, Xuan >> Sent: Wednesday, September 29, 2021 10:41 AM >> To: dev@dpdk.org; Burakov, Anatoly ; >> maxime.coquelin@redhat.com; Xia, Chenbo >> Cc: Hu, Jiayu ; Jiang, Cheng1 ; >> Richardson, Bruce ; Pai G, Sunil >> ; Wang, Yinan ; Yang, >> YvonneX ; Ding, Xuan >> Subject: [PATCH v6 2/2] vhost: enable IOMMU for async vhost >> >> The use of IOMMU has many advantages, such as isolation and address >> translation. This patch extends the capbility of DMA engine to use IOMMU if >> the DMA engine is bound to vfio. >> >> When set memory table, the guest memory will be mapped into the default >> container of DPDK. >> >> Signed-off-by: Xuan Ding >> --- >> +async_dma_map(struct rte_vhost_mem_region *region, bool >> +*dma_map_success, bool do_map) { >> +uint64_t host_iova; >> +int ret = 0; >> + >> +host_iova = rte_mem_virt2iova((void *)(uintptr_t)region- >>> host_user_addr); >> +if (do_map) { >> +/* Add mapped region into the default container of DPDK. */ >> +ret = >> rte_vfio_container_dma_map(RTE_VFIO_DEFAULT_CONTAINER_FD, >> + region->host_user_addr, >> + host_iova, >> + region->size); >> +*dma_map_success = ret == 0; >> + >> +if (ret) { >> +/* >> + * DMA device may bind with kernel driver, in this >> case, >> + * we don't need to program IOMMU manually. >> However, if no >> + * device is bound with vfio/uio in DPDK, and vfio >> kernel >> + * module is loaded, the API will still be called and >> return >> + * with ENODEV/ENOSUP. >> + * >> + * DPDK vfio only returns ENODEV/ENOSUP in very >> similar >> + * situations(vfio either unsupported, or supported >> + * but no devices found). Either way, no mappings >> could be >> + * performed. We treat it as normal case in async >> path. >> + */ > > > What do you mean by saying "vfio either unsupported"? Does it mean platform > doesn't support iommu? Unsupported as in the VFIO driver is not loaded. We don't really care if the *system* supports VFIO as much as whether it's *accessible to us*. I'm sure you would agree that scenario "VFIO is not supported" is exactly equivalent to "VFIO driver is not loaded", because from our perspective, in both cases the VFIO driver is not loaded :) > > Thanks, > Jiayu > -- Thanks, Anatoly