From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0082.outbound.protection.outlook.com [104.47.40.82]) by dpdk.org (Postfix) with ESMTP id B55C7330D for ; Tue, 5 Sep 2017 10:47:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Q8o691WLdd5EDwkIbMRQRBLlcxlK/poQjmTW1UU+W5w=; b=BtEIgcnmSHBTV55XCriY7gYvtJsESGwpaUPcIigNZFhvBbrqXebU+607BVLISvhw4Gi3upElvhr5iHjH3R/RZ/aMPFAWWN0wL/gqN6noVAS0tN2xEEy+b94S6I43bSoyJB5k4UWEXlSyU1FlLVrCTBJDHM1jxvBwIpIZKfklBKc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from [10.89.1.3] (14.140.2.178) by CY4PR07MB3094.namprd07.prod.outlook.com (10.172.115.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Tue, 5 Sep 2017 08:47:48 +0000 To: "Burakov, Anatoly" , "dev@dpdk.org" References: <20170814161059.6684-1-santosh.shukla@caviumnetworks.com> <20170831032618.7120-1-santosh.shukla@caviumnetworks.com> <20170831032618.7120-4-santosh.shukla@caviumnetworks.com> Cc: "thomas@monjalon.net" , "jerin.jacob@caviumnetworks.com" , "hemant.agrawal@nxp.com" , "olivier.matz@6wind.com" , "maxime.coquelin@redhat.com" , "Gonzalez Monroy, Sergio" , "Richardson, Bruce" , "shreyansh.jain@nxp.com" , "gaetan.rivet@6wind.com" , "stephen@networkplumber.org" , "aconole@redhat.com" From: santosh Message-ID: Date: Tue, 5 Sep 2017 14:17:31 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: BMXPR01CA0013.INDPRD01.PROD.OUTLOOK.COM (10.174.214.151) To CY4PR07MB3094.namprd07.prod.outlook.com (10.172.115.8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 76a5a933-862b-4995-6bad-08d4f43acbfc X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY4PR07MB3094; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094; 3:8jrONqBCiWRydgJHDGW0v/yvLyLKWLgptq0JpT6mtki3tpbsECPi7eW2GuGyBvy56zmr77WehrVrFn3LwqNMdoxSXg6Z1n2cyIfSGEMAmX1IwKZW7YJaeM3FiyEPPcgh1s2w0JBPax07bqd04Tj2656uKJOnDDm/PZ9z3cUlJ9HHAt7PZTxAIwkPUH8lSS7pu1q8ttP3bbs1FCfbD3nLq78gYe2CGcnba8DnhkdB3Ixg5CQ9/lYHp8T4O87wmnKq; 25:lWm02TBeJqR2SVH7lrZBDcVFVhN7ToSyEvYhUDrxH/52K1LZIZF0bCIb9iryqNglndiiCzKpm/qnSJTyKO6dvK5CF9hI4lAzSVD5/W52iHmp8r8nnBf8WedsJIGbsFW4/l92ZyNDXnI45l4NXiVJxDc6VFs2af2k1OYbQJcVERElphmNJHFt+6hCNeeLQrZiS9J/k0epH7Sg/Wfz0nP/tJf3TevYeuDwL9WZBLtM3M3Myo7YhFpLacAAqb4adT4dpewSewjqhqceVONMZyarXJajHYiF51402hQr900afayXAdd8zDat6Nshe7DAcCOeXAOSRra16uKh1eOTiXtULQ==; 31:sGW3wonA5ndbj10lprvXU0A1vfqCM+EtZqf5By6a+X+w7p+z8f72I4yefHs8uvsbZLdLuo6rwVjYy15hRUpfljK20mrXFh2ynUJaQe1wuJ2ftoB5ZCmf0PztA/SDX2QzEcf24eSTQw/GClfKnpDMF2NbXuvFQV8gelWC2Ubf9LQ89qQViYBCvJNzPPY/rGKC67/5mB6s1kdT1ZzrvP9yygEcT4Diw5uKAvZHlM5aXNA= X-MS-TrafficTypeDiagnostic: CY4PR07MB3094: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094; 20:TDNNA05AD0oukUTtuJ0aqTDro9xZtwDMGaUJTvqQ/LK+0Ki7rTy1OPb0IPUJZJoMv9/C44NJ2WwgAWHhfpBnKVrwL37rwQwLJa4wCsvEhO0UP8Dftc8SIFduR5WqR/tc9WQyIVBVP92KRY/NY5EHnDLnXUyrr1lOnreWvaXpEjFGQ5zII6fz9B3NyvRQBh2dgQN0hXbgHVTONAddzp0LK/nmgezIhbiEZHZ/lDSJ1ScTlOXT4AZzOcZ8R+AzGYiLP9AY0sCM6XyQXGP/2I5l7ORsvbIO54a9R2JKbPFSxpTlaMCg1pcax06hCcHC0+/GJ1GsueTyhS3roQRLt5LagXJu+nAgWo8qo1lMxabmpCINPB5eF3NHWXkjJOXcfr8jOEEj3Uxsck+oVyVmktX4Nz2Ct03Np8e55Rta/+zqe3VaY8JXAl8UTtOzoiDiQUi3Gq8YOidYOnTtXDQRM4oSQnwCJhjpqAKu7vs7uxXRRUphG8NYS74pnubEH+JgNwCVkahQHW0aVyzwK2F9o3A0K5vm4PA5qp/U+j9JW/8iBklb5U+TcxZd6Y/HDIUctIoPyfuIQfquvDMQV5XtzSh+PSpoThVzKSWPMvAv0Khatmk= X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(228905959029699); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(100000703101)(100105400095)(6041248)(20161123558100)(20161123560025)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR07MB3094; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR07MB3094; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094; 4:VsQXe1XIF37HbrJlITlwwT1F6mOG8myFlQy/ABmHESS/HGpXq7at5S2XKCRZ3EgQOncUUmDhYujRrzu2uH6Bcxbu/E4nymqE04FPCd2fw4Nwb9CuDyVL50bvDmfryIrQQrrs5voJwBOG0ZJGxxxvrw79sNnOjBs+cSLogCOVfoLzANfz0xBJY2VIdWkB6ru+ms0buek9NSQYP/Tshx0Df+SL8jiliJEfw/gzcnjNQam8ZKvJWn2+kMbdSEvff7CBOx0VBAsqkJ5kFW/DY9hZ6vIiR/CWjA0cY4d35QNJ3YETa4DdF1oHnwCQzyrOSWlqbPrLpMiNZVvMu5bwd7+xCg== X-Forefront-PRVS: 0421BF7135 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(979002)(6049001)(6009001)(377454003)(189002)(24454002)(199003)(4001350100001)(105586002)(106356001)(7416002)(53546010)(64126003)(54356999)(42186005)(76176999)(72206003)(229853002)(8936002)(50466002)(8676002)(83506001)(47776003)(33646002)(81156014)(93886005)(68736007)(4326008)(50986999)(65826007)(97736004)(5660300001)(31696002)(81166006)(23746002)(6486002)(6246003)(86152003)(5890100001)(77096006)(54906002)(2950100002)(3846002)(90366009)(6116002)(2501003)(42882006)(8656003)(478600001)(2906002)(31686004)(25786009)(65806001)(6666003)(5009440100003)(66066001)(65956001)(7736002)(36756003)(189998001)(101416001)(53936002)(305945005)(230700001)(110426004)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3094; H:[10.89.1.3]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY4PR07MB3094; 23:J2U5lJXEvVrv7zxppbx/QuCVaUj4PeQYQZR73?= =?Windows-1252?Q?hOzO4CE67M181JqQgo5AM8Tay15NlLxI7YqbzqHNRNljCbHVmnbCHFtG?= =?Windows-1252?Q?NB5irZbePs1HB2gBMvgJHfOUMHjeveA1U2ZZ7xKCzUH/9PvDjKAJpCVN?= =?Windows-1252?Q?5R+hvFZebhYW1vaTwr8GDmBtKsvgr7L/CIy7jnmECLht4iJHAFgPs2l4?= =?Windows-1252?Q?MOdaQZPUtiYbWhqRNv1csxu/aZSYQSWLIAgdNALHmxsGim+lf+DEoIMA?= =?Windows-1252?Q?wULnNlLnjDbHoBZFEXknX7mDnt2V3gcdq/1nGOvMUn2D8g2NKYMvyMZ7?= =?Windows-1252?Q?JeIypoVAK8qRkY20V64tsTCoY2jHz+RF58++SxOmWDZ5LfJo8G1HLOUi?= =?Windows-1252?Q?RfwhmR8tlhzXoVuK82j5K6u/JoMKIuUTSjzwez+ZLMRGBuL8wHNc9wlC?= =?Windows-1252?Q?YZ5x2DPyjCSkq+l1v8M6DnA48AIhTsNuP/VM6/8i5bYjjSKga4jCVKJK?= =?Windows-1252?Q?FnmKJJq4prLPfNaj9mxFpyB9FyKWLXI/YNLIFymU5H+NeXX0z8mUzSbn?= =?Windows-1252?Q?v26edNuQZp/8XaaqZDa9e/DF8QMAo8OOL/AetrpWPiblEBEMML9JEbno?= =?Windows-1252?Q?DUX142kBFxFRRxnTGvq9brw2uY3OjEHiH3kzKntUXwX9m1lBzOyps3DL?= =?Windows-1252?Q?OJTz/aa7Nis0BlOdJmabQEroKzGmpRlVl5iu04cdbwY0UXjr+6RkodHT?= =?Windows-1252?Q?RJ5WX5d0Nfh0S2ybPT8EtzqzM+EriWApR0sXm1Mefsja7nBYYph8a7AP?= =?Windows-1252?Q?m7cjCVrcP/3yL5mEm2PmoYhIdo1rAiFI+qhHT2ZxUkNXY/DjBBDcsKHT?= =?Windows-1252?Q?sSf39AbVh1o4OTLsSSumh3B6YBett11bi/3Vv4vXkhZ3n/U6R2r2+LWZ?= =?Windows-1252?Q?ZuquFaUTc/MyDuIdQ+/or4piv1OWnXMTsm1UtZP8n6S06pwbmcUpVMnz?= =?Windows-1252?Q?vjMSRun2C6k3LiwCOQRfExd6c1fHQEB8aNI4x4wPj3uP/WyDU4MeWjGV?= =?Windows-1252?Q?IgxiwsRBT2Wx8yWpkHUoOkQD2sYOWeESw3dTVL/u3DsZPzhX7P/C12ad?= =?Windows-1252?Q?3OZ3xORAkMgd8zaKA3JMdwjNJGCCtjEPJla2QztiNVbmN7HTfIYctw5a?= =?Windows-1252?Q?gMeGWb8ZogVvHbo/0J6fj/V1Q6zbvkBqyFmIX4R94a7arsd88rHWg1uJ?= =?Windows-1252?Q?V94YwOH0kuSgdkRbeOs6KlSBIattPE7AvMMWNSWyrF2Ehv29ihXU1/5M?= =?Windows-1252?Q?/y0OnOl2HINmTfpoZ2Cng0s2bLEEbzPOAX2H13sazZAOwCzx1TlI+tWN?= =?Windows-1252?Q?0Ce6iukJvxyA+Y8CR0e59X2XP+9bXK5OezSKlS4sQmYqRIr7AhGsm1qu?= =?Windows-1252?Q?qX2MQ2LEKkmQ8JZOycKkb3EynSD24z5al1wXThLPP6HsG9HTHIr4NVe/?= =?Windows-1252?Q?rYSLdR+Fspz5liOtENP367l+kWwSW9+EnXW+kJOvSDi9CwVx7OKnXrXm?= =?Windows-1252?Q?FKbhHLL8lGljzoLNVtBAUDvBsKHdXg0BKXX0wcv6ViCjEfu0p8Yxsywv?= =?Windows-1252?Q?TWoj2wnPNhxYLMWuRf43IVt616tSa+6QWLN1Q2PqorDUv7OSk1WM/nan?= =?Windows-1252?Q?pXhtVk1OWMKkfB8flg90R2GXFlB7fYTLCJnoc6rDRtfoargxilBKPy+F?= =?Windows-1252?Q?XqviWL4fOXnVoYdCw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094; 6:On+4wcdjHrBspEjstQQhlTpXOj//K51KNU7++KYFzqs01jVlOgBw/Nl6345iz6WGVIlqD8+aFxZoN1oVDg3wQc52eBlFXuof4bbvXEvc1cSboOBzy83k6iTkQSNBcAV/g5taka3b7DdwJTsyT3BfEcXwD3ENI+q1/GHOYwtiWLqMkEW8bm2uWgsOGfvHHR/6ATlxRd5ShGhIYf7aXkLoPhpl1sewbKHqBmAOGYZEmlgtR3cETYjCo5thz32SkAaEEColgMjyuFSdfydTDLgQYq32koLyc7QiFlYHr5fdZVQpUzJRAXvVIbQv2AsfSyewHH4djBeK1RZ7XgAXJUpzkQ==; 5:Y694JCAoSC0B6vCOIdbUdSZYcIhK9HEx1AjRNU6GCdX2HW5acrRV8Qs3Iu6BFpCpAk83ybUobPHymDluxR6n1SP9fu31Uqqn3sQQErCFujzHJB8ZfD1yiRXZsOyjCqMSDWfW32zncD9bWqNh6cFJwQ==; 24:MO9bjhzkI0/PLP0dt+g/af3Rv3j0EYxqW0kxPVwWspbuOQvuad0vwAn45kiwNIZt8MK33of9L87UxcvqGHjmJXRu/4XsTFLHlRyY7qhhqoI=; 7:5NqPMv9LyTsEOm6nl+t3hkdRS5oL0C+5LnpnieJxF5mAAvkFPe3cAaIl1WNLQicLSU+MfZeg5p9V5Xd2NYLqNRluVH/aClV4R+wDt22dwXo4sJnuqi/X8TNrc9rSHUoGUKRiXlgEaHh/g7Y6dMF2xCkhSnAVaNn8OCEiS7hlwS7kpcWuSBHcns15H69F4T+k6vNCB9nA3KgVEfGSy93GpVIW4Qg7ysxrkxLKjfpUdQs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2017 08:47:48.6181 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3094 Subject: Re: [dpdk-dev] [PATCH v7 3/9] linuxapp/eal_pci: get iommu class 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: Tue, 05 Sep 2017 08:47:56 -0000 Hi Anatoly, On Monday 04 September 2017 08:38 PM, Burakov, Anatoly wrote: >> From: Santosh Shukla [mailto:santosh.shukla@caviumnetworks.com] >> Sent: Thursday, August 31, 2017 4:26 AM >> To: dev@dpdk.org >> Cc: thomas@monjalon.net; jerin.jacob@caviumnetworks.com; >> hemant.agrawal@nxp.com; olivier.matz@6wind.com; >> maxime.coquelin@redhat.com; Gonzalez Monroy, Sergio >> ; Richardson, Bruce >> ; shreyansh.jain@nxp.com; >> gaetan.rivet@6wind.com; Burakov, Anatoly ; >> stephen@networkplumber.org; aconole@redhat.com; Santosh Shukla >> >> Subject: [PATCH v7 3/9] linuxapp/eal_pci: get iommu class >> >> Get iommu class of PCI device on the bus and returns preferred iova >> mapping mode for that bus. >> >> Patch also introduces RTE_PCI_DRV_IOVA_AS_VA drv flag. >> Flag used when driver needs to operate in iova=va mode. >> >> Algorithm for iova scheme selection for PCI bus: >> 0. If no device bound then return with RTE_IOVA_DC mapping mode, else >> goto 1). >> 1. Look for device attached to vfio kdrv and has .drv_flag set to >> RTE_PCI_DRV_IOVA_AS_VA. >> 2. Look for any device attached to UIO class of driver. >> 3. Check for vfio-noiommu mode enabled. >> >> If 2) & 3) is false and 1) is true then select mapping scheme as RTE_IOVA_VA. >> Otherwise use default mapping scheme (RTE_IOVA_PA). >> >> Signed-off-by: Santosh Shukla >> Signed-off-by: Jerin Jacob >> Reviewed-by: Maxime Coquelin >> Acked-by: Hemant Agrawal >> --- >> v6 --> v7: >> - squashed v6 series patch no [01/12] & [05/12].. >> i.e.. moved RTE_PCI_DRV_IOVA_AS_VA flag into this patch. (Aaron >> comment). >> >> lib/librte_eal/common/include/rte_pci.h | 2 + >> lib/librte_eal/linuxapp/eal/eal_pci.c | 95 >> +++++++++++++++++++++++++ >> lib/librte_eal/linuxapp/eal/eal_vfio.c | 19 +++++ >> lib/librte_eal/linuxapp/eal/eal_vfio.h | 4 ++ >> lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 + >> 5 files changed, 121 insertions(+) >> >> diff --git a/lib/librte_eal/common/include/rte_pci.h >> b/lib/librte_eal/common/include/rte_pci.h >> index 0e36de093..a67d77f22 100644 >> --- a/lib/librte_eal/common/include/rte_pci.h >> +++ b/lib/librte_eal/common/include/rte_pci.h >> @@ -202,6 +202,8 @@ struct rte_pci_bus { #define >> RTE_PCI_DRV_INTR_RMV 0x0010 >> /** Device driver needs to keep mapped resources if unsupported dev >> detected */ #define RTE_PCI_DRV_KEEP_MAPPED_RES 0x0020 >> +/** Device driver supports iova as va */ #define >> RTE_PCI_DRV_IOVA_AS_VA >> +0X0040 >> >> /** >> * A structure describing a PCI mapping. >> diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c >> b/lib/librte_eal/linuxapp/eal/eal_pci.c >> index 8951ce742..9725fd493 100644 >> --- a/lib/librte_eal/linuxapp/eal/eal_pci.c >> +++ b/lib/librte_eal/linuxapp/eal/eal_pci.c >> @@ -45,6 +45,7 @@ >> #include "eal_filesystem.h" >> #include "eal_private.h" >> #include "eal_pci_init.h" >> +#include "eal_vfio.h" >> >> /** >> * @file >> @@ -487,6 +488,100 @@ rte_pci_scan(void) >> return -1; >> } >> >> +/* >> + * Is pci device bound to any kdrv >> + */ >> +static inline int >> +pci_device_is_bound(void) >> +{ >> + struct rte_pci_device *dev = NULL; >> + int ret = 0; >> + >> + FOREACH_DEVICE_ON_PCIBUS(dev) { >> + if (dev->kdrv == RTE_KDRV_UNKNOWN || >> + dev->kdrv == RTE_KDRV_NONE) { >> + continue; >> + } else { >> + ret = 1; >> + break; >> + } >> + } >> + return ret; >> +} >> + >> +/* >> + * Any one of the device bound to uio >> + */ >> +static inline int >> +pci_device_bound_uio(void) >> +{ >> + struct rte_pci_device *dev = NULL; >> + >> + FOREACH_DEVICE_ON_PCIBUS(dev) { >> + if (dev->kdrv == RTE_KDRV_IGB_UIO || >> + dev->kdrv == RTE_KDRV_UIO_GENERIC) { >> + return 1; >> + } >> + } >> + return 0; >> +} >> + >> +/* >> + * Any one of the device has iova as va */ static inline int >> +pci_device_has_iova_va(void) >> +{ >> + struct rte_pci_device *dev = NULL; >> + struct rte_pci_driver *drv = NULL; >> + >> + FOREACH_DRIVER_ON_PCIBUS(drv) { >> + if (drv && drv->drv_flags & RTE_PCI_DRV_IOVA_AS_VA) { >> + FOREACH_DEVICE_ON_PCIBUS(dev) { >> + if (dev->kdrv == RTE_KDRV_VFIO && >> + rte_pci_match(drv, dev)) >> + return 1; >> + } >> + } >> + } >> + return 0; >> +} >> + >> +/* >> + * Get iommu class of PCI devices on the bus. >> + */ >> +enum rte_iova_mode >> +rte_pci_get_iommu_class(void) >> +{ >> + bool is_bound; >> + bool is_vfio_noiommu_enabled = true; >> + bool has_iova_va; >> + bool is_bound_uio; >> + >> + is_bound = pci_device_is_bound(); >> + if (!is_bound) >> + return RTE_IOVA_DC; >> + >> + has_iova_va = pci_device_has_iova_va(); >> + is_bound_uio = pci_device_bound_uio(); #ifdef VFIO_PRESENT >> + is_vfio_noiommu_enabled = vfio_noiommu_is_enabled() == 1 ? 1 : >> 0; > If you specify is_vfio_noiommu_enabled as bool, you should probably treat it as such, and assign true/false. queued for v8. > Other than that, I'm curious why is it always set to "true" by default? If we don't have VFIO compiled, it seems like the error message would always complain about vfio-noiommu mode being enabled, which is confusing. Set to 'true' for case when VFIO_PRESENT unset.. meaning platform doesn't support VFIO (linux versioned < 3.6) i.e.. using UIO - In that case, flag makes sure _pa policy selected. On error message: It won't come in non-vfio case, as 'has_iova_va' will set to 0. Error message will show for those case where few device out of many bind to uio, so message will pop-up and iova policy would be _pa in that case. Thanks. > Thanks, > Anatoly