From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0085.outbound.protection.outlook.com [104.47.32.85]) by dpdk.org (Postfix) with ESMTP id D66B7199B0 for ; Wed, 20 Sep 2017 13:25:21 +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=z8aDO1/Ln8ADYiD4vaQ4waddnQNm3nNPLLaICVa7qHA=; b=Eqbd4lO7ucKWFFHqxAA0rQnjeWKtC04nIODwe8T5WFK9JitCp1H2ffrub/DBnLAl5i7i9ZHFAkNf/nQknEPTaPaIp9mpbXcnZ8+FljFWVIkVcy3PXfoGCg+YYDppNcaND0lCZYP9IJvJ7iqQDP3xPWL950k1ut4xPAu75P955lc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from localhost.localdomain (111.93.218.67) by DM5PR07MB3098.namprd07.prod.outlook.com (10.172.85.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Wed, 20 Sep 2017 11:25:15 +0000 From: Santosh Shukla To: dev@dpdk.org Cc: olivier.matz@6wind.com, thomas@monjalon.net, 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, Santosh Shukla Date: Wed, 20 Sep 2017 16:53:53 +0530 Message-Id: <20170920112356.17629-7-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170920112356.17629-1-santosh.shukla@caviumnetworks.com> References: <20170918104234.9149-1-santosh.shukla@caviumnetworks.com> <20170920112356.17629-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BM1PR01CA0076.INDPRD01.PROD.OUTLOOK.COM (10.174.208.144) To DM5PR07MB3098.namprd07.prod.outlook.com (10.172.85.8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 877b74f9-8847-4fa8-d45d-08d5001a4711 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:DM5PR07MB3098; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 3:KHgYTtnjLEn2bhW6yU4U4qjcjrcIrwe5Yehaiz1ucgnbpAZNtnJnUsTFFR+ZBdbYpBVwtUjKjevpbpEq08caDd8KgX/V1wec0xgYIYHwZheI7Bex4TkPE/6KAmUkvgx13OEBNcmkELBQ7SHSCo7uMMupFORI/GcrUNzxQ3QSC7Ulq/IFxN0VJol4RSTWon6XN7EFju20h+GKFKkNqDL248WuFfWmFiNw2+3hpr7TVI/KUUXSCtLHSUDP+q8RGFbH; 25:Q4MdppnMra/5LiLvBmL2c/guhjEFaY5QfXKWOCggLIOQ+JYSy+e+cy4m5F3JTo4mrEbwzbvu39qddElihxOPwSiG+bH9nhR7jiU4Nv8ynQR3Sbgr9CCj7DtvH31QDkGMi4zrFnmW8HllGWeCaptrkUXswzCVNaLgzy5nl31gw00ozfCl//I7EbCElDDCcBTi8ha0u1E7l00GrzcDYeObNe70fga21ApL+ocTCuZTrTyPXcjoibCuenBduisSlHxpV68Hgp3gVuBZes+mbae3l1W6tje6rt956yPlqcB3Bd1Fu39ygqBmNsO2e0NTT5UWw4BQ4jABwa6mM7k45Pnlfw==; 31:9HmuK27Pp4R0/h1AXdiQPPy7K3C/9PCsaTL1/LxjqrijWTZciIkTXCcs7KyNbfTXwY3xik99otf4fOplNNlB5cbkr/uHKqMH3Hrf7ausEZhNB9qlicZOMjToyrq8PJsWHhG9iPpegnyLu7+ZimkSgRTltFtycIAni5zEMC0ONjqYLyT2V4zI1f4TV6DQkPOjd+q/PqxdU22X13wINx/+fxI1DM++X8LXGPC2XUOjHD8= X-MS-TrafficTypeDiagnostic: DM5PR07MB3098: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 20:euGhbKU8Bat4HEHm1FgeZdLl8293gZeANwn5LHBnNUMl3cXxZsnXFsvVv4qB7p0Mt2eL9VuhikcjXbcaIvg2OK2gbiYhEJb4fblm6+9q8FiinHtsYv7h0/KqL8wpFAmUP+gVGg0J/qkoFZn1qQCFefJUIHVDd8rBYiu/e3s4uD0I4gwsenHCCb8n/gsbx7/+3CM6UL9SBMGKkKMrXZZAT4kTF/0b6cP6EfGBZSAmOfnWgHGl3qSJ6vy4TbtH2ScHuJjJNLmeTRCsZMxT5skxWxWYz0SuEMZljWom37hoIDY1oikMjQxhapSLX/KdzFfJ08C653u6e8ntwzg+6w7wxZFzP+KWzWFUjmTPVT9lNNoJp1OIVzeIiDHjVVa2V7oZnJYNHd5ybIb7hDAtSvCIjat6qPuswg2CGLbDu2mpeHoFpZJSwBa+sgay2pSTslSne0tHJwu7BYB8u+/2k89tfsKT5MICSnX+loSM7N2Wcw4mq5JgF0vhC9m1FmKz8fXLlISUOvPugltEiUOxafXHBsswh4t3bokQ/aik6YHGWMTDG2LLqdTaH6CQBfZWj0mlIVSYPo/bpkxmJpO8KdZrm4S/KOyxEVyAzutKsvayIe4= 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)(100000703101)(100105400095)(93006095)(3002001)(6041248)(20161123564025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR07MB3098; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR07MB3098; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 4:IneHI249VxUt8dhMrDIkxoHLUL85TASFmLTmvwxzCqBM8gLDGIRw0qcTwDggidgAMlusIxV85RzaFW3+jQLegFRLS7Bn732MT5lwSyxmhbM5kIAIOxVNxwUwcYpRK4DO//YsXZoF5bBus1k6/y++BCUVBG94hxCrPiKZ7BxzP8ZOPa8+/8Z5F9pFsTzrWc6gxwk8zye6HAtD0XNtDnMK6aJ2QgFDXWvuzg5v2Rb99yOumnlF/bywMORZe1RnzZM2SEf3tqfVACaOsw9LGXALDB973CmN1f0JVVPtvGMmkoveNWxBfyKFQq+AIBsLx6gVeJBlv+HG/0AtLU3CRzGTyg== X-Forefront-PRVS: 04362AC73B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(346002)(376002)(189002)(199003)(66066001)(3846002)(106356001)(8936002)(7736002)(2361001)(33646002)(6506006)(2351001)(47776003)(25786009)(105586002)(53936002)(6116002)(316002)(36756003)(6486002)(107886003)(68736007)(5009440100003)(6666003)(101416001)(6512007)(81156014)(81166006)(97736004)(4326008)(50986999)(76176999)(16526017)(8676002)(2906002)(16586007)(189998001)(305945005)(478600001)(72206003)(2950100002)(5003940100001)(1076002)(48376002)(50226002)(6916009)(42882006)(50466002)(5660300001)(8656003)(7416002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3098; H:localhost.localdomain; 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: =?us-ascii?Q?1; DM5PR07MB3098; 23:z1Pdm2GFDhBluUKVwCY++FCrzoTlCQqP5K2YA8QKm?= =?us-ascii?Q?ercmvDF91uvnYz9OWX+e5QLwPRwAFJJFpKaZfG26N7yafGU+bB8YpoYgDs8X?= =?us-ascii?Q?3QFE2Gz9gm+037dS4UXlolFVKtzEZVzYyRk0lNI2bc6wXLWdjaMKk3y3fxiO?= =?us-ascii?Q?D+sWFfxBZ3RQOsdPshjMUITGDLrTeLjpDgeanKHNNECJmDC/IkHT8ANNjRcE?= =?us-ascii?Q?88lkn5wLW5qSEVxB3QJmYvXkRvmwMlCEBaQNGF6RFQHlYardtA/7wt93J8pE?= =?us-ascii?Q?K6UsQCfEz63qKOWvJrpJqYcifQ5q7wqp3iPhXze+71VzDiao4/9rOwwwzklA?= =?us-ascii?Q?tgK63RUepV/8kOLkbx7toHC7c8czf/YWPpXZ3BMNzLP4rNmVlf6NBDTPItTT?= =?us-ascii?Q?LdDTyuv52Hd8y6+sz9RdMbI+g/kF5osjlLykj/1X8bQhc4PbBKwYHDwDuQf7?= =?us-ascii?Q?Tt2h6qp9BZr3tLldccIR7Uvny1F6c3lirQUZWlOtRJgwZXiKoTZ3ZrIKkYJR?= =?us-ascii?Q?tnaeiPVmOoM6i8V8iKNBVSqRZ2bBkmM+VApO6mhlZjtY0KcpOVUIQHqseAlP?= =?us-ascii?Q?eD36fzvizXequri6Rn9l16rzgmcDT9RDm6Vx/0msIjD24nU7z/MAXonNDcvY?= =?us-ascii?Q?WhU31PJiImOjoZFuIkcdAx/WvcLeAtW+NocR+f3UPCwkO+vokiq9BD+Yg5zA?= =?us-ascii?Q?L3/StP0mM/iRr2twXK9ANhKvCX1RiQq/Lsq38KMQyvseFlG8DBfCQw+tXBlo?= =?us-ascii?Q?4K08MC9lUzUuVnZoq8tsN6T3JUaU40zLl6ISIcVHW9B5K+pjHhtJEUuxJ7tQ?= =?us-ascii?Q?JYCCWiBR5k9Xq0U0sYH+pJGA8Y+PdEPk7xuMgP2QT9xCkCYjMI2p2rgEj+Db?= =?us-ascii?Q?tkPBzw1VcbpwozdcE05tbsuiOE+AduusoKML2ZkigRY39ywxpCH7XLuKxw0O?= =?us-ascii?Q?OFJH8Tvml4ssKSr1HnunZenNp3+Y8v9hrGW4VH+HzY2z3Xk8DV9b6s7BzFwn?= =?us-ascii?Q?02R+wIk4ab1N4ChqdPgU/xoqjBx1dCwYci3fueb+N5GZhncYROXjnFZBwrzh?= =?us-ascii?Q?QDjd6lUygLNkFBazhNz/bri5nm8D/oPprdAct5c71s7QaPLFQA3GmZRc/zj3?= =?us-ascii?Q?/IfqHKeSL3c9IMlTKE1Bq5fdFZrmp/ezElrz1qWllt+AtuDc/dC4Le8+TtHN?= =?us-ascii?Q?499IyA6lcXNAcdw4NcFETCi88m/nfeEoXecTynr9b6DVDYFnMhowaiRMwHd5?= =?us-ascii?Q?+Qp9Ar7MHViSlBAG2Y=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 6:581qh74+Mjxz7mgJ2L1zzKBosxNkIlln+MugFtBvXBW3N+zWKLpQ3wisgH8MSlhMQXXTG2LvPIqYWS1QJgPsyIDGkQF8Svf6DvGoVfirJhmoPujhzNrLYEpjq0Mxzl/Y0lbanZ9zzJbdgIWhr9Kx0b2QihbJoOJQP8lq7XQ2mRCCSkrD49Pj0xhbOsz2JHB2YnOC5W9lJjARui6CvkDIkKz4eiCVbzQJXVMCjr6gyBViUf1/ED0N+ubTMAPyJHge+UWtD0xej5Gzd1UlSzqnUszo/BTvosTTdKMfZ6ZeBlkELRHdrw5KpSzmHmecvBJ/sT4GTt9BrQa5ivEslGofMg==; 5:O7fNYZobMx0OkMHXxuk4FO7VdM00XqTfCdIo+n3rt1GiNKXFZpZ9NWWKOKPDBisNVQn2U0ziG2j3PAmSvyWW5AqgnqW/XAGgoPcGkdiw6osoRZzhDMPCk7n4DTqWi6YAfEMC5XZtBlN7YR3CWZZ06Q==; 24:SjNRauEHsDOq68bx/wusrBHlmzAQLvS2i1EnBLFMQejSSUKI2sp2Imxp8gB3aiRZxg4UmfylTAHh4IbJGA0fogsDwyL3ROdP67lXf4XtCj4=; 7:OWe25P0DuMjH0vB52gkobma6E7k3LyjqzxuJsnvkrKs887EhTX2o6tHWXNTu0GuDz2GAN0HmwTuryhPhjzSilCAPb3/Z2+qtvcL9HkJNXG3ONjOFTyqIYx8SA8rPGKZJVmc0hBC3Ow+Hyvp8u+y9vT3/rVBRheSPy6Jr/atLf2MnqPExpr3i4Los5caIX2es++9orOrISvZG5cFl/aLX/0UyfBz3d0wenWf2kf1ycO8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2017 11:25:15.5074 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3098 Subject: [dpdk-dev] [PATCH v9 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: , X-List-Received-Date: Wed, 20 Sep 2017 11:25:22 -0000 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 Tested-by: Hemant Agrawal --- 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) { /* -- 2.14.1