From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751911AbdITQQT (ORCPT ); Wed, 20 Sep 2017 12:16:19 -0400 Received: from mail-sn1nam01on0083.outbound.protection.outlook.com ([104.47.32.83]:50784 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751701AbdITQQQ (ORCPT ); Wed, 20 Sep 2017 12:16:16 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Cc: brijesh.singh@amd.com, linux-kernel@vger.kernel.org, x86@kernel.org, kvm@vger.kernel.org, Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Andy Lutomirski , Tom Lendacky , Arnd Bergmann , Tejun Heo , Christoph Lameter , linux-arch@vger.kernel.org Subject: Re: [Part1 PATCH v4 15/17] percpu: introduce DEFINE_PER_CPU_UNENCRYPTED To: Borislav Petkov References: <20170916123418.37807-1-brijesh.singh@amd.com> <20170916123418.37807-16-brijesh.singh@amd.com> <20170919103906.GM4733@nazgul.tnic> <20170920073426.GA26073@nazgul.tnic> From: Brijesh Singh Message-ID: <62e57a05-cbcf-4727-bca2-af93b4c87ab2@amd.com> Date: Wed, 20 Sep 2017 11:16:10 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170920073426.GA26073@nazgul.tnic> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM5PR06CA0057.namprd06.prod.outlook.com (2603:10b6:3:37::19) To DM2PR12MB0156.namprd12.prod.outlook.com (2a01:111:e400:50ce::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dbba2b9e-7942-4ad1-1dbe-08d50042e9e1 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DM2PR12MB0156; X-Microsoft-Exchange-Diagnostics: 1;DM2PR12MB0156;3:ClcsVfoKHyJLAcpboE65dXdrW0vOjlNEedhT89gDDqmL5KITqB7F+M5g5dyxU50VKRRPyKZIEpA13sUBRI1JRcAkn31HxJ1mk48hBN9rpg5TxT5yYXV3yJZ8WxmYrAjMRhL4BbDTkinSOlaIN+gb+cKUGkCQRCCAlvouyam5wKm8Dvmcw2CL9tWfJ2cnsbDEcIeJCcVX+BimtwTU2IRHje09dWsqlN8osiSMgAXRF1+Qm6+ebcJIiHqWY24kLCTf;25:VcMjM9oyYkGukpzLCLLbVJ7CZacEv7k58LdKZiuBQonLF5rLHEbqZRVQe0SUg7TqKnLrygu24JskAHVxxQS6GcfggQ6kIeJyM3YbxpzzB8yFriqnzImBWcvOP+FYc9/0dy0AWPSy0awERn9EPc7QDYgglsyZiWdtZCwsBfPz6h1F2qQIu3no/u/ZwG/dyEoDXEPNCxzFAOvjXJrO4a1QVAgdcJYYOHLuXyabqL2DC/FWe4EGpe4fEunATAactYB4Hjig5NGsWFoeDx1NPPw7NfmlEZRqsXu6nErHByjpQh7x90CbP4G+tvssmMotuSoEZm3j1gpaYZ5DWOWpmnWtpQ==;31:lJYM1IcFx2rhybwhhGNNZ08z8Yw76USvZw/0SEvlYb9JY0nQpw1IenZRdueJp6HDyxyl/OvEuB83ioL9oB3EYBsVgsRJcOFiOEQ8AQeaUcDoSd2WgSnJFP0UjzDlcCXlYIzfOhKigbE1MliKrLv3rfYxXC/T/oeMucNsvSUojInPsMMzB0SRN5uEhp62ZkjK2PJB2NRSoJA/QNZcx08wXIqU4Xb9tfr49d86ebnrnIs= X-MS-TrafficTypeDiagnostic: DM2PR12MB0156: X-Microsoft-Exchange-Diagnostics: 1;DM2PR12MB0156;20:5kltw3HQcdVTOWvJGikTVAQ4Sv9cFWeE+BRly8Y3DLD3ukxKqijEieG6p/vgp+hYv16JzU3qmjCO4cbOZEZrz5AGH8W/V+rkzcvb5M3Csupmj3BkdNXSYuKgBbBskOdpLgqLmxyRz66zv1befDFTPEQeo7lAO32spvcUK6qPPHiq7MhMxC7/XyvxEYSeGFk+4tiFjEd4j0JM3PstsJE3h6J5X2kDf2zmN3Rto7udIa4absa8zNl0ghfSkPqbUBVQ1J+qaFbiHy06RkoHCTeUvVsN1+5sFqHIyP/uW5ikwOwQSarjnL7eVSKGviRVTbuLFEO63842nAvkr9g1e3ZFmJu4GxEXhSZUHArKMza1bjOsil7Uxi9W1FnbgUcOPCUv8c8MtuxMznAVaTEBllWpBpS3JqbqWGKcmmN7h8sYdDh32523zkOn/W4u6mw4gspBpo78Qev5Iihv+SG0Lv4X5JbnMUTA6jDioUDPTpEl4SzY3VX3NH7FYwlysm2xyFWG;4:NqLxeuzud4yaAJK4LoNH/mTOeWRTMUCGPVMLBddUwwjTVtf6NLs5XXwqt9XxsXIBJPrwEFhKMWYlLTwQugu7xgFRvYcm4H+MR8bqwMCvQiQ8de94tt/3U4J7e48HPQnBl3xicwGuFlDHqCoOkt1eRcan/XPMncrXX3gVIhf7pOFLa9IKOv71ELDe1orwAgcHTXJCL2/n6cTKmMxQi8OG4a1x6hcgRP1F3ytirIRy7fmO2zAsTrYvJuiIvrnPNqzh 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)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6055026)(6041248)(20161123562025)(20161123558100)(20161123555025)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM2PR12MB0156;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM2PR12MB0156; X-Forefront-PRVS: 04362AC73B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(39860400002)(346002)(376002)(377454003)(24454002)(199003)(189002)(81156014)(16526017)(93886005)(8676002)(23676002)(77096006)(16576012)(8936002)(58126008)(53546010)(316002)(53936002)(478600001)(83506001)(6246003)(97736004)(7416002)(230700001)(5660300001)(66066001)(31696002)(189998001)(4326008)(65826007)(47776003)(81166006)(50466002)(65956001)(65806001)(86362001)(64126003)(6486002)(6116002)(305945005)(68736007)(6916009)(2906002)(31686004)(2950100002)(76176999)(3846002)(229853002)(106356001)(54356999)(36756003)(33646002)(105586002)(50986999)(101416001)(25786009)(7736002)(54906003);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR12MB0156;H:[10.236.136.62];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjEyTUIwMTU2OzIzOkx5VFNLUzFvYmNsNGFqVG5FQlVGR0Rnam94?= =?utf-8?B?MElGQjV3YjNiazNQSlBNTzB6MGFWTk90NWZ2Qk4vcGhhRnM0UUcvRUw1RXMz?= =?utf-8?B?QTNnUE5kVjJqQUNqdytjMFV5RFZ3d2NKa0NKdjlnTmVtQ2hSN3F3WHFrRzJO?= =?utf-8?B?RUF5NzB2aGo4RmYyNStOMUVVRlVvL1F0ZFV1NTkyZndsenpQT29qeU54d3Zu?= =?utf-8?B?TjZCN0tvMHE1RzBCcDluaVdNd2RpKy9RKzlTL296dHJmMGhLeHlJUndIQXZp?= =?utf-8?B?SStNNy9YY2s3NWdkaWNwMC84NUU4d0drVlhqdUgxcG1saERuRmJLa29LbU96?= =?utf-8?B?dWhjR2p2YmFCT1FWS0t3QnFOdHJkSWNGSm5pTFhwSXpWQWtsQ1JZa2s4TXNZ?= =?utf-8?B?aEZEekd6bC9lQzhsVk10Vk9PRlgvd1pBV2VHTHY1N3JjQW5veU1oZjh5U3dG?= =?utf-8?B?UWFyeHdUbFNhWU81UVJnaWlDTTBSSHRsRDFFWG1VVU9pNnBrUGtJL0pkZzN1?= =?utf-8?B?VUpVTDBNZ2pjNjRmYU5meGFUaThjZDZJb1diSC8wL0V2RXVCckJtQzhlaFh2?= =?utf-8?B?QlJKcWRTWW1reW9KUnRON1h4YWVvakl1SDhDKzhKOTgzVE51aU1pbTA2eW0r?= =?utf-8?B?THQ0ODZQWnRUd2J4dEhRVGJTUVNTR3B2V1dyNldtRDBCby9pZ2k0dEpKZTFF?= =?utf-8?B?UmdYaVJxOUJCNVNsRm9LOFFZcGRlOWxvaThFbGl0MkM0bFRCRnErYWtXazl1?= =?utf-8?B?L2QxZW8xTEVtejBpYnZ5b3gvWnB0TFlmUVVxUW1OTjdNTlZYYXFoTVBGR0lq?= =?utf-8?B?OFNOdUx3R2xnSS9POXFxMDNFUllzSldJbHNNUVB3U0R5OW9HNXZmQm1sV1Vo?= =?utf-8?B?RktkRnRta1V6QXNsU3Q0cmtEd3p6WC9KQjVJVUNXbGd6d1p0ZWowRmRwdEdo?= =?utf-8?B?QmVpTlV4RUtmMm5JcGZ0TW1US1VacUJjeDU4dEtjc3Z0Z1hnL2taeHVPSDV0?= =?utf-8?B?bnZVdjJVMXQ0cFJyNGFxYmVzN1NUbkRPRmI0bklZOWlQUWFtT2NMM25YbHho?= =?utf-8?B?cUNJZklXcGNMT3JvUytKeURtTzFsMGQzUXVlZHJQL1ZwQ1V4NXQ2V3daMnRF?= =?utf-8?B?ekdYT1RFdXVDNkY2Rk5vb0lzQjRoZnlCOW9wLytDSGV2M1c5SWZzUnpPNlFS?= =?utf-8?B?ZW9GbHcxQmhRZG4yUng5N3ZZckQvU01nNFlRS3lFMG9XTUwxV093UkpvdGVn?= =?utf-8?B?dFJvVWtFT1c1bGxrakNERURIVjBZLy96LzFEc0tiK3RROHh3U2tuWXVJeEEw?= =?utf-8?B?YW9SdGp4YitoRTRxU043Nm9oaC9BOHUxUXhhdHF1L2c1OVZWL3YyVWlGT0dO?= =?utf-8?B?czgyZ3NPRUFJQzJtbFhSMVM0T3p4ZDhpK2w2bGJhelZKaFFHV1c2ekxZUUtO?= =?utf-8?B?L2VGVkJ2Y0lpUk91VEdkdTB5UGIzYklRc2NnSFROdHIvZWZDdkw4cDc0Tkkx?= =?utf-8?B?eEVuVGxZU2FIWms2L2hGN1JydkJENU1RNFRYOHNYdmhuT3VuR0RseGtUbzdG?= =?utf-8?B?aVliTkFaTVpwc2R1YmlXRGZHOFA3WW40aVhJYkVLekJuY2dRc3RVK2haQ25J?= =?utf-8?B?aVQ5R1hyVWwrS2pDdEl0T0N1YUluc2VoNFZHTDNpWDREMlFKSTFNV3FNRjBp?= =?utf-8?B?c05HN3EwYlJXVjQ3SG1zWHN5Y0EzbHRTaTVqK282UjVwbGJBMm9acldiNEUv?= =?utf-8?B?MFFFQ2xuaWg3Um0yODZ4djBiWkRQeUtSYThTdENtcUZ1WFhpaUtUcHlCTHNm?= =?utf-8?B?V1VnYkFQM01Mb2ZYdHlRZVRCUVBTdE9IQlBaZ25pSnhydk9CZWY1YzZrc0tG?= =?utf-8?Q?F+gKzk8WCEmmr9MgSUDTIggCrNLkIWSr?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR12MB0156;6:BujyLianOVsfXZrO+knv3M5F/Jc2SgQUYyaq3F6U2xIbMjnyIAMjLwWOVCzRz1YRdHgJiWlvbBivg+DnwKM3DAMoj4BXjYmpLpSxxOW+L9de2PXNK5fcIIOmjHDHmyX6EZk6GAGReoLn038l3iVNhCjCrOGth+m2O7kAn74p2Jxx2+p49HcI4xsu7I+7iYb3fG5FGCaduPPjHAmE0gGw5YIy2snzJD4Cfr+pDTSi8Mze5qrcsSYg7XLidFEz4wG4OzNE/roVKU5VY5IJAbklrptqqRsSOAzbjzFvb184Gx5yzU1l4QA+HwCqR4KOnLNkFzRzVlkjJNNkWUqOZ2Nmig==;5:+Jer6H4AA8IFwb0bm3+PA38Lxc7eZmJPpSN0PXesJNZ5B/gH3hDMMiGb00zz6ezs+YU9IwcCoEqtGpTlDG4BJfJK2WOHT91vN8rB2ubteIpFYdZssebg2AJ4N3VYTSsK3fDIu4JkNFO3PKvSqPHyoA==;24:vlNUmj6MZM0T/ohNrXXawrf9cfCYFQKqZCPbUFPqRpu58jVOpSjnZjAIvXOln6T7NM4jVbebAb22JyW9D8lFMWwIaCTdL+rNlx+GSPP8KUw=;7:BvY4M8pm77Csw5CrhWohoffH91/WepV8aKduaom4fUQ51CfUDtaL1isCO6IVDz2l1UQMs9mo1IEx7H0rNgUrfth8/4IKRaM9TIXqJYpgoeTwfd8ouDfqoFNIkZHGR+3KLaenkZT3BRfK3tmr0aWmSzzQcLQqQOyM24hzeAGaAt8KnEqXDOu06vAnBGgBFEgAXZIW9VI01W6HDZu7pT/FiKJq3a3YvaRqP7uEmyLrLzk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM2PR12MB0156;20:DtzT9LD/haJx/TMPzqJYAp5oWzZKI9YnoxmUtLHa58KzBvgq+aQ2+aImeBxh0CKzJWKVU2ezUI5Vj5FRyzvJGiE9SMR+5iZPtD9tNVQeROCvU23mtfDTh8Uum18v7fYP499NL86+fvdqmzZn06GnsKesU+XeXcvlr18Wp3vVl6zLZ+u//XQo3lr2lPIbuDgdj9ABwEiWXF4qzhjwJ2tO11SCFeWhhd9X54MIZFZX5S2ldcIvHgYKzG7YMZTs5b4x X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2017 16:16:12.9791 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0156 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/20/2017 02:34 AM, Borislav Petkov wrote: > On Tue, Sep 19, 2017 at 08:50:20AM -0500, Brijesh Singh wrote: >> "..shared_aligned" section does not start and end with page-size alignment. > > Nowhere in the code there's a comment saying: "This percpu section really must > be page-size aligned because ." You need to be more verbose > with requirements like that. > I will add that comment. > Also, you're ending up needing a whole page per-CPU for those variables. > And now with the alignment before and after, you have worst-case two > pages fragmentation of percpu memory and percpu memory is a rather > limited resource AFAIR. > > If only there were a alloc_percpu_page()... > >> Since the C-bit works on PAGE_SIZE alignment hence the "..unencrypted" section > > Btw, call that section "..decrypted" and everywhere do > s/unencrypted/decrypted/g. > Will do >> starts and ends with page-size alignment. The closest I can find is >> "..page_aligned" but again it does not end with page-size alignment. >> >> Additionally, since we clear the C-bit from unencrypted section hence we >> should avoid overloading the existing section -- we don't want to expose more >> than we wish. > > Add that to the comment too. > Will do