From mboxrd@z Thu Jan 1 00:00:00 1970 From: dwoods@ezchip.com (David Woods) Date: Fri, 20 Nov 2015 11:20:49 -0500 Subject: [PATCH v3] arm64: Add support for PTE contiguous bit. In-Reply-To: <5D0C7112-063F-4116-9585-ADF4ADF97AAE@gmail.com> References: <1447952231-17631-1-git-send-email-dwoods@ezchip.com> <5D0C7112-063F-4116-9585-ADF4ADF97AAE@gmail.com> Message-ID: <564F4861.5020002@ezchip.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 11/20/2015 05:07 AM, yalin wang wrote: >> + >> +void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, >> + pte_t *ptep, pte_t pte) >> +{ >> + size_t pgsize; >> + int i; >> + int ncontig = find_num_contig(mm, addr, ptep, pte, &pgsize); >> + unsigned long pfn; >> + pgprot_t hugeprot; >> + >> + if (ncontig == 1) { >> + set_pte_at(mm, addr, ptep, pte); >> + return; >> + } >> + >> + pfn = pte_pfn(pte); >> + hugeprot = __pgprot(pte_val(pfn_pte(pfn, 0) ^ pte_val(pte))); > is this should be pte_val(pfn_pte(pfn, 0)) ^ pte_val(pte) ? > The code generated is identical either way, but I agree your way looks better. -Dave From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by kanga.kvack.org (Postfix) with ESMTP id D068A6B0038 for ; Fri, 20 Nov 2015 11:21:05 -0500 (EST) Received: by wmww144 with SMTP id w144so27540945wmw.0 for ; Fri, 20 Nov 2015 08:21:05 -0800 (PST) Received: from emea01-db3-obe.outbound.protection.outlook.com (mail-db3on0054.outbound.protection.outlook.com. [157.55.234.54]) by mx.google.com with ESMTPS id dc7si409583wjc.14.2015.11.20.08.21.04 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 20 Nov 2015 08:21:04 -0800 (PST) Subject: Re: [PATCH v3] arm64: Add support for PTE contiguous bit. References: <1447952231-17631-1-git-send-email-dwoods@ezchip.com> <5D0C7112-063F-4116-9585-ADF4ADF97AAE@gmail.com> From: David Woods Message-ID: <564F4861.5020002@ezchip.com> Date: Fri, 20 Nov 2015 11:20:49 -0500 MIME-Version: 1.0 In-Reply-To: <5D0C7112-063F-4116-9585-ADF4ADF97AAE@gmail.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: yalin wang Cc: catalin.marinas@arm.com, will.deacon@arm.com, steve.capper@linaro.org, jeremy.linton@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, cmetcalf@ezchip.com On 11/20/2015 05:07 AM, yalin wang wrote: >> + >> +void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, >> + pte_t *ptep, pte_t pte) >> +{ >> + size_t pgsize; >> + int i; >> + int ncontig = find_num_contig(mm, addr, ptep, pte, &pgsize); >> + unsigned long pfn; >> + pgprot_t hugeprot; >> + >> + if (ncontig == 1) { >> + set_pte_at(mm, addr, ptep, pte); >> + return; >> + } >> + >> + pfn = pte_pfn(pte); >> + hugeprot = __pgprot(pte_val(pfn_pte(pfn, 0) ^ pte_val(pte))); > is this should be pte_val(pfn_pte(pfn, 0)) ^ pte_val(pte) ? > The code generated is identical either way, but I agree your way looks better. -Dave -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760250AbbKTQVJ (ORCPT ); Fri, 20 Nov 2015 11:21:09 -0500 Received: from mail-am1on0084.outbound.protection.outlook.com ([157.56.112.84]:17275 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750874AbbKTQVG (ORCPT ); Fri, 20 Nov 2015 11:21:06 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dwoods@ezchip.com; Subject: Re: [PATCH v3] arm64: Add support for PTE contiguous bit. To: yalin wang References: <1447952231-17631-1-git-send-email-dwoods@ezchip.com> <5D0C7112-063F-4116-9585-ADF4ADF97AAE@gmail.com> CC: , , , , , , , From: David Woods Message-ID: <564F4861.5020002@ezchip.com> Date: Fri, 20 Nov 2015 11:20:49 -0500 User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <5D0C7112-063F-4116-9585-ADF4ADF97AAE@gmail.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [12.216.194.146] X-ClientProxiedBy: CY1PR21CA0085.namprd21.prod.outlook.com (25.164.213.11) To AM2PR02MB0433.eurprd02.prod.outlook.com (25.160.54.27) X-Microsoft-Exchange-Diagnostics: 1;AM2PR02MB0433;2:pIFxGg7KX2xBEVSJB0Uw+QmxTmX6tgp1uQLt24AI5Stlbq8WT7VBZdY6rYVYZVpUJoJDXuXiweuUFGiUXVxThx4YRFg4gwtX/ZgQNiu2CP68X9By3hYpE8CnWIZMWoz+BP2UMsnfCmTyqx3KZVQe0opbreZOtS2Ln/vOSQv7y+o=;3:vdwpK+kBJYHA1fec0MhZN71lg76fUDpycERxudU1rDnW81h06zpcU4rXUPinrv3GUwl/80eaTN5jFrbnwOG5LSV5GdEKUs28tAj6zKqFwMn6snWUymLtUhGB+YoOQNnGj4b6k/tFXIKAPWY0rgtR/w==;25:J6O0KgsiAjRmJbnVmPB3Unx4n5ZeK+5RPq55y2iadP/8BU+8hzirvsLpXkyPW8v15/UsSleKEyLjircrixwWShW0ZDqIOVgT5ZUP7kRmkVjI87fS92lWWek8B3sKr30Ck94eJx3nhhgygyDGgYjQtxyt2KqLFnCTkMmwZjIuCyNfAZbiLixQSL1keR+/m9qW/SrI8WXGHb1dbM9AnW02EOqsThNrRu64nKW7BQg4EV8PQQNQgk36zM2k4aZ4EKxWGERzjHOaWm9Jvwxidn3Itg==;20:BfOfh2TzM8Sqo08XR/xGxY84qj86dryRDUX7BK+8AlQVJ5ZxGtYYEG/KFw/vZ+Ez/7K4yF3IAZXgrgfaVPnYF27MvRd0tS6c/h8isWw/N21zPNV6yexgsJBvFW/0gCes+ZR1yxnILnu5AlUi2SJU/wFTP0k8f/qB+EwJKAMfP2g= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM2PR02MB0433; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046);SRVR:AM2PR02MB0433;BCL:0;PCL:0;RULEID:;SRVR:AM2PR02MB0433; X-Microsoft-Exchange-Diagnostics: 1;AM2PR02MB0433;4:dHxOvX7UwiKKSlFNsNkbccPd9jHbcIPLFcoUuNo1vr3S85UrXeoC+ogaGoU1K1sRYp+NfIz/Va+0bdaPrMjbGSn/4/NP79haLT2XfuHE0RPgo0Jzxsnhk2OwJEJ56MGCwV7g7PvBK47K6NajKg/2zBZmdjwNCLGuwySLJ6xYttrzKJHneyAHiiHEMwQ2E0rTmkYFdN6Zm+SQY0CwVOj593SWjVBtOxoCugGO12dH+s5s4P3BPF9krG7CAtO4IWlIgCc7GlOpmYD9rLHlRP6shGkGUVFm+M5bP6+YU6zf1+v3gW/c7rpubafkaflZl3Rlb5M6pNCSpxz/Des7pqOfgoPsdC0U6+8Het8MzalKRutz24fOt/5FQ1jIe/HrJtKb+obwAUKDHgnOV0XN/D+wsQ== X-Forefront-PRVS: 07665BE9D1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(189002)(377454003)(199003)(479174004)(24454002)(47776003)(97736004)(50986999)(64126003)(107886002)(65816999)(87266999)(23746002)(2950100001)(76176999)(59896002)(5001960100002)(110136002)(4001350100001)(86362001)(87976001)(5004730100002)(81156007)(5008740100001)(40100003)(83506001)(42186005)(5007970100001)(122386002)(33656002)(5001920100001)(6116002)(230700001)(4001430100002)(189998001)(92566002)(106356001)(3846002)(65806001)(54356999)(80316001)(105586002)(66066001)(77096005)(65956001)(586003)(101416001)(36756003)(50466002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM2PR02MB0433;H:[10.7.0.42];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;AM2PR02MB0433;23:dHBaVwlyuvTgly/PmEioTVTiROoh7bNW+cZtW?= =?Windows-1252?Q?VkVszlSJ1Kc62T2pCasy04M9CMCNMz0ZjE2eLhqOUqLOqqhON2W1bb+N?= =?Windows-1252?Q?IahUpLvCn4USbQ4KNTf0y1G0mtTtRcj6tgYgPtixoIYsAs75nCU0Tvcu?= =?Windows-1252?Q?O4MwNjGoZh8z203h1vJ+BH67bqByCfVc4en9JU6huooCCalD8Bi1dRY3?= =?Windows-1252?Q?1abE/zLZZ9sNg7dW7xmBCoxaiPxCrkkbPZE+ZilsyeEBxByD2EAiMZIQ?= =?Windows-1252?Q?z3myGis7K+2XnsiVCiDiNIcvKuMHbwMnmaZCuLJd5cYyktqvRbGR1BBh?= =?Windows-1252?Q?3qk3nOx/deJoa2qUJyfYV4c1p8ZZdm5O1MhqjRIJhwUKfEcsJSNobqnG?= =?Windows-1252?Q?aWEBmnGqJIvR83FXkbe5ATNoIk1MMF7IBSoD5L2NEqzTR05aFbRxvkqF?= =?Windows-1252?Q?Y/R/Y90sxrY7veMNcSPMhuyLOfm5DfZIQMscXcf2kpjFEPGSPeF7lbde?= =?Windows-1252?Q?VHtOcZ550UNan0KQ+nVBbrNJCI0iz5maMKZ97/PfEab8G3mWrW5VL61M?= =?Windows-1252?Q?7UeWyPb2S8Ihdi7aUe4B4XcIHP5zalYZnPtGXk4GHhrKFmJGP1FbjV4K?= =?Windows-1252?Q?fPt/SIFJP/rYX3yiFxo1YMeYGmZ7Ksg3tKFlngxt2Nbt1XU6UP0g7wTC?= =?Windows-1252?Q?ZZHEE6ct8TnbXi2SXZJ8CzWaC2iWRJYXKAACzapt/Z7267oPUk3o4psU?= =?Windows-1252?Q?Jsj8JnEBA0IJjsIRJeQFlhdKao3nHiP+FCRpv9Cjv9XlgwB3DzJy3BAo?= =?Windows-1252?Q?YIOXANyTJLqjJpedXVMfD18GxlZmw5U0QQvsmbd8Z8tnAiSabTptTOhr?= =?Windows-1252?Q?rL8nDA+lg9V023UdDEZQvh5YLwkHaZWcDlrHV3TmdioXJ/PGrBCX6oKw?= =?Windows-1252?Q?x5NeifdkdopHf+gKaqVpD7++384ldFSBYN1fKqGoHDl286Dj6xMq+TjF?= =?Windows-1252?Q?shvylYj9LAKc25TyhhgLnTvIfb5NF2Gp6PcoT2vk5RV4y4qGvoMS3DUT?= =?Windows-1252?Q?QCik2oHoGWZH++BUrA2+oYJMtL5+ePeS4ECXAB5Iyfav53i7pVVFXcj3?= =?Windows-1252?Q?ar7UfOhRgbptunTcxMj+BK1quT20Kpz3ZpyTZXwPWSc/N/FbboxsiY4S?= =?Windows-1252?Q?PxReFUg+M6+OhgdwY2yXyVPIfI8MuKYwvu+wLwQDKZxH0EGfOpNFMzqQ?= =?Windows-1252?Q?E4agF6XHYcY2gAJ/Fr7UNNDB3mbDlYIGxKnR9Ansl+xc3mTI3zJI3Wgb?= =?Windows-1252?Q?g2G5HGIr02P7SuB5ZiUKcAzgHnENpE2gaVoOkLSa43nFBuO1XE9vrTtc?= =?Windows-1252?Q?zTWscinW/ISprXlAEwO7iaaMjXYCHyTPnC0zQ2bAuYvl9t3nxKwKLM+X?= =?Windows-1252?Q?mr063Yi3WyflqmyU+ha?= X-Microsoft-Exchange-Diagnostics: 1;AM2PR02MB0433;5:OZbJIGWWIJItjVqbwYhixfQ31TSLmc70m68hyhoYSJbdgAMWLuwRjaGt6Ei/L8ZDfCE8y7ffGyj/DVv28prr9dPSHbXHu5bD7Tt3ZhFbKhZdyMMInGsEYGfHbfnZA97LOHjj6YRAXctijpbm7vFHlw==;24:mfuKNw/nyAmLMLlkzuncePaM/hbVOGcLlnHI8KqUp0Eb2+wB4LxozHC9nId24KhxKaw051ZD+f9/x8k8AXGJP3Bn8sSpBRVjPT8VtJF0DeY=;20:tp8DKUTq6o63IIBUJWw7aW32nyIuYUbPcEteRIdK5fflcWZ13r1YxRIA3E4Cn5F+Ts1f8qkoIeJtO4vOR2h7FQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2015 16:21:01.9865 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR02MB0433 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/20/2015 05:07 AM, yalin wang wrote: >> + >> +void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, >> + pte_t *ptep, pte_t pte) >> +{ >> + size_t pgsize; >> + int i; >> + int ncontig = find_num_contig(mm, addr, ptep, pte, &pgsize); >> + unsigned long pfn; >> + pgprot_t hugeprot; >> + >> + if (ncontig == 1) { >> + set_pte_at(mm, addr, ptep, pte); >> + return; >> + } >> + >> + pfn = pte_pfn(pte); >> + hugeprot = __pgprot(pte_val(pfn_pte(pfn, 0) ^ pte_val(pte))); > is this should be pte_val(pfn_pte(pfn, 0)) ^ pte_val(pte) ? > The code generated is identical either way, but I agree your way looks better. -Dave