From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0044.outbound.protection.outlook.com [104.47.41.44]) by dpdk.org (Postfix) with ESMTP id 48E87AA9B; Mon, 2 Apr 2018 15:02:39 +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=blbrLVQsk2fF1gW/qLGJJEeal5Cg7fhYBnnnsqCxyvg=; b=XZ0q3LfrnIJ8QU1hke6JdfngFAkGMJy775LemlGn7rAQUN21dRzkglRUDhQ/z4xMaw0XAREVfx5aSfvNHfGchW2aW7DhDmLr8WlTA+98yVKRRHkZ24guEoBX2dg4yIyEQjESaSbXf+jAf6Ay14iT2F8mT0MLbFRvDNbSPAqtb6M= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from [192.168.0.106] (103.76.56.167) by BY1PR0701MB1894.namprd07.prod.outlook.com (2a01:111:e400:51ab::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.631.10; Mon, 2 Apr 2018 13:02:34 +0000 To: "Burakov, Anatoly" , dev@dpdk.org Cc: thomas@monjalon.net, stable@dpdk.org References: <37c2e329be49799fae8328e4dd93e5c95da3d326.1522585461.git.anatoly.burakov@intel.com> <4868d2ccaffa1ae0d793fe10623d3e303a514ccf.1522585461.git.anatoly.burakov@intel.com> <21509d3e-fc7f-bf00-ee7c-fa20b41ac228@caviumnetworks.com> From: santosh Message-ID: Date: Mon, 2 Apr 2018 18:32:10 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Originating-IP: [103.76.56.167] X-ClientProxiedBy: SG2PR02CA0002.apcprd02.prod.outlook.com (2603:1096:3:17::14) To BY1PR0701MB1894.namprd07.prod.outlook.com (2a01:111:e400:51ab::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b342e6b0-12ed-4590-556b-08d5989a01b9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:BY1PR0701MB1894; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1894; 3:/WautrIpi+X48SKWZjlLnJ4IqizgXCfjlxpE1pqBMVN10H9j6jSWlPVP5mxkxBJN72GntQpoFbEV2lmDvPeORfLH/f465SuhSf/OyzSm5/2kGZ8F/HRyfWm561ecW6Q2wvE9/MHDi1prUQ3KOeCYmuY+DdAm0eupgwpF0U4inqGb4c/HqS+yTM3F2u2ldav5vLNZlcqwUqgGj0QCyBChT5GsUOMx85gqvbKsUFbI7xzf2MmJEfuKG+qmAbdnzdxy; 25:baxFq3qjfoEDmWrs8kj4ujLBe4eH7BhpDieQ1fgxmnfvVOu4J70duv70UAggS2gd3hpgnycNAwsnDhj8wvXmpScY2ShE9L49Y6BAZL0WamsTvkVEuQHOtFu9ng6Xm5EhUVTYq475eLDEmvH3pn7jIPkGhvISSi6I7xcqk73VAF8c9ZKNRrlHI8OPNJva1rVwlejU358aQbtvSpkUXCr60HHVH9o96M73OzVR5sgArAr3K6WmPBns601p6+iGXZCqCcPdy3su8Rp6zZ2U3mfwG+FtA1Uz4zjU5cJmWrg55tpsekINv/XLRsBqA7/4ger5ZYuaMaBS6AAdhfU+d8gNow==; 31:+0t1ztD5LyDcgC2wbk/Eqc7A18FXMOHWPHxbCruUiYAsnlE3rmhjybk4UyZNArkOSDbMHYvtqiM9Di/7b5Wo/tLdil2U+kng4U8njhaySj/Tjyge1X+B3ZN1CZp/7FT0K48Lh9GkC41I4y8cTKLoP/XPF0YqdV7r9APlPDtEM1QPLPPm9EFjyLD4kFs9xtQkQCoH1cxjw3mCcFsm10KqDHOdstqf9WmHwT50vEOikEM= X-MS-TrafficTypeDiagnostic: BY1PR0701MB1894: X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1894; 20:kGnqHxejIdcaOTdnCYRJnNyMOMTjKq38C3XYqCLi66OnWtaivF7q/N75CeVGXMt4j/AcB5F2F9FyMMkFwhur3peE+9G4UqhBVZe5kIlT+7gSH3AnSAdnAx44f8NQqWu7gsZ22n+ykcRARRzPNSw5RAKtztO6dh1IxsFLwNK1P+aZq3Iool9XEorwUf6pBWLFA2I4d2sJX/tlkDiaePpKRX1h7vj7IQ7uauDKJrAiFIgV5gCDNKsz1UvuOUDpcVrUbD0V/eh8Ji43zmZKttgn4I1S29A+CQW51qOQXehnkrRx9+Xvx1kPiAhUFfywM8NWXYQfLLfeTXpzipqobYAkRdsKw8nhJZacd9985jCFgLbJIy5u0cfQzUeuv0R38Ff3dpTKzdd4Gm4WmeCGtnIr9lPuiQdO+JzyqcL7WLBo4QmMkjzxyaK9S93qAV48qhmaGyWuCl0rtnZ6FLagofmtQ+jlKfQISI/a4MTX/GxrcI2SYUzHclxuA34A1VFG66p4u0i+yKVhp+lUCmUVQyCXxOOL6okwJuRn0G4i3spURA9iOK8ff9mDEIMPgoFtYe4d9du6wTDRV5qP/B5DGuC43zUeKrUA6d/X5ra/xzc8WQ0=; 4:L2+YLn9+CaafOQ3/aXmhpXxlGxQ1jj/kazesKqfgvdj/v8dAgs+UlOuKf3GCdpsadYIiuxF7PhYqjbQn12beucqOVci+qGENC6nSD+PyTMW+D9mEpFrgk0NUDo1j67x+biNtFwG9olDKbhFNdRMZ5vo6o6AO4xNaZOGQQbgGTmBKml5lyQrGTi6jCe166ajp3lc13KIB/HppP4h6SmymtNb9dQQ4Mat0xhS2MLT/jN3aeFwrbMTx88RN14rYzh+gXAfr0q+x6H64Jh8D3Tywg54SbySNig4EL3TZewqs4fu9tbvPQjCh1OqLsygrrCSU X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231221)(944501327)(52105095)(10201501046)(3002001)(93006095)(6041310)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:BY1PR0701MB1894; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1894; X-Forefront-PRVS: 0630013541 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(39850400004)(396003)(366004)(39380400002)(376002)(346002)(189003)(199004)(2906002)(2870700001)(6116002)(3846002)(478600001)(186003)(31696002)(26005)(77096007)(42882007)(386003)(16526019)(53546011)(68736007)(486005)(956004)(65826007)(476003)(93886005)(5660300001)(305945005)(59450400001)(2616005)(11346002)(446003)(16576012)(316002)(7736002)(486005)(65956001)(31686004)(97736004)(6246003)(36756003)(106356001)(6486002)(47776003)(229853002)(76176011)(81156014)(6666003)(4326008)(65806001)(72206003)(53936002)(66066001)(117156002)(64126003)(81166006)(58126008)(105586002)(8676002)(52116002)(25786009)(52146003)(50466002)(8936002)(23676004)(2486003)(86152003); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1894; H:[192.168.0.106]; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjA3MDFNQjE4OTQ7MjM6VkRTV2VNZkRsYTlxdzlib2tYb0hvWTZO?= =?utf-8?B?RVVwZk5ORVQrVnhoaGdxVXFnNDBYNmRZKy90bHZZcnhHNEl5S1pWcUJnQU8w?= =?utf-8?B?WWF3NUdZUlM3L3JOSzU5OUpENlB1QnViRkdKYTZEak1oTUowZTV5U0FZaTUr?= =?utf-8?B?Rmdrc1dGYXgvTHQxR0hzcnprdXMwTGVuMkxwTDlPZGp6QjJwZmRrTTZKbjVz?= =?utf-8?B?cjdXdkZ1c1pCQlBzYVhPclU2aWJzbnZPdHI4b2lRN2JKTmFxOTNpSVcxbDZr?= =?utf-8?B?VEpDb251UjkrQ3BXb3lmcSsyRVV4RmU3c2NaUzhTZk44NkFwSnAzSjBseUVU?= =?utf-8?B?Y3o4YTZHZnJ5SjBQaTJHTXR2TUtZeG94djVCb0RSaGVSNnVDbythNUNQNnJT?= =?utf-8?B?dFRiN3NkZjFKQ09BSzUyQTY3em0xb0NjbitPRVdwL0pvYlp1TmRTV3pES1ZM?= =?utf-8?B?cHBPWjl2U1FlanIvNWJ5djJsK0RFTGt3UDA4UEVBTmJ2UXE0cHNnMnRJWDUy?= =?utf-8?B?QWNad0VleHJsUmFLNUVGc0pKVzB2eU40T241bmRNdTB4Zm5SWTFHZ2VyVEVk?= =?utf-8?B?WE12Skp6cFArVng1Y1gxWm5hNXUyS0FqUU0xTkU0QjdXMjJ6UGU4VjJ4cTI3?= =?utf-8?B?L2V5L1JCcmVNUUQ3RXhHQm1CY0RhVXhRNVNSanB5WFFUWG1NNkhoT1djVVps?= =?utf-8?B?SUdoSUN1Z1plOWpkamY5MGNQV2RxNlg4NjdmQ1hBUUtSUkpaTmYxeUhCNWJB?= =?utf-8?B?U3FwREw4cEQ3VHd3QUZjT1lOc1YyZzVjcms4WTlhL3owc0NHREt4bUUzZHEy?= =?utf-8?B?UHpQVWk3dHFxZC9uWit4NDB2TzBaYlBxem9sVlRnSjlGSVNEdUllN3dnZ3kv?= =?utf-8?B?UVJRUVZxNys1Y1dEZExobmNOYVA2Tk9WZFg2dmd0aVduNFhXdklwQVpSQWFu?= =?utf-8?B?cnBZVDc0YWNISkwxRko2cldyU2lWb2ZsNUhRc2tteXNDWUFVZytJaVVhV3dl?= =?utf-8?B?bUgyU3RTY04wT3RlWnkyNVJKUGw1Vi9kdzdaR1pmMnJvc3cwMkw5MkRKaHhF?= =?utf-8?B?dEJTektZVE1CL0JKNURrNHF0L1N3dUwrZDNSTDRkRTl4bjNtTWlkNzE1aE9Z?= =?utf-8?B?dS9GQWRaMjVkaTlJWHNyMTNDMXhwN2EwbURPQkhMczNmNnNhWXdmeG1Hb1Nx?= =?utf-8?B?cmx3RHdmaWJ4TUxqK2hSRDdrYUkxWUpsWmNBWWtUblJXTmp6K0ZIU1JxUnBP?= =?utf-8?B?K1NvVG02dndDMGVrU1J1UXRDUldCNndScFlldlNkUERLck5pVkRIdXlldyt0?= =?utf-8?B?djBKQXFCeWw4NW9YMW9pS0s0NzEwcWYxN0pGWVVMLzlobzdXYUhPWXFjZ3By?= =?utf-8?B?ZGlVRjN0dmtDaFphbGt1Lzdwb0gyZ0FVWkpkUFlRbGZoSHJtTlNIM3hmZmxt?= =?utf-8?B?SnFrSHgvU3Z6NDhvR2pCcldLYVNqT0szN0JLd1o1M2VrNTZDSWlzbVJLMDRZ?= =?utf-8?B?a214Q0xkcEhMYS8yK3EzNkMvV1FXajRocTc5aG1TbzczMG5RTVV5TGRLR0wz?= =?utf-8?B?a2REV2VoRC9ZbERmaTREMEtvM1o3WUIzTzBTdWRhc0Z0ZGRJNWVOSlVqU1lo?= =?utf-8?B?UFFSMjgzb2gyUTVsSlVSMUdOdkhIazdoS2I2YStPUTdtOVNjOTFvbUJtY2xp?= =?utf-8?B?NkhKSTgwOW5BMHBFTXE1bTNia0pkR3ZkZ3ViL0JNcm1TVFpaZ3E3a0FiRWR5?= =?utf-8?B?T01oMDlDMkExVXE2bU9EdXIzZFo4VnNVeTgxay9IN0JBbnFsdHZ6Wkp4VHRJ?= =?utf-8?B?NnduRzI4bnVRVkNPdDhZYm9rMHBwQ2dwQUhhTU84ZHZyOEF5RG5odG1zYVh5?= =?utf-8?B?Yk5QUGs2YTdWdEs2YUVpVXJFR043RGlXSFM4b09RUmZNZ2FuNFA3QTBNKzBN?= =?utf-8?B?M1ZwNDE0eCtXY1l2dmhGRHNPWXZqTnIySlFEdVRUMWplRE53L29YVXRFU3N4?= =?utf-8?B?SHltYVBpWU1JeFZ2NGFxSGMxSTRsaXcwTlVPcVJhVG95SmpaNEkvR1ZiY3hi?= =?utf-8?Q?QxibYt9wncBAF2H+7g7l4xU+Dcq?= X-Microsoft-Antispam-Message-Info: yhM2ZdBrMy6qri7NsLJcbyVQNw5jGGAi9EYSyXgrJiqN7NpU03UDEhvp684mMoHXyl/wXZ5QbUTto0l3lL+KXY0HWVD/xKXbfz4E3UQoI6jJGESxLZcN1hcljnxM+y4U9Dzz1PrgwCx608oyQHCblNX/zrF+gN6NmbDiMh1du9KYpYHIMDGOFFAg6VEs0iLt X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1894; 6:Q/DF/9UehuCyWDjA6yW/oH6aebC5S+8f2T3u/sFiiHxVOXAq9gObKzCtat1LL24RzeVx5OY1JESMq8pD7soYoJ3g9AtfUtmKyJtBBZJ48zGK/iwcQVsZqqXsxhswl1TIU5WhAOSn+DXq2VAHtH0uCmf7m3MHLa+MIwPft7ad6GbMcNhCMMiNIBGbXmLAp/mMtBeo9cJoGHgp4U/bP4zLhxRYrR3NNycRAsj8hzV4gTAqgqqq3y808PcWE4fRD+QW9JQw1lL54ycGy9AJLitvzUrmWfipRv+O+dYws+tfPhlTo+dFgsXiDS/aquDXubiRQke5SCrpJTMVe2VAmh+JmJKCP/moNybzfR7920CCi1aeBebcKol/d4k50fFGptTI60CG7s1nUrBKmNYLOLpRQxHBXmOq0aT93Is03leEThi7SLssfMcr9sWEMh8GQJrBv2/HcRiMvuL9v/quPlPBIg==; 5:/UkCHXrLG/jhKBmZhdqm0w+LgDX4Sh23SMtj7xpJxVCnXkJJ16bFIDdIH1zA7ghltJ6oAzDWZoaIX7bkV8oWh7I2Cn8uMaXm/0z3xnJrqXESkEELrXQe3W8igYSGaOWvHkUoDtzZ2ufoias3HmpdVlyJc2uBZMktuFaJbXkiKxs=; 24:dy0XY3wPwtReyxxVgniPK6DwlUaGjOq67jAPM3lbEw1V0jsK9Q8ZlvFF30jXnbKhabJnyGkp3GhsoxK1ZEcOr6/OH29QDnMTFRqZ7bpMi/w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1894; 7:IeK/lA583uVC/Ah319+JCxOMFQ+Skh3ANaOmHEFU0STOyj+v4qPFZEgS1XXNh45xwd26K6iwAall4WPuT0A6RDbHE074jpE0aRevu6K+HU3Xflnx+aOwra2wu2tNEh0iI4ZlQjnADjazA5/fVgS6SmaHcLeUAsuwHa/NJBvXlFxAfwxAffoJ4fYufaO8TqKQP9/s0s+O2YcxlCe/u6dkMWEITpXZaO4EaMmU/SbcAslXBQVYC9EbsND+asPaboIg X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2018 13:02:34.6132 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b342e6b0-12ed-4590-556b-08d5989a01b9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1894 Subject: Re: [dpdk-dev] [PATCH 2/4] eal: do not use physical addresses in IOVA as VA 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: Mon, 02 Apr 2018 13:02:39 -0000 On Monday 02 April 2018 03:32 PM, Burakov, Anatoly wrote: > On 02-Apr-18 6:35 AM, santosh wrote: >> >> On Sunday 01 April 2018 05:56 PM, Anatoly Burakov wrote: >>> We already use VA addresses for IOVA purposes everywhere if we're in >>> RTE_IOVA_VA mode: >>>   1) rte_malloc_virt2phy()/rte_malloc_virt2iova() always return VA addresses >>>   2) Because of 1), memzone's IOVA is set to VA address on reserve >>>   3) Because of 2), mempool's IOVA addresses are set to VA addresses >>> >>> The only place where actual physical addresses are stored is in memsegs at >>> init time, but we're not using them anywhere, and there is no external API >>> to get those addresses (aside from manually iterating through memsegs), nor >>> should anyone care about them in RTE_IOVA_VA mode. >>> >>> So, fix EAL initialization to allocate VA-contiguous segments at the start >>> without regard for physical addresses (as if they weren't available), and >>> use VA to set final IOVA addresses for all pages. >>> >>> Fixes: 62196f4e0941 ("mem: rename address mapping function to IOVA") >>> Cc: thomas@monjalon.net >>> Cc: stable@dpdk.org >>> >>> Signed-off-by: Anatoly Burakov >>> --- >>>   lib/librte_eal/linuxapp/eal/eal_memory.c | 6 +++++- >>>   1 file changed, 5 insertions(+), 1 deletion(-) >>> >>> diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c >>> index 38853b7..ecf375b 100644 >>> --- a/lib/librte_eal/linuxapp/eal/eal_memory.c >>> +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c >>> @@ -473,6 +473,9 @@ map_all_hugepages(struct hugepage_file *hugepg_tbl, struct hugepage_info *hpi, >>>               hugepg_tbl[i].orig_va = virtaddr; >>>           } >>>           else { >>> +            /* rewrite physical addresses in IOVA as VA mode */ >>> +            if (rte_eal_iova_mode() == RTE_IOVA_VA) >>> +                hugepg_tbl[i].physaddr = (uintptr_t)virtaddr; >>>               hugepg_tbl[i].final_va = virtaddr; >>>           } >>>   @@ -1091,7 +1094,8 @@ rte_eal_hugepage_init(void) >>>                   continue; >>>           } >>>   -        if (phys_addrs_available) { >>> +        if (phys_addrs_available && >>> +                rte_eal_iova_mode() != RTE_IOVA_VA) { >> >> Also can be done like below: >> if (phys_addrs_available) >>     /* find physical addresses for each hugepage */ >>     if (find_iovaaddrs(&tmp_hp[hp_offset], hpi) < 0) { >> >> such that; >> find_iovaaddrs() --> rte_mem_virt2iova(). >> >> That way avoid iova check in above if loop. >> does that make sense? >> Thanks. >> [...] >> > > Hi, > > That was the initial implementation, however it doesn't work because we do two mappings, original and final, and physical addresses are found during original mappings (meaning, their VA's will be all over the place). We are interested in final VA as IOVA (after all of the sorting and figuring out which segments are contiguous), hence the current implementation. > Ok. Whole series, Acked-by: Santosh Shukla