From patchwork Thu Aug 31 03:26:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 28106 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 2BF7937AC; Thu, 31 Aug 2017 05:27:28 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0078.outbound.protection.outlook.com [104.47.36.78]) by dpdk.org (Postfix) with ESMTP id 0650737A8 for ; Thu, 31 Aug 2017 05:27:23 +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=0/eykR/Afe3MltzO6pNJIqNyTmEgVvCYqzph4O4D58U=; b=IROofj4fcp7kx/rsmSaOlMyR4zinQA+OadDhXniDYH9IastHJdrOCi/83aMe2uASjkrWIr/yLAOa4bEbD6vS5P7yGWONmDXD57oPvL9DIWPLJmB15Idjiu7jyEXq3jOJaizTg3dV09URsQBuNkRYldbd+MBW1vncMsHfP9EXqjI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from localhost.localdomain (111.93.218.67) by BN6PR07MB3089.namprd07.prod.outlook.com (10.172.105.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9; Thu, 31 Aug 2017 03:27:19 +0000 From: Santosh Shukla To: dev@dpdk.org Cc: thomas@monjalon.net, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, olivier.matz@6wind.com, maxime.coquelin@redhat.com, sergio.gonzalez.monroy@intel.com, bruce.richardson@intel.com, shreyansh.jain@nxp.com, gaetan.rivet@6wind.com, anatoly.burakov@intel.com, stephen@networkplumber.org, aconole@redhat.com, Santosh Shukla Date: Thu, 31 Aug 2017 03:26:15 +0000 Message-Id: <20170831032618.7120-7-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170831032618.7120-1-santosh.shukla@caviumnetworks.com> References: <20170814161059.6684-1-santosh.shukla@caviumnetworks.com> <20170831032618.7120-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: PN1PR01CA0118.INDPRD01.PROD.OUTLOOK.COM (10.174.144.34) To BN6PR07MB3089.namprd07.prod.outlook.com (10.172.105.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0b9d7710-db34-4ad5-bdcd-08d4f02031b0 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:BN6PR07MB3089; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 3:BOvWF658muRjHbL8wNy4dES5ye6+YybdFT8/P+5+ZvgKrVhlz5K+V2Wm4ZOHaTqDWXPDK6VSySFrtLWsY7YaUIOlIqP0wBrc7GVJc7Gc6c0CSTtlVtHyGBDqbjzIsSQCBp13cYDbzXvpY/+SFmY6G9XpCreXYoWRhIbMtByENPCXS0lL+8cNIQf23VKvq/oF5bt2e5S7N3ZhoNaIXcLfaEmk3G2U5czesvD58SgXGuduLZ1J3dTKvlBbMSiYVchI; 25:EAiS7SDO0+0a118kp+8cC1u571yBn0aK7caZ57Ni958n41U0KJoFYhCaH0yeL2aXQeNP898C8N6QHBLuVsrGNfFBO73I1ENG4yd2CoR1SjZOAgAt0Wq1foa/UTD4HCjYezCt/WsLm2iX6yOjyShtqTeLsqqmb4TpUJlzeYsRGbdRQ1c0n1rv8guTGA261Vk8p3tkP3mkfp8GkaGqMfeQy+DPkR+E75eXxXWUSyK7G4fjcJHVyPcnQZmXC0DpAvKjyX5qUdt+xUvMT6YY/hh4GomelnTk1Vy7+g08a5gh/+S6kNF2h+8uYzDixiBymo5nHDCnRqr7jfsw8k5gBcWqhQ==; 31:fkTtZLU0kWijpuxOugsSXbjdUh+9vqff0rsaQs7ayVcx1LBd6CetxRt/2L5DrW02GQ2/tPJos8naxHxG81hsQkh/MNPF8OrXrZg2ir69nct9MOYqaU+xRWe4qpVuNma+mHr0F5U3TXZOAGuerFVY1tubUxlZqxT9FT1eteYBqfs4ACflm+sekRABAXF+i+Gej3HUtUChWnrXIBf4de9f17ko56ZUrOsq/5FvPnfPE8Q= X-MS-TrafficTypeDiagnostic: BN6PR07MB3089: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 20:ZZliy5igGb9QaD41MEkkz75XihkC+ZPdNh1oK5ZD4EWmU+ni4wiKt7RnSFAJknxY1BErTXDoFw2Zturhn7dIbUANnqlRIW4fkHlPQV2jtzBcjy4TxhTt0hBQ1pAHIEanHVbTejCyAhweMsdKkNCih7u0Ih8CbR9sZ2yaZJu9JY1IP+VC5YFV+8hTdTIufvUlwvyMQccJ3zQdbuR6qhoHZajT8O731GcxV4GVdGLifmvJg9A7BQIoLdaZDSsNR19wAGHueZo9MHXvJexwNbRVI//dCN+KjonNokAhXnXLbFHiBXYmiBDfk53uUWZPbO9VEwXwmtv87o6lzxaQc/PG6KnpDkpaqwIicAcatz4W4uK7Bttg+G4wPyinGcc5bfk4Sn5VPScUeVaqogAMq9gqaII+8WCVPSV3agipexV1YWW3Bm9YDXRHROxTXQ3/MXHI8IuocTES1bjKyvw+kVAY30+ow1D6tIip3DW51yoJ+1o05dm386TUdliHzEZVwdyAQkQkTIu2n9GfHsxMBRN5bJOkwCBvT69+Jhch0tb8ir4ivUBf4mzC1OsLESuvrsNp/eGX0644tu6/zD8aGzCokEuSXhHvbcspaGD5hSpeILU=; 4:qLKqnltov/9Fc8SMispZRAq8YP7rqwLxQnvne3VnWCQUpenOke9jgrX7hF/lS1+y9Vv3SVApgQGkmLrdu2K/hF0GMpq4w5wjdVQzA9tquEO14C8lNTA8Rk6HLBGyRexeRUuLM9ea3OUDLnMilGSGrFbH/tv+C65KrXJRfT3Ap86R8P/wr53JuqAza0t5XN7nXjjzChnyAcMMJJtmaTxLUhMYWASb+wJZ1UejS2vntmuJXVa2YPL34n9PzZ3LzGFM 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)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3089; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3089; X-Forefront-PRVS: 04163EF38A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(199003)(189002)(81156014)(8936002)(81166006)(8676002)(7736002)(6666003)(5003940100001)(305945005)(2950100002)(7416002)(2906002)(6916009)(42882006)(76176999)(50986999)(101416001)(50226002)(5660300001)(6486002)(6506006)(48376002)(50466002)(72206003)(36756003)(97736004)(478600001)(189998001)(42186005)(2361001)(2351001)(33646002)(106356001)(105586002)(110136004)(107886003)(5009440100003)(8656003)(6512007)(53936002)(4326008)(68736007)(1076002)(6116002)(3846002)(66066001)(47776003)(25786009); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3089; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3089; 23:ylpei5+oyWdagvXK3HxHaH68ODF1lg98dOJHNkoQj?= GKPGcTo4hzKSGhEYEBFi4aOXFiRtuJjPhpCxzxBTv1H0K65NBAnSDBM6z2bU51JG37fKhl8WmNBaIqPoQTj0RmUXQODLdWKZb8UNy24DiALhLxJjTCiLDjaCEjkfvuIe+f4Y1vPU+MP38oKlUFalF+D7vLu7tqJOVAyp819Z3EtaHspRxFiK5j5AdBDICrjVYQ8WklfkskVIMois7EeTit6ZiY05Xa8/fOBZlOcSjfboDGYRjRuds5V0l53tLeurr0qoMr0QbMXXJ5YghiTOlgAS0ITmeb7mj3oQDy+2dWCOnu8mbF6CBMz3qLBMXnBePohtLUrCBML7OmvccBzIBD5mt0mSHLQqkjare6v/2d/GDRPyobXl2aGCJkLrqSv7R8Zxvu7/PcXgcDz3j9kYmTHIOpFRLu7QUUx0hnbmcckpkxk7/4Ks6u6i9RQXzKIECwIi6E56Q0Dd1u4RuF5FSlaWNUNC8VrvbfiPGqVRW9TiFol9B4QLYVbgNz+AzgkKDend2fA6Ryw/KYcWLjppJkQ7egFkdYLXWNFdbBaBsn5lngojpb4eVsUHWqff31p6mZ+dhwtmWnnHTmAIihm8P5ZPwDyz9FMARIUNvr44vA0BCIq9pTOIV1aQ+OxYSWLR72RhcMnEylNzPL6pKkg+MeI1FAVJxZzM4qYyOLjAlzg6Lwx4LpKngFHEr3LkcneJJJhyIRJ5QnDTAYURLkBbq3x/F5jE353rn7jOvJ96VvsdPbeTT6XMbRdbUs1GyPbho+N6HS82aWOZV6mymGVq98b9CdZMqMVlIw/sNW9S+YgE6Y3QByXA3Y+aiQKNz8l1+k0us9MWytrJVmiHHXYKPUpjIOjEWAkcmD9PyNImifjVafBDRm3Ci9jZIkSgk0rAiGij1y6d2/1Uo0FifNyXY5gi7t1mDZE0MVceuevqAI5QrYUFXDcZWXKOfTcn+fZp/qKjbMfC8zr2drijFTAvXd2WxDvWpx9Q2vhjHZ+AHiMbH6Fat0sv0d85A2N8GogwuYzmY8Z0Lnf7x3GadereFnlfv2l5ZO7EqIJa+Oq3ob+de+KMqNHgsnsCuIycN4ZTtZSBP0zJdWTWRSLorhjMzqsvylNomzHPDJ+JTc3RQ/zAjmxikETqNtDIchPsMk8avwzlWN3g3V8l1jSB1ythNTG X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 6:kQukps3ZNesKP0sr019lGHteuk/NrscHBN24k/3kwLjwGmSGXHRrvmBPIftI2JLImegQtONS+9q4v4pbGBu5P+puo4y4OIl3Gl1rZtjwucMIvNCP6kbIuO5lFd0/XOP7t5TUSo0gNa+MqxX6SH+2JIBAJjy1ip5ta4opOBFppb2Q1r+nFyYcqkMwEIeIoK1HVAYcrJDUgWyrr4egZBqEr7jG1Vz62x35/1N2hHEigDMdKiEPtu6Q1BHwgLOCGLpvt5fdqjpJSA0zu8nAZkSJARYeKuWNh3U5xKmbLVBjP9OTausDMFoe7dAMFSmPUTP2bHr8ExKxGGTaQTsJZ+KxHQ==; 5:IZySm8gIhrzqDzHlrh1f/WBUHezRVJL2o8mv1CRHIbm287R1W9II+DnnSD/CjTx3+HAfjJnIYClHMBH+2VJ0xHmvbJnKAeiYVQxqrNldxkwrPz+E2u/1RUq2Pasvxp/nFBfTotyLP3GUaT9iWJgEKA==; 24:RiKDbMF5Z/WIZ6uK893LPj6VFPNdt3LuD0Olvh8qaLGP5rOLKUjFQpDEeZMpuT+zOJv5y2atugBlA4887ZviBmqhyhpTsV30ZynGkEMCvxQ=; 7:EIzaRlZMTQFz6zH+4CdrJr5aNjQX8Ng4krWLAQLbRU11MmdJrJNXOfTTqrpJ9/0JnAGYagNlkRIPPyVbuY6FEJl5epxdwvxye9X9F7FXvV5Npvg/yOFthcguVL12wJwopq1SJB9dbibfDeCEHEfQLt5rATVamST5iCgjww2HtHgy14KrP92YxVff4PcGHjbD6ZYtpEHuT53LIv9gSGsbYjr2i25PGl6Nm39Hpel3Rcc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2017 03:27:19.2658 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3089 Subject: [dpdk-dev] [PATCH v7 6/9] eal: auto detect iova mode 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" For auto detection purpose: * Below calls moved up in the eal initialization order: - eal_option_device_parse - rte_bus_scan Based on the result of rte_bus_scan_iommu_class - select iova mapping mode. Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob Reviewed-by: Maxime Coquelin Reviewed-by: Anatoly Burakov --- v6 --> v7: - Moved eal_option_device_parse() up in then order of eal init. - Added run_once. (aaron suggestion). - squashed v6 series patch no. [08/12] & [09/12] into one patch (Aaron comment) lib/librte_eal/bsdapp/eal/eal.c | 27 ++++++++++++++++----------- lib/librte_eal/linuxapp/eal/eal.c | 27 ++++++++++++++++----------- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c index 07e72203f..f003f4c04 100644 --- a/lib/librte_eal/bsdapp/eal/eal.c +++ b/lib/librte_eal/bsdapp/eal/eal.c @@ -541,6 +541,22 @@ rte_eal_init(int argc, char **argv) return -1; } + if (eal_option_device_parse()) { + rte_errno = ENODEV; + rte_atomic32_clear(&run_once); + return -1; + } + + if (rte_bus_scan()) { + rte_eal_init_alert("Cannot scan the buses for devices\n"); + rte_errno = ENODEV; + rte_atomic32_clear(&run_once); + return -1; + } + + /* autodetect the iova mapping mode (default is iova_pa) */ + rte_eal_get_configuration()->iova_mode = rte_bus_get_iommu_class(); + if (internal_config.no_hugetlbfs == 0 && internal_config.process_type != RTE_PROC_SECONDARY && eal_hugepage_info_init() < 0) { @@ -620,17 +636,6 @@ rte_eal_init(int argc, char **argv) rte_config.master_lcore, thread_id, cpuset, ret == 0 ? "" : "..."); - if (eal_option_device_parse()) { - rte_errno = ENODEV; - return -1; - } - - if (rte_bus_scan()) { - rte_eal_init_alert("Cannot scan the buses for devices\n"); - rte_errno = ENODEV; - return -1; - } - RTE_LCORE_FOREACH_SLAVE(i) { /* diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index febbafdb3..f4901ffb6 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -798,6 +798,22 @@ rte_eal_init(int argc, char **argv) return -1; } + if (eal_option_device_parse()) { + rte_errno = ENODEV; + rte_atomic32_clear(&run_once); + return -1; + } + + if (rte_bus_scan()) { + rte_eal_init_alert("Cannot scan the buses for devices\n"); + rte_errno = ENODEV; + rte_atomic32_clear(&run_once); + return -1; + } + + /* autodetect the iova mapping mode (default is iova_pa) */ + rte_eal_get_configuration()->iova_mode = rte_bus_get_iommu_class(); + if (internal_config.no_hugetlbfs == 0 && internal_config.process_type != RTE_PROC_SECONDARY && internal_config.xen_dom0_support == 0 && @@ -895,17 +911,6 @@ rte_eal_init(int argc, char **argv) return -1; } - if (eal_option_device_parse()) { - rte_errno = ENODEV; - return -1; - } - - if (rte_bus_scan()) { - rte_eal_init_alert("Cannot scan the buses for devices\n"); - rte_errno = ENODEV; - return -1; - } - RTE_LCORE_FOREACH_SLAVE(i) { /*