From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0085.outbound.protection.outlook.com [104.47.34.85]) by dpdk.org (Postfix) with ESMTP id 557261B19C for ; Fri, 6 Oct 2017 05:22:40 +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=jMua0pbc+8XJa940xg2fCmVhKYfWu0Ti4MWkGAaQZOY=; b=b/iHZykbeyRgdONVCjWDqCjlSx0AwD4+B61amixYZgcG+VoRkDx+esGBKCsr49rkUJ1h2+sE5hWd+MckFszzULYTfUrIeX8/CZH0wDyEGiw635Yq6wNUISLyrrVPtI+XLK1+DKbEdeu+ZKtY5mjqA9+HcloVgwhBO0pYpFHXv/g= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from [IPv6:2401:4900:1987:3a7a:c95:1bb1:8a40:6cff] (2401:4900:1987:3a7a:c95:1bb1:8a40:6cff) by MWHPR07MB3104.namprd07.prod.outlook.com (10.172.95.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Fri, 6 Oct 2017 03:22:33 +0000 To: Thomas Monjalon References: <20170918104234.9149-1-santosh.shukla@caviumnetworks.com> <20170920112356.17629-1-santosh.shukla@caviumnetworks.com> <20170920112356.17629-4-santosh.shukla@caviumnetworks.com> <8068060.8YhcFxlhvD@xps> Cc: dev@dpdk.org, olivier.matz@6wind.com, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, aconole@redhat.com, stephen@networkplumber.org, anatoly.burakov@intel.com, gaetan.rivet@6wind.com, shreyansh.jain@nxp.com, bruce.richardson@intel.com, sergio.gonzalez.monroy@intel.com, maxime.coquelin@redhat.com From: santosh Message-ID: <7e38bb97-953b-b5ac-08af-bc695e0c45d9@caviumnetworks.com> Date: Fri, 6 Oct 2017 08:52:15 +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: <8068060.8YhcFxlhvD@xps> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [2401:4900:1987:3a7a:c95:1bb1:8a40:6cff] X-ClientProxiedBy: PN1PR01CA0081.INDPRD01.PROD.OUTLOOK.COM (10.174.144.149) To MWHPR07MB3104.namprd07.prod.outlook.com (10.172.95.10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8a44954d-c311-4134-1cc3-08d50c697ea9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:MWHPR07MB3104; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3104; 3:mL7uaP1a4TqmWM0MzwRdOGhNXctUn+kcaWGPNm9TZKkeWXBS5FBkwSFDrpjCgccvT2tzP4RfBfQaTcuGWmAnYxrbSWuBKoIw+AeTqp9wlHoDxpP1XGnjfGCmfag8MF8qbftaRv31U/TevUc9ZGj/0JQYdF5of/+y0BQBVpWr0NnvcD3CgiXMFxaIBpiAs/hY552FFgWrAYGcOqSKLvoCsw1AGe0FAEYF1eSKhMeKlqD58fWCwTG2pVGuctRt2KbM; 25:/tDg8JWcjNgAu90Q0zIUMkVldAMCOuTWAoDA4Fg57ZzTYT4eSv1P4pPoSjseGQi0IGMx7BsiqqPl4/WDBsvGoyXFTkGxhNr0NN8/mDFNXbbHgOMJ3BvQlbPN3oIZTMTW/EPM77/6dD8MTKDJYLGlXK5AYxbiQTMYXr5uWWIYa7cuPQFIMZDkZXQOuvrgToDNLmzlMXPV8ESak8b632YC8LM1SUdAMYXxmYmN9otDf6Xs+ys1VfP5aTIe8gzYm0Qc0pEKIxv1NMUOP8TW8QAVsh/dXzeoxquKUIM7VpdTdULLVbkDVQPGTKwoFu2TZ3MijSvSGsmbc8tl9VoAMfbFBw==; 31:t9EpPSuKzZPeAyLv1ST4D2uasTphnNd582qa6MQcQLnhsmyhBQNA4VMy+QIoSZqV2MMqoJTGQTPvrx8u0kfY+cCGIfQssfyCLGwLftlvn1+8z88hows/oKrSAPWOoujYP4kYr/3oYWD8jmJFOE4+ZjqkxhJVTc9zabP6m0T9Ljg/rwFwKcsZ9sX+k/aKEw6oJ+FILWsM9iWqeFQ2QE+95hqW/RjPggAX+fI215UbOz4= X-MS-TrafficTypeDiagnostic: MWHPR07MB3104: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3104; 20:xH0GSzyLLLe5TIgDKT+yX+v8Dg+qyqFo5Nt+7+bVHxoMKCdpHgALZku/lR9hJNQAC3EnHeGL9jCELEw67o6k/UThSNf/qpjlPOb5hfmm16JUTJV6AlFlQ93RXcyY26XsQ6czLiRFB/lLVu/NAMvB76C60DQ2e4LB5/54DXngmwYoaV8FYqbYBoqAf5ogoBxve5YtyiDL+E2pedAZH22NA6hdu19VcUFSY1drDdyYqMyEWuK/AGEIznUmSvxde/QnUMb/ytcBqyF6tReFqJY2tmP1UvjLZt/Ty3WiFr/Lvqx6DkV1tgn8scmUo/GXePPNEb2MN2jhiG7f9Bd5G/uqRxHqbrl122EBkg2WjZ26Di+NS9OArEOlz28Kh9yjRbFn/MqOtZ90FcvbVnjBjoynEs+4k8R0wokRiz3CJNUl4NVKgRtpLZamNHx7pWpWJt5b5BLFdmLprUTbYv5EA/wlRiRFaQeE5NaL2lw5kBVvwqPvgjCc9J1F1SX+I/JyFLSqE4mVOq+q/3dFKJUrHEszrU8pObVlkjEPB01kJTrwukq/+ebD7Ykw8qTl6oZPqL/W62T2ztgZ3hNidFK7ryCUw2JJ2sfb1lNMbsNyzVCw/M4=; 4:hGyQ1Uz+NyuN3pdAKlEeEvrEuCBSjSJIb9M6a77bLGWa6/SpjNyKh1JYr6afA3wXQ0e85g4j6rwHi6qsQcdS0HdlHr+xBd46T0eWRBvMSCmadRle2dzfBcm1eCSz86xw3TpAN1xfz0iNYMuykqHbtwYLbmIrwC0tT8VP7tGDBn5GjpEbrVN7YaOTJCiMsL4WQ6vVd1fx+Ien0RZ9mMXU6Q36+40DMbhEuQxU5NTs9NH6xAJGq/ii/Zeio181VJdf X-Exchange-Antispam-Report-Test: UriScan:; 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)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(6041248)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR07MB3104; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR07MB3104; X-Forefront-PRVS: 0452022BE1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(24454002)(377454003)(189002)(199003)(189998001)(6116002)(81156014)(93886005)(8676002)(83506001)(81166006)(64126003)(33646002)(7416002)(305945005)(4326008)(7736002)(50466002)(53376002)(65826007)(6666003)(25786009)(478600001)(72206003)(47776003)(6486002)(1706002)(76176999)(8936002)(50986999)(5660300001)(230700001)(966005)(65956001)(54356999)(65806001)(97736004)(86152003)(8656003)(229853002)(6306002)(105586002)(2906002)(2950100002)(53936002)(42882006)(316002)(6246003)(106356001)(6916009)(31696002)(36756003)(23746002)(58126008)(31686004)(68736007)(101416001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3104; H:[IPv6:2401:4900:1987:3a7a:c95:1bb1:8a40:6cff]; 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; MWHPR07MB3104; 23:pOt7AAhlqILiGyQpaK/ebgbkpFIGr0XZEz7wx?= =?Windows-1252?Q?DqwXHBECO1SvyB4T1ehaIn7v41AkT2nOCmMof+oCGWp0IUuFpeY5luiI?= =?Windows-1252?Q?ISfusk4k2PwXJGosPne47JnZ3GMoHFrvoEiT9PwUlJsIbQf2pIxImfxv?= =?Windows-1252?Q?uVytpmr2N94jRPO4WlcB+tdSvN0sr3hT+ZRoxFa49+kpMg3px5B82/c6?= =?Windows-1252?Q?GuVBB/UvmcBxz3YDXmdh9f2c4CaYn3RJVjM9bf5reCh52YE74KexH+Ov?= =?Windows-1252?Q?0vqf8ssr5MsY+RPUWyRNnNQNfOk0CbWAJvBLK5Qxo9SFgLm0GRc0+TaQ?= =?Windows-1252?Q?LFBTu+K6XqhlqrMEF8V/6uEKVvH9MFD3wNB3F/y2vvgM2xs2+FW5vUNo?= =?Windows-1252?Q?raIxeeUeF2DkZsA9BDjC0U7kRTajMtJ02X8f4BmIsEOsaQ+UEScA0Edc?= =?Windows-1252?Q?jcZLOl4unmo/JYXLZIA8zBJPznlqHA7QwPoTlne8d2FN5/t/pm0B0V3X?= =?Windows-1252?Q?qUDbGmiMffoVWixSYc5OiJxXJK1EZsOz1d/+bXm/W2YSS7g7KnNG8goL?= =?Windows-1252?Q?whORPYI7lDtRGnooez7hXdFO6uMCz+IrV9uoWxalkr26chTxZF+xwRZT?= =?Windows-1252?Q?ZbF1VoAfmf3oiVrN71Jr6SMS+/E6TsDB1WJI/RUkluSsZqFFD9C8ZkkP?= =?Windows-1252?Q?c06Nt1K1oImgJFei5Wrvjb6nOqAn6i/bTnV9mggMq6PWpp7naamosk8Z?= =?Windows-1252?Q?ii108S/7SjsO0r3nKqQ0BOlDbU8mQzcUmfInP0P5JrXx0sDGSTiHZ0kG?= =?Windows-1252?Q?MNyt29uLc7hbele5EV3pcpKStPjer+BCF3gWjQiZhw8dOCCbwPKf8V++?= =?Windows-1252?Q?D4tkMsqsWzMPrClr6DDD6+NOQK8d+PKx40Glb0qdOkDJWPEmKD5hk6bh?= =?Windows-1252?Q?FMYD5HWU4ls1tcAdQZt7cEEB266maE/yEYfV4acaNejpHOfLUHMXnTbN?= =?Windows-1252?Q?qd/bL5gibJ8qlPjDQWjrXgRhMsk8baQVUh1f913iro7YK/X9n7F7QxVJ?= =?Windows-1252?Q?TheOArfyAWv6hfGz4i0RdyvpouCqOQ8K9grGPC/fk4hbSmBaofUV8Jei?= =?Windows-1252?Q?3Nt1wA5C2+hOWYldL++k5//y6zQRrvs3vbJZfa3ubcJt5PX/Zjwvw3wJ?= =?Windows-1252?Q?r4++kKGqsYL0PeNiOTBUeKIbV5Kt7vrvxSJkDB2xKW373PolA15GkwQL?= =?Windows-1252?Q?L15fK73VvBBl8acWsiU+C4hIKxGZ8RsCer8y4D9jPXUQMeQ6JI1xTbon?= =?Windows-1252?Q?ETBW+2OkQ1PvBaSFpkwrudjUaHP797Yp59MIAiksq9TheJmDTPck3nwx?= =?Windows-1252?Q?yt3VGwEFC4U91QKqbPGJ/W3FyoOppbc/GdYXd5vt1oF8jsO7ifpM9Ehi?= =?Windows-1252?Q?HQfX0Kedjswyjyk2zdW/LC0cTLxX3cIvQV2jcZW2NPUPYd3uMks8JUaM?= =?Windows-1252?Q?SgTZoE=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3104; 6:x7E3uhnMFanQu7NgEJy/RnIUFqbycrrSutlshua2q1rClelwcJFFt40KE1FWRaCT41b3kg1Erqq44zdykTqY0ay/ke4OvqMxFXtWnWJA3VyqPoXToGYv7OzUSo68jtDVnPmc1P9I2eC/z3dNOe4vIsUMZ65KJfUJn20vDYB1drNJY4Xy3tbA01YygQ0ziO1VLTdLdf0VbgM36Unu/8EHXdm+UNrRwaCr44n4Xnnz4PoPp29mULuV35J46b1GPMz0TvIB4Gvg3quHd1L/S3gPdJsreKn/ya10NT8MdOX/fpqTrAQ3JRixizcG/ExvHLAFXSXICZXQJ4Oww/ZR2/D+IA==; 5:lY4pVrmviEqmsbgHDQwp7EwyL4KcC0LJ6+fKcjr90vrn2ApVzt/VNJAb9T8set4EbmrkwEPl+ric7R2Ou61ydG5kWYqjQqDwsNvqxtdmcasE6HPtXywPVAKqDd0FbJIxJTctXPqJfMAYFeoaoS7mGA==; 24:FBeqv7q+2LwXggTu79pukjr1NYVNr08KdW7QcIUig07mH2Gg9MGneGNt4xz8lqkauqxD3qmmSPeUEZW74lerkbXWlxZAjWxDktgsTnjWA9g=; 7:PAHviBb+9WKHzErZXbAv3Ra78oDQ550mwX64m/FQRu6bmQJscHDksh7K0Mtq3ducmAmkDrJteICMxBM2zSFCQvxnCmE6v0XifGiCc4rL18Y8KjQoKfq9Yy3zriq+qy8WkNmO9cGH/cwKmz7StUV4mW7A0kA7UBrv3G7vDUpvbqr4vvC63nx5JzPXK7IfaVOeFLB2/r7H3ZVVZgXd/+Rk6FEH/259rxrn6WqT35K7drY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2017 03:22:33.5154 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3104 Subject: Re: [dpdk-dev] [PATCH v9 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: Fri, 06 Oct 2017 03:22:40 -0000 On Friday 06 October 2017 05:47 AM, Thomas Monjalon wrote: > 20/09/2017 13:23, Santosh Shukla: >> +/** Device driver supports iova as va */ >> +#define RTE_PCI_DRV_IOVA_AS_VA 0X0040 > This flag name is surprizing and the comment does not help. > For the comment: > "Device driver supports I/O virtual addressing" ? > For the flag: > RTE_PCI_DRV_IOVA ? Read [1]. V9 series went through evolution as a result of thorough review process. That name kept like above is - "Not for FUN", its for reason and its purpose to be explicit by saying that "driver need iova as va" mode. So as comment aligned on top says so. Aron suggested to remove [1] and squash into this patch and that I did. Your proposition is incorrect, Should says IOVA_AS_VA explicitly!. Request to follow work history, sorry I agains can't find you comment logical. [1] http://dpdk.org/dev/patchwork/patch/27000/ > [...] >> /* >> - * Get iommu class of pci devices on the bus. > This line has been added in previous patch. > Please fix it earlier. What to fix? Be more explicit, can;t understand your comment. > [...] >> +/* >> + * Any one of the device has iova as va >> + */ >> +static inline int >> +pci_device_has_iova_va(void) > The name of this function does not suggest that it scans > every devices. Its not scanning, It search for kdrv match. You misunderstood. disagree. >> +{ >> + 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; >> + } > This is the reason of exporting the match function? > (note: match() is bus driver function, so it should not be exported) > Just because you get every devices without driver filtering? I disagree, It is a bus function abstraction code w.r.t iommu class of device, in case you missed reading source code and Implementation is correct. That needs exporting rte_pci_match(). Or else write code and show your code snippet as illustration, I doubt that you really understood this whole topic and its design theme. Thanks. > There should be a better solution. > Please try to compare drv with dev->driver. >